java.lang.Object
dev.nm.algebra.linear.matrix.generic.matrixtype.ComplexMatrix
All Implemented Interfaces:
GenericMatrix<ComplexMatrix,Complex>, GenericMatrixAccess<Complex>, AbelianGroup<ComplexMatrix>, Monoid<ComplexMatrix>, Ring<ComplexMatrix>, VectorSpace<ComplexMatrix,Complex>, Table

public class ComplexMatrix extends Object implements GenericMatrix<ComplexMatrix,Complex>
This is a Complex matrix.
  • Constructor Details

    • ComplexMatrix

      public ComplexMatrix(int nRows, int nCols)
      Construct a Complex matrix.
      Parameters:
      nRows - the number of rows
      nCols - the number of columns
    • ComplexMatrix

      public ComplexMatrix(Complex[][] data)
      Construct a Complex matrix.
      Parameters:
      data - a matrix data of Complex numbers in a 2D array
    • ComplexMatrix

      public ComplexMatrix(double[][] data)
      Construct a Complex matrix.
      Parameters:
      data - a matrix data of doubles in a 2D array
  • Method Details

    • nRows

      public int nRows()
      Description copied from interface: Table
      Gets the number of rows. Rows count from 1.
      Specified by:
      nRows in interface Table
      Returns:
      the number of rows
    • nCols

      public int nCols()
      Description copied from interface: Table
      Gets the number of columns. Columns count from 1.
      Specified by:
      nCols in interface Table
      Returns:
      the number of columns
    • set

      public void set(int row, int col, Complex value)
      Description copied from interface: GenericMatrixAccess
      Set the matrix entry at [i,j] to a value. This is the only method that may change a matrix.
      Specified by:
      set in interface GenericMatrixAccess<Complex>
      Parameters:
      row - the row index
      col - the column index
      value - the value to set A[i,j] to
    • get

      public Complex get(int row, int col)
      Description copied from interface: GenericMatrixAccess
      Get the matrix entry at [i,j].
      Specified by:
      get in interface GenericMatrixAccess<Complex>
      Parameters:
      row - the row index
      col - the column index
      Returns:
      A[i,j]
    • add

      public ComplexMatrix add(ComplexMatrix that)
      Description copied from interface: AbelianGroup
      + : G × G → G
      Specified by:
      add in interface AbelianGroup<ComplexMatrix>
      Parameters:
      that - the object to be added
      Returns:
      this + that
    • minus

      public ComplexMatrix minus(ComplexMatrix that)
      Description copied from interface: AbelianGroup
      - : G × G → G

      The operation "-" is not in the definition of of an additive group but can be deduced. This function is provided for convenience purpose. It is equivalent to

      this.add(that.opposite())
      .
      Specified by:
      minus in interface AbelianGroup<ComplexMatrix>
      Parameters:
      that - the object to be subtracted (subtrahend)
      Returns:
      this - that
    • multiply

      public ComplexMatrix multiply(ComplexMatrix that)
      Description copied from interface: Monoid
      × : G × G → G
      Specified by:
      multiply in interface Monoid<ComplexMatrix>
      Parameters:
      that - the multiplicand
      Returns:
      this × that
    • scaled

      public ComplexMatrix scaled(Complex scalar)
      Description copied from interface: VectorSpace
      × : F × V → V

      The result of applying this function to a scalar, c, in F and v in V is denoted cv.

      Specified by:
      scaled in interface VectorSpace<ComplexMatrix,Complex>
      Parameters:
      scalar - a multiplier
      Returns:
      c * this
      See Also:
    • opposite

      public ComplexMatrix opposite()
      Description copied from interface: AbelianGroup
      For each a in G, there exists an element b in G such that a + b = b + a = 0. That is, it is the object such as
      this.add(this.opposite()) == this.ZERO
      Specified by:
      opposite in interface AbelianGroup<ComplexMatrix>
      Returns:
      -this, the additive opposite
      See Also:
    • ZERO

      public ComplexMatrix ZERO()
      Description copied from interface: AbelianGroup
      The additive element 0 in the group, such that for all elements a in the group, the equation 0 + a = a + 0 = a holds.
      Specified by:
      ZERO in interface AbelianGroup<ComplexMatrix>
      Returns:
      0, the additive identity
    • ONE

      public ComplexMatrix ONE()
      Description copied from interface: Monoid
      The multiplicative element 1 in the group such that for any elements a in the group, the equation 1 × a = a × 1 = a holds.
      Specified by:
      ONE in interface Monoid<ComplexMatrix>
      Returns:
      1
    • doubleValue

      public DenseMatrix doubleValue()
      Construct a DenseMatrix equivalent of this Complex matrix (rounded if necessary).
      Returns:
      a DenseMatrix equivalent
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object