Class SuperimposedStore<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 SuperimposedStore<N extends Comparable<N>> extends ComposingStore<N>
SuperimposedStore
  • Field Details

    • myColFirst

      private final int myColFirst
    • myColLimit

      private final int myColLimit
    • myDiff

      private final MatrixStore<N extends Comparable<N>> myDiff
    • myRowFirst

      private final int myRowFirst
    • myRowLimit

      private final int myRowLimit
  • Constructor Details

  • Method Details

    • doubleValue

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

      public N get(int row, int col)
    • multiply

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

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

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

      public MatrixStore<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 ElementsSupplier<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> consumer)
    • 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.
    • isCovered

      private boolean isCovered(int row, int col)
    • isCovered

      private boolean isCovered(long row, long col)