Class ComplexMatrix

    • Constructor Summary

      Constructors 
      Constructor Description
      ComplexMatrix​(int rows, int cols)  
      ComplexMatrix​(int rows, int cols, org.apache.commons.math.complex.Complex... values)  
      ComplexMatrix​(Matrix<org.apache.commons.math.complex.Complex> matrix)  
      ComplexMatrix​(org.apache.commons.math.complex.Complex[][] data)  
      ComplexMatrix​(org.apache.commons.math.linear.FieldMatrix<org.apache.commons.math.complex.Complex> matrix)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ComplexMatrix add​(Matrix<org.apache.commons.math.complex.Complex> rhs)
      Adds the given matrix to this one.
      ComplexMatrix add​(org.apache.commons.math.complex.Complex rhs)
      Add the given value to each element in this matrix, returning the result.
      void addToElement​(int row, int col, org.apache.commons.math.complex.Complex value)
      Replace the value of an element with itself plus a given value.
      ComplexMatrix appendCols​(Matrix<org.apache.commons.math.complex.Complex> cols)
      Creates a new matrix consisting of the given columns appended to the right of this matrix.
      ComplexMatrix appendRows​(Matrix<org.apache.commons.math.complex.Complex> rows)
      Creates a new matrix consisting of the given rows appended to the bottom of this matrix.
      int cols()
      Returns the number of columns in the matrix.
      ComplexMatrix copy()
      Returns a deep copy of the matrix.
      ComplexMatrix divide​(org.apache.commons.math.complex.Complex rhs)
      Divides all elements in this matrix by the given value.
      void divideElement​(int row, int col, org.apache.commons.math.complex.Complex value)
      Replace the value of an element with itself divided by a given value.
      ComplexMatrix elementDivide​(Matrix<org.apache.commons.math.complex.Complex> rhs)
      Performs element-wise division of this matrix by the specified matrix (divides each element in this matrix by its corresponding element in the other).
      ComplexMatrix elementMultiply​(Matrix<org.apache.commons.math.complex.Complex> rhs)
      Computes the element-wise product of this matrix with another (this .* other).
      org.apache.commons.math.linear.FieldMatrix<org.apache.commons.math.complex.Complex> fieldMatrix()  
      org.apache.commons.math.complex.Complex get​(int row, int col)
      Returns the element at the given indices.
      org.apache.commons.math.complex.Complex[] getColArray​(int col)
      Returns the values in a single column as an array.
      ComplexMatrix getColMatrix​(int col)
      Returns a single column as a column matrix.
      ComplexMatrix getColSums()
      Returns a row matrix of the sums of each column in this matrix.
      org.apache.commons.math.complex.Complex[][] getData()
      Returns all elements as a 2-dimensional array.
      org.apache.commons.math.complex.Complex getDeterminant()
      Returns the determinant of the matrix (only for square matrices).
      ComplexMatrix getDiagonal()
      Returns the diagonal values of the square matrix as a column matrix.
      org.apache.commons.math.complex.Complex[] getFlatData()
      Returns all elements in a 1-dimensional array.
      LU<org.apache.commons.math.complex.Complex> getLU()
      Computes and returns the LU decomposition of this matrix (only for square matrices).
      QR<org.apache.commons.math.complex.Complex> getQR()
      Computes and returns the QR decomposition of this matrix.
      org.apache.commons.math.complex.Complex[] getRowArray​(int row)
      Returns the values in a single row as an array.
      ComplexMatrix getRowMatrix​(int row)
      Returns a single row as a row matrix.
      ComplexMatrix getRowSums()
      Returns a column matrix of the sums of each row in this matrix.
      ComplexMatrix getSubMatrix​(int[] rows, int[] cols)
      Returns a sub-matrix containing only the specified rows and columns from this matrix.
      ComplexMatrix getSubMatrix​(int startRow, int endRow, int startCol, int endCol)
      Returns a sub-matrix containing only the rows and columns specified in the given ranges (inclusive).
      org.apache.commons.math.complex.Complex getTrace()
      Returns the trace of the matrix (sum of diagonal elements).
      ComplexMatrix invert()
      Inverts the matrix and returns the result (only for square matrices).
      boolean isSingular()
      Returns whether the matrix is singular (has no inverse).
      ComplexMatrix leftDivide​(Matrix<org.apache.commons.math.complex.Complex> rhs)
      Multiplies the supplied matrix by the inverse of this matrix.
      ComplexMatrix leftDivide​(org.apache.commons.math.complex.Complex lhs)
      Divides the given value by each element in the matrix returning a matrix of the results.
      ComplexMatrix leftElementDivide​(Matrix<org.apache.commons.math.complex.Complex> lhs)
      Performs element-wise division of the specified matrix by this matrix (divides each element in the supplied matrix by its corresponding element in this matrix).
      ComplexMatrix leftElementMultiply​(Matrix<org.apache.commons.math.complex.Complex> lhs)
      Computes the element-wise product of another matrix with this matrix (other * this).
      ComplexMatrix leftMultiply​(Matrix<org.apache.commons.math.complex.Complex> lhs)
      Multiplies another matrix by this matrix (other * this).
      ComplexMatrix leftMultiply​(org.apache.commons.math.complex.Complex lhs)
      Pre-multiplies each element in this matrix by a scalar value.
      ComplexMatrix map​(GFunction<org.apache.commons.math.complex.Complex,​org.apache.commons.math.complex.Complex> mapper)
      Map all elements of this matrix into a new matrix according to the provided mapping function.
      ComplexMatrix map​(Matrix.EntryMapper<org.apache.commons.math.complex.Complex,​org.apache.commons.math.complex.Complex> mapper)
      Map all elements of this matrix into a new matrix according to the provided mapping function.
      void mapCol​(int col, Matrix.LinearMapper<org.apache.commons.math.complex.Complex> mapper)
      Maps the values of a specified column onto themselves.
      void mapColToCol​(int source, int dest, Matrix.LinearMapper<org.apache.commons.math.complex.Complex> mapper)
      Maps one column onto another.
      void mapElement​(int row, int col, GFunction<org.apache.commons.math.complex.Complex,​org.apache.commons.math.complex.Complex> mapper)
      Replace an element with the value of a function of itself.
      void mapRow​(int row, Matrix.LinearMapper<org.apache.commons.math.complex.Complex> mapper)
      Maps the values of a specified row onto themselves.
      void mapRowToRow​(int source, int dest, Matrix.LinearMapper<org.apache.commons.math.complex.Complex> mapper)
      Maps one row onto another.
      ComplexMatrix multiply​(Matrix<org.apache.commons.math.complex.Complex> rhs)
      Multiplies this matrix by another (this * other).
      ComplexMatrix multiply​(org.apache.commons.math.complex.Complex rhs)
      Multiplies each element in this matrix by a scalar value.
      void multiplyElement​(int row, int col, org.apache.commons.math.complex.Complex value)
      Replace the value of an element with itself multiplied by a given value.
      ComplexMatrix reshape​(int rows, int cols)
      Reshapes the elements in the matrix into a matrix of different dimensions (but same total number of elements), returning the result.
      int rows()
      Returns the number of rows in the matrix.
      void set​(int row, int col, org.apache.commons.math.complex.Complex value)
      Sets the matrix element at the given (row, col) position.
      void setAll​(org.apache.commons.math.complex.Complex value)
      Sets all elements to a single value.
      void setAll​(org.apache.commons.math.complex.Complex... values)
      Sets all elements in the matrix.
      void setDiagonal​(org.apache.commons.math.complex.Complex value)
      Sets the values along the leading diagonal to the same value.
      void setDiagonal​(org.apache.commons.math.complex.Complex... values)
      Sets the elements on the leading diagonal of the matrix.
      ComplexMatrix subtract​(Matrix<org.apache.commons.math.complex.Complex> rhs)
      Subtracts the given matrix from this one, returning the result.
      ComplexMatrix subtract​(org.apache.commons.math.complex.Complex rhs)
      Subtracts the given value from each element in this matrix, returning the result.
      void subtractFromElement​(int row, int col, org.apache.commons.math.complex.Complex value)
      Replace the value of an element with itself minus a given value.
      java.lang.String toString()
      Returns a textual representation of this matrix.
      ComplexMatrix transpose()
      Transposes the matrix and returns the result.
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        spliterator
    • Constructor Detail

      • ComplexMatrix

        public ComplexMatrix​(int rows,
                             int cols)
      • ComplexMatrix

        public ComplexMatrix​(int rows,
                             int cols,
                             org.apache.commons.math.complex.Complex... values)
      • ComplexMatrix

        public ComplexMatrix​(org.apache.commons.math.complex.Complex[][] data)
      • ComplexMatrix

        public ComplexMatrix​(org.apache.commons.math.linear.FieldMatrix<org.apache.commons.math.complex.Complex> matrix)
      • ComplexMatrix

        public ComplexMatrix​(Matrix<org.apache.commons.math.complex.Complex> matrix)
    • Method Detail

      • toString

        public java.lang.String toString()
        Description copied from interface: Matrix
        Returns a textual representation of this matrix.
        Specified by:
        toString in interface Matrix<org.apache.commons.math.complex.Complex>
        Overrides:
        toString in class java.lang.Object
        Returns:
        String representation
      • fieldMatrix

        public org.apache.commons.math.linear.FieldMatrix<org.apache.commons.math.complex.Complex> fieldMatrix()
      • rows

        public int rows()
        Description copied from interface: Matrix
        Returns the number of rows in the matrix.
        Specified by:
        rows in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        Number of rows
      • cols

        public int cols()
        Description copied from interface: Matrix
        Returns the number of columns in the matrix.
        Specified by:
        cols in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        Number of columns
      • get

        public org.apache.commons.math.complex.Complex get​(int row,
                                                           int col)
        Description copied from interface: Matrix
        Returns the element at the given indices.
        Specified by:
        get in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        row - Row index
        col - Column index
        Returns:
        Element at (row,col)
      • getData

        public org.apache.commons.math.complex.Complex[][] getData()
        Description copied from interface: Matrix
        Returns all elements as a 2-dimensional array.
        Specified by:
        getData in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        All elements
      • getFlatData

        public org.apache.commons.math.complex.Complex[] getFlatData()
        Description copied from interface: Matrix
        Returns all elements in a 1-dimensional array.
        Specified by:
        getFlatData in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        All elements
      • getDiagonal

        public ComplexMatrix getDiagonal()
        Description copied from interface: Matrix
        Returns the diagonal values of the square matrix as a column matrix.
        Specified by:
        getDiagonal in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        Diagonal values
      • set

        public void set​(int row,
                        int col,
                        org.apache.commons.math.complex.Complex value)
        Description copied from interface: Matrix
        Sets the matrix element at the given (row, col) position.
        Specified by:
        set in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        row - Row index
        col - Column index
        value - Element value to set
      • setAll

        public void setAll​(org.apache.commons.math.complex.Complex... values)
        Description copied from interface: Matrix
        Sets all elements in the matrix.
        Specified by:
        setAll in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        values - Elements
      • setDiagonal

        public void setDiagonal​(org.apache.commons.math.complex.Complex... values)
        Description copied from interface: Matrix
        Sets the elements on the leading diagonal of the matrix. Matrix must be square.
        Specified by:
        setDiagonal in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        values - Diagonal elements
      • setDiagonal

        public void setDiagonal​(org.apache.commons.math.complex.Complex value)
        Description copied from interface: Matrix
        Sets the values along the leading diagonal to the same value. Matrix must be square.
        Specified by:
        setDiagonal in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        value - Element value
      • setAll

        public void setAll​(org.apache.commons.math.complex.Complex value)
        Description copied from interface: Matrix
        Sets all elements to a single value.
        Specified by:
        setAll in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        value - Value to set
      • mapElement

        public void mapElement​(int row,
                               int col,
                               GFunction<org.apache.commons.math.complex.Complex,​org.apache.commons.math.complex.Complex> mapper)
        Description copied from interface: Matrix
        Replace an element with the value of a function of itself.
        Specified by:
        mapElement in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        row - Row index
        col - Column index
        mapper - Function for mapping
      • multiplyElement

        public void multiplyElement​(int row,
                                    int col,
                                    org.apache.commons.math.complex.Complex value)
        Description copied from interface: Matrix
        Replace the value of an element with itself multiplied by a given value.
        Specified by:
        multiplyElement in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        row - Row index
        col - Column index
        value - Factor to multiply by
      • divideElement

        public void divideElement​(int row,
                                  int col,
                                  org.apache.commons.math.complex.Complex value)
        Description copied from interface: Matrix
        Replace the value of an element with itself divided by a given value.
        Specified by:
        divideElement in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        row - Row index
        col - Column index
        value - Factor to divide by
      • addToElement

        public void addToElement​(int row,
                                 int col,
                                 org.apache.commons.math.complex.Complex value)
        Description copied from interface: Matrix
        Replace the value of an element with itself plus a given value.
        Specified by:
        addToElement in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        row - Row index
        col - Column index
        value - Value to add
      • subtractFromElement

        public void subtractFromElement​(int row,
                                        int col,
                                        org.apache.commons.math.complex.Complex value)
        Description copied from interface: Matrix
        Replace the value of an element with itself minus a given value.
        Specified by:
        subtractFromElement in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        row - Row index
        col - Column index
        value - Value to subtract
      • mapRow

        public void mapRow​(int row,
                           Matrix.LinearMapper<org.apache.commons.math.complex.Complex> mapper)
        Description copied from interface: Matrix
        Maps the values of a specified row onto themselves.
        Specified by:
        mapRow in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        row - Row index to map
        mapper - Function the defines mapping
      • mapCol

        public void mapCol​(int col,
                           Matrix.LinearMapper<org.apache.commons.math.complex.Complex> mapper)
        Description copied from interface: Matrix
        Maps the values of a specified column onto themselves.
        Specified by:
        mapCol in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        col - Column index to map
        mapper - Function the defines mapping
      • mapRowToRow

        public void mapRowToRow​(int source,
                                int dest,
                                Matrix.LinearMapper<org.apache.commons.math.complex.Complex> mapper)
        Description copied from interface: Matrix
        Maps one row onto another.
        Specified by:
        mapRowToRow in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        source - Source row index
        dest - Destination row index
        mapper - Function that defines mapping
      • mapColToCol

        public void mapColToCol​(int source,
                                int dest,
                                Matrix.LinearMapper<org.apache.commons.math.complex.Complex> mapper)
        Description copied from interface: Matrix
        Maps one column onto another.
        Specified by:
        mapColToCol in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        source - Source column index
        dest - Destination column index
        mapper - Function that defines mapping
      • getRowArray

        public org.apache.commons.math.complex.Complex[] getRowArray​(int row)
        Description copied from interface: Matrix
        Returns the values in a single row as an array.
        Specified by:
        getRowArray in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        row - Row index
        Returns:
        Array of values
      • getColArray

        public org.apache.commons.math.complex.Complex[] getColArray​(int col)
        Description copied from interface: Matrix
        Returns the values in a single column as an array.
        Specified by:
        getColArray in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        col - Column index
        Returns:
        Array of values
      • getRowMatrix

        public ComplexMatrix getRowMatrix​(int row)
        Description copied from interface: Matrix
        Returns a single row as a row matrix.
        Specified by:
        getRowMatrix in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        row - Row index
        Returns:
        Row matrix
      • getColMatrix

        public ComplexMatrix getColMatrix​(int col)
        Description copied from interface: Matrix
        Returns a single column as a column matrix.
        Specified by:
        getColMatrix in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        col - Column index
        Returns:
        Column matrix
      • multiply

        public ComplexMatrix multiply​(Matrix<org.apache.commons.math.complex.Complex> rhs)
        Description copied from interface: Matrix
        Multiplies this matrix by another (this * other).
        Specified by:
        multiply in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rhs - Right-hand side of multiplication
        Returns:
        Result of multiplication
      • leftMultiply

        public ComplexMatrix leftMultiply​(Matrix<org.apache.commons.math.complex.Complex> lhs)
        Description copied from interface: Matrix
        Multiplies another matrix by this matrix (other * this).
        Specified by:
        leftMultiply in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        lhs - Matrix to multiply (left-hand side)
        Returns:
        Result of multiplication
      • multiply

        public ComplexMatrix multiply​(org.apache.commons.math.complex.Complex rhs)
        Description copied from interface: Matrix
        Multiplies each element in this matrix by a scalar value.
        Specified by:
        multiply in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rhs - Scalar value.
        Returns:
        Result of multiplication
      • leftMultiply

        public ComplexMatrix leftMultiply​(org.apache.commons.math.complex.Complex lhs)
        Description copied from interface: Matrix
        Pre-multiplies each element in this matrix by a scalar value.
        Specified by:
        leftMultiply in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        lhs - Scalar value.
        Returns:
        Result of multiplication
      • elementMultiply

        public ComplexMatrix elementMultiply​(Matrix<org.apache.commons.math.complex.Complex> rhs)
        Description copied from interface: Matrix
        Computes the element-wise product of this matrix with another (this .* other).
        Specified by:
        elementMultiply in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rhs - Matrix to multiply by (right-hand side)
        Returns:
        Result of multiplication
      • leftElementMultiply

        public ComplexMatrix leftElementMultiply​(Matrix<org.apache.commons.math.complex.Complex> lhs)
        Description copied from interface: Matrix
        Computes the element-wise product of another matrix with this matrix (other * this).
        Specified by:
        leftElementMultiply in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        lhs - Matrix to multiply (left-hand side)
        Returns:
        Result of multiplication
      • elementDivide

        public ComplexMatrix elementDivide​(Matrix<org.apache.commons.math.complex.Complex> rhs)
        Description copied from interface: Matrix
        Performs element-wise division of this matrix by the specified matrix (divides each element in this matrix by its corresponding element in the other).
        Specified by:
        elementDivide in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rhs - Matrix to divide by
        Returns:
        Result of division
      • leftElementDivide

        public ComplexMatrix leftElementDivide​(Matrix<org.apache.commons.math.complex.Complex> lhs)
        Description copied from interface: Matrix
        Performs element-wise division of the specified matrix by this matrix (divides each element in the supplied matrix by its corresponding element in this matrix).
        Specified by:
        leftElementDivide in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        lhs - Matrix to divide
        Returns:
        Result of division
      • divide

        public ComplexMatrix divide​(org.apache.commons.math.complex.Complex rhs)
        Description copied from interface: Matrix
        Divides all elements in this matrix by the given value.
        Specified by:
        divide in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rhs - Value to divide by
        Returns:
        Result of division
      • leftDivide

        public ComplexMatrix leftDivide​(org.apache.commons.math.complex.Complex lhs)
        Description copied from interface: Matrix
        Divides the given value by each element in the matrix returning a matrix of the results.
        Specified by:
        leftDivide in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        lhs - Value to be divided
        Returns:
        Result of division
      • add

        public ComplexMatrix add​(Matrix<org.apache.commons.math.complex.Complex> rhs)
        Description copied from interface: Matrix
        Adds the given matrix to this one. (Adds each element with its corresponding element).
        Specified by:
        add in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rhs - Matrix to add
        Returns:
        Result of addition
      • add

        public ComplexMatrix add​(org.apache.commons.math.complex.Complex rhs)
        Description copied from interface: Matrix
        Add the given value to each element in this matrix, returning the result.
        Specified by:
        add in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rhs - Value to add
        Returns:
        Result of addition
      • subtract

        public ComplexMatrix subtract​(Matrix<org.apache.commons.math.complex.Complex> rhs)
        Description copied from interface: Matrix
        Subtracts the given matrix from this one, returning the result.
        Specified by:
        subtract in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rhs - Matrix to subtract
        Returns:
        Result of subtraction
      • subtract

        public ComplexMatrix subtract​(org.apache.commons.math.complex.Complex rhs)
        Description copied from interface: Matrix
        Subtracts the given value from each element in this matrix, returning the result.
        Specified by:
        subtract in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rhs - Value to subtract
        Returns:
        Result of subtraction
      • map

        public ComplexMatrix map​(Matrix.EntryMapper<org.apache.commons.math.complex.Complex,​org.apache.commons.math.complex.Complex> mapper)
        Description copied from interface: Matrix
        Map all elements of this matrix into a new matrix according to the provided mapping function.
        Specified by:
        map in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        mapper - Mapping function
        Returns:
        Mapped matrix
      • map

        public ComplexMatrix map​(GFunction<org.apache.commons.math.complex.Complex,​org.apache.commons.math.complex.Complex> mapper)
        Description copied from interface: Matrix
        Map all elements of this matrix into a new matrix according to the provided mapping function.
        Specified by:
        map in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        mapper - Mapping function
        Returns:
        Mapped matrix
      • copy

        public ComplexMatrix copy()
        Description copied from interface: Matrix
        Returns a deep copy of the matrix.
        Specified by:
        copy in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        Copy of matrix
      • getSubMatrix

        public ComplexMatrix getSubMatrix​(int[] rows,
                                          int[] cols)
        Description copied from interface: Matrix
        Returns a sub-matrix containing only the specified rows and columns from this matrix.
        Specified by:
        getSubMatrix in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rows - Array of row indices
        cols - Array of column indices
        Returns:
        Sub-matrix
      • getSubMatrix

        public ComplexMatrix getSubMatrix​(int startRow,
                                          int endRow,
                                          int startCol,
                                          int endCol)
        Description copied from interface: Matrix
        Returns a sub-matrix containing only the rows and columns specified in the given ranges (inclusive).
        Specified by:
        getSubMatrix in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        startRow - Start of row range
        endRow - End of row range
        startCol - Start of column range
        endCol - End of column range
        Returns:
        Sub-matrix
      • appendRows

        public ComplexMatrix appendRows​(Matrix<org.apache.commons.math.complex.Complex> rows)
        Description copied from interface: Matrix
        Creates a new matrix consisting of the given rows appended to the bottom of this matrix.
        Specified by:
        appendRows in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rows - Rows to append (must match column dimension)
        Returns:
        Combined matrix
      • appendCols

        public ComplexMatrix appendCols​(Matrix<org.apache.commons.math.complex.Complex> cols)
        Description copied from interface: Matrix
        Creates a new matrix consisting of the given columns appended to the right of this matrix.
        Specified by:
        appendCols in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        cols - Columns to append (must match row dimension)
        Returns:
        Combined matrix
      • isSingular

        public boolean isSingular()
        Description copied from interface: Matrix
        Returns whether the matrix is singular (has no inverse).
        Specified by:
        isSingular in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        Singular?
      • getDeterminant

        public org.apache.commons.math.complex.Complex getDeterminant()
        Description copied from interface: Matrix
        Returns the determinant of the matrix (only for square matrices).
        Specified by:
        getDeterminant in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        Determinant value
      • getTrace

        public org.apache.commons.math.complex.Complex getTrace()
        Description copied from interface: Matrix
        Returns the trace of the matrix (sum of diagonal elements).
        Specified by:
        getTrace in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        Trace value
      • invert

        public ComplexMatrix invert()
        Description copied from interface: Matrix
        Inverts the matrix and returns the result (only for square matrices).
        Specified by:
        invert in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        Inverted matrix
      • transpose

        public ComplexMatrix transpose()
        Description copied from interface: Matrix
        Transposes the matrix and returns the result.
        Specified by:
        transpose in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        Transposed matrix
      • reshape

        public ComplexMatrix reshape​(int rows,
                                     int cols)
        Description copied from interface: Matrix
        Reshapes the elements in the matrix into a matrix of different dimensions (but same total number of elements), returning the result.

        rows * cols must equal this.size().

        Specified by:
        reshape in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rows - New number of rows
        cols - New number of columns
        Returns:
        Reshaped matrix
      • leftDivide

        public ComplexMatrix leftDivide​(Matrix<org.apache.commons.math.complex.Complex> rhs)
        Description copied from interface: Matrix
        Multiplies the supplied matrix by the inverse of this matrix.
        Specified by:
        leftDivide in interface Matrix<org.apache.commons.math.complex.Complex>
        Parameters:
        rhs - Matrix to be "divided"
        Returns:
        Result of division
      • getQR

        public QR<org.apache.commons.math.complex.Complex> getQR()
        Description copied from interface: Matrix
        Computes and returns the QR decomposition of this matrix.
        Specified by:
        getQR in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        QR Decomposition
      • getLU

        public LU<org.apache.commons.math.complex.Complex> getLU()
        Description copied from interface: Matrix
        Computes and returns the LU decomposition of this matrix (only for square matrices).
        Specified by:
        getLU in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        LU Decomposition
      • getRowSums

        public ComplexMatrix getRowSums()
        Description copied from interface: Matrix
        Returns a column matrix of the sums of each row in this matrix.
        Specified by:
        getRowSums in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        Column matrix of sums
      • getColSums

        public ComplexMatrix getColSums()
        Description copied from interface: Matrix
        Returns a row matrix of the sums of each column in this matrix.
        Specified by:
        getColSums in interface Matrix<org.apache.commons.math.complex.Complex>
        Returns:
        Row matrix of sums