Class ZeroStore<N extends Comparable<N>>

All Implemented Interfaces:
Group, Group.Additive<MatrixStore<N>>, NormedVectorSpace<MatrixStore<N>,N>, Operation, Operation.Addition<MatrixStore<N>>, Operation.Multiplication<MatrixStore<N>>, Operation.Subtraction<MatrixStore<N>>, ScalarOperation, ScalarOperation.Addition<MatrixStore<N>,N>, ScalarOperation.Division<MatrixStore<N>,N>, ScalarOperation.Multiplication<MatrixStore<N>,N>, ScalarOperation.Subtraction<MatrixStore<N>,N>, VectorSpace<MatrixStore<N>,N>, Matrix2D<N,MatrixStore<N>>, ElementsSupplier<N>, MatrixStore<N>, Access1D<N>, Access1D.Aggregatable<N>, Access1D.Sliceable<N>, Access1D.Visitable<N>, Access2D<N>, Access2D.Aggregatable<N>, Access2D.Collectable<N,TransformableRegion<N>>, Access2D.Sliceable<N>, Access2D.Visitable<N>, Operate2D<N,ElementsSupplier<N>>, Structure1D, Structure2D, Structure2D.Logical<Access2D<N>,MatrixStore<N>>, Structure2D.ReducibleTo1D<ElementsSupplier<N>>

final class ZeroStore<N extends Comparable<N>> extends FactoryStore<N>
ZeroStore
  • Constructor Details

  • Method Details

    • add

      public MatrixStore<N> add(MatrixStore<N> addend)
      Parameters:
      addend - What to add
      Returns:
      this + addend
    • conjugate

      public MatrixStore<N> conjugate()
      Description copied from interface: MatrixStore
      Returns the conjugate transpose of this matrix. The conjugate transpose is also known as adjoint matrix, adjugate matrix, hermitian adjoint or hermitian transpose. (The conjugate matrix is the complex conjugate of each element. This NOT what is returned here!)
      See Also:
    • doubleValue

      public double doubleValue(int aRow, int aCol)
      Description copied from interface: Access2D
      Extracts one element of this matrix as a double.
      Parameters:
      aRow - A row index.
      aCol - A column index.
      Returns:
      One matrix element
    • doubleValue

      public double doubleValue(long anInd)
    • firstInColumn

      public int firstInColumn(int col)
      Description copied from interface: Structure2D
      The default value is simply 0, and if all elements are zeros then this.countRows().
      Parameters:
      col - The column index
      Returns:
      The row index of the first non-zero element in the specified column
    • firstInRow

      public int firstInRow(int row)
      Description copied from interface: Structure2D
      The default value is simply 0, and if all elements are zeros then this.countColumns().
      Returns:
      The column index of the first non-zero element in the specified row
    • get

      public N get(int aRow, int aCol)
    • limitOfColumn

      public int limitOfColumn(int col)
      Description copied from interface: Structure2D
      The default value is simply this.countRows(), and if all elements are zeros then 0.
      Specified by:
      limitOfColumn in interface Structure2D
      Overrides:
      limitOfColumn in class AbstractStore<N extends Comparable<N>>
      Returns:
      The row index of the first zero element, after all non-zeros, in the specified column (index of the last non-zero + 1)
    • limitOfRow

      public int limitOfRow(int row)
      Description copied from interface: Structure2D
      The default value is simply this.countColumns(), and if all elements are zeros then 0.
      Specified by:
      limitOfRow in interface Structure2D
      Overrides:
      limitOfRow in class AbstractStore<N extends Comparable<N>>
      Returns:
      The column index of the first zero element, after all non-zeros, in the specified row (index of the last non-zero + 1)
    • multiply

      public void multiply(Access1D<N> right, TransformableRegion<N> target)
    • multiply

      public ZeroStore<N> multiply(double scalar)
      Returns:
      this * scalarMultiplicand.
    • multiply

      public ZeroStore<N> multiply(MatrixStore<N> right)
      Parameters:
      right - The multiplicand
      Returns:
      this * multiplicand.
    • multiply

      public ZeroStore<N> multiply(N scalar)
      Returns:
      this * multiplicand.
    • multiplyBoth

      public N multiplyBoth(Access1D<N> leftAndRight)
      Description copied from interface: MatrixStore
      Assumes [leftAndRight] is a vector and will calulate [leftAndRight]H[this][leftAndRight]
      Specified by:
      multiplyBoth in interface MatrixStore<N extends Comparable<N>>
      Overrides:
      multiplyBoth in class AbstractStore<N extends Comparable<N>>
      Parameters:
      leftAndRight - The argument vector
      Returns:
      A scalar (extracted from the resulting 1 x 1 matrix)
    • premultiply

      public ZeroStore<N> premultiply(Access1D<N> left)
      Description copied from interface: MatrixStore
      The premultiply method differs from multiply in 3 ways:
      1. The matrix positions are swapped - left/right.
      2. It does NOT return a MatrixStore but an ElementsSupplier instead.
      3. It accepts an Access1D as the argument left matrix.
      Parameters:
      left - The left matrix
      Returns:
      The matrix product
    • supplyTo

      public void supplyTo(TransformableRegion<N> receiver)
    • toScalar

      public Scalar<N> toScalar(int row, int col)
      Description copied from interface: Matrix2D
      Extracts one element of this matrix as a Scalar.
      Parameters:
      row - A row index.
      col - A column index.
      Returns:
      One matrix element as a Scalar.
    • transpose

      public MatrixStore<N> transpose()
      Returns:
      A transposed matrix instance.