org.ojalgo.matrix.store
Class BigDenseStore

java.lang.Object
  extended by org.ojalgo.array.BigArray
      extended by org.ojalgo.matrix.store.BigDenseStore
All Implemented Interfaces:
Serializable, Access1D<BigDecimal>, Access2D<BigDecimal>, CholeskyDecomposition.Store<BigDecimal>, LUDecomposition.Store<BigDecimal>, QRDecomposition.Store<BigDecimal>, MatrixStore<BigDecimal>, PhysicalStore<BigDecimal>

public final class BigDenseStore
extends BigArray
implements PhysicalStore<BigDecimal>, CholeskyDecomposition.Store<BigDecimal>, LUDecomposition.Store<BigDecimal>, QRDecomposition.Store<BigDecimal>

A BigDecimal implementation of PhysicalStore.

Author:
apete
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.ojalgo.matrix.store.PhysicalStore
PhysicalStore.Factory<N extends Number>
 
Nested classes/interfaces inherited from interface org.ojalgo.matrix.store.MatrixStore
MatrixStore.Builder<N extends Number>
 
Field Summary
static PhysicalStore.Factory<BigDecimal> FACTORY
           
 int length
           
 
Method Summary
 BigDecimal aggregateAll(ChainableAggregator aVisitor)
           
 BigDecimal aggregateAll(CollectableAggregator aVisitor)
           
 Array1D<N> asArray1D()
           A utility facade that conveniently/consistently presents the BasicArray as a one-dimensional array.
 Array2D<BigDecimal> asArray2D()
           
 Array2D<N> asArray2D(int aRowDim, int aColDim)
           A utility facade that conveniently/consistently presents the BasicArray as a two-dimensional array.
 ArrayAnyD<N> asArrayAnyD(int[] aStructure)
           A utility facade that conveniently/consistently presents the BasicArray as a multi-dimensional array.
 Array1D<BigDecimal> asList()
           
 MatrixStore.Builder<BigDecimal> builder()
           
 void caxpy(BigDecimal aSclrA, int aColX, int aColY, int aFirstRow)
           column a * x plus y
 boolean computeInPlaceCholesky(boolean checkForSPD)
           
 LUDecomposition.Pivot computeInPlaceLU(boolean assumeNoPivotingRequired)
           
 void computeInPlaceQR()
           
 BigDenseStore conjugate()
          Each call must produce a new instance.
 BigDenseStore copy()
          Each call must produce a new instance.
 double doubleValue(int aRow, int aCol)
           
 boolean equals(MatrixStore<BigDecimal> aStore, NumberContext aCntxt)
           
 boolean equals(Object anObj)
           
 void exchangeColumns(int aColA, int aColB)
           
 void exchangeRows(int aRowA, int aRowB)
           
 void extractAndTransform(MatrixStore<BigDecimal> aHouseholderColumnsStore, int aHouseholderColumnIndex, int aFirstTargetColumn, Object aWorkCopy)
           
 Householder<BigDecimal> extractHouseholderColumn(int aCol)
           
 void fillAll(BigDecimal aNmbr)
           
 void fillByMultiplying(MatrixStore<BigDecimal> aLeftArg, MatrixStore<BigDecimal> aRightArg)
           
 void fillColumn(int aRow, int aCol, BigDecimal aNmbr)
           
 void fillDiagonal(int aRow, int aCol, BigDecimal aNmbr)
           
 void fillMatching(Access2D<BigDecimal> aSource2D)
           
 void fillMatching(BigDecimal aLeftArg, BinaryFunction<BigDecimal> aFunc, MatrixStore<BigDecimal> aRightArg)
           Will replace the elements of [this] with the results of element wise invocation of the input binary funtion:
 void fillMatching(MatrixStore<BigDecimal> aLeftArg, BinaryFunction<BigDecimal> aFunc, BigDecimal aRightArg)
           Will replace the elements of [this] with the results of element wise invocation of the input binary funtion:
 void fillMatching(MatrixStore<BigDecimal> aLeftArg, BinaryFunction<BigDecimal> aFunc, MatrixStore<BigDecimal> aRightArg)
           Will replace the elements of [this] with the results of element wise invocation of the input binary funtion:
 void fillRow(int aRow, int aCol, BigDecimal aNmbr)
           
 Householder<BigDecimal> generateHouseholderColumn(int newI, int newIj)
           
 Householder<BigDecimal> generateHouseholderRow(int newIj, int newI)
           
 BigDecimal get(int aRow, int aCol)
           
 int getColDim()
           
 PhysicalStore.Factory<BigDecimal> getFactory()
           
 int getIndexOfLargestInColumn(int aRow, int aCol)
           
 int getIndexOfLargestInRow(int aRow, int aCol)
           
 int getMinDim()
           
 BigDecimal getNumber(int aRow, int aCol)
          Deprecated. Use get(int,int) instead
 int getRowDim()
           
 int hashCode()
           
 boolean isAbsolute(int aRow, int aCol)
           
 boolean isLowerLeftShaded()
           The lower (left) triangle is shaded leaving an upper Hessenberg matrix.
 boolean isReal(int aRow, int aCol)
           
 boolean isShaded()
           Either the lower (left) or the upper (right) triangles are shaded.
 boolean isUpperRightShaded()
           The upper (right) triangle is shaded leaving a lower Hessenberg matrix.
 boolean isZero(int aRow, int aCol)
           
 void maxpy(BigDecimal aSclrA, MatrixStore<BigDecimal> aMtrxX)
           matrix a * x plus y
 void modifyAll(UnaryFunction<BigDecimal> aFunc)
           
 void modifyColumn(int aRow, int aCol, UnaryFunction<BigDecimal> aFunc)
           
 void modifyDiagonal(int aRow, int aCol, UnaryFunction<BigDecimal> aFunc)
           
 void modifyRow(int aRow, int aCol, UnaryFunction<BigDecimal> aFunc)
           
 MatrixStore<BigDecimal> multiplyLeft(MatrixStore<BigDecimal> aStore)
           
 MatrixStore<BigDecimal> multiplyRight(MatrixStore<BigDecimal> aStore)
           
 void raxpy(BigDecimal aSclrA, int aRowX, int aRowY, int aFirstCol)
           row a * x plus y
 void set(int aRow, int aCol, BigDecimal aNmbr)
           
 void set(int aRow, int aCol, double aNmbr)
           
 void shadeLowerLeft()
           Shades the lower (left) triangle, leaving an upper Hessenberg matrix.
 void shadeUpperRight()
           Shades the upper (right) triangle, leaving a lower Hessenberg matrix.
 int size()
           
 int size()
           
 void substituteBackwards(Access2D<BigDecimal> aBody, boolean assumeOne, boolean transposed)
          Will solve the equation system [A][X]=[B] where: [aBody][this]=[this] is [A][X]=[B] ("this" is the right hand side, and it will be overwritten with the solution). [A] is upper/right triangular
 void substituteBackwards(MatrixStore<BigDecimal> aBody, boolean assumeOne)
          Deprecated. v29 Use substituteBackwards(Access2D,boolean,boolean) instead
 void substituteForwards(Access2D<BigDecimal> aBody, boolean assumeOne, boolean transposed)
          Will solve the equation system [A][X]=[B] where: [aBody][this]=[this] is [A][X]=[B] ("this" is the right hand side, and it will be overwritten with the solution). [A] is lower/left triangular
 void substituteForwards(MatrixStore<BigDecimal> aBody, boolean assumeOne)
          Deprecated. v29 Use substituteForwards(Access2D,boolean,boolean) instead
 double[][] toRawCopy()
           
 Scalar<BigDecimal> toScalar(int aRow, int aCol)
           
 String toString()
           
 void transformLeft(Householder<BigDecimal> aTransf)
           
 void transformLeft(Householder<BigDecimal> aTransf, int aFirstCol)
           
 void transformLeft(Rotation<BigDecimal> aTransf)
           As in MatrixStore.multiplyLeft(MatrixStore) where the left/parameter matrix is a plane rotation.
 void transformRight(Householder<BigDecimal> aTransf)
           
 void transformRight(Householder<BigDecimal> aTransf, int aFirstRow)
           
 void transformRight(Rotation<BigDecimal> aTransf)
           As in MatrixStore.multiplyRight(MatrixStore) where the right/parameter matrix is a plane rotation.
 BigDenseStore transpose()
          Each call must produce a new instance.
 void unshade()
          Unshades both the lower (left) and upper (right) triangles.
 void visitAll(AggregatorFunction<BigDecimal> aVisitor)
           
 void visitColumn(int aRow, int aCol, AggregatorFunction<BigDecimal> aVisitor)
           
 void visitDiagonal(int aRow, int aCol, AggregatorFunction<BigDecimal> aVisitor)
           
 void visitRow(int aRow, int aCol, AggregatorFunction<BigDecimal> aVisitor)
           
 
Methods inherited from class org.ojalgo.array.BigArray
doubleValue, exchange, fill, fill, fill, fill, get, getIndexOfLargest, getNumber, isAbsolute, isReal, isZero, modify, modify, modify, modify, modify, modify, searchAscending, set, set, sortAscending, toScalar, visit
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

FACTORY

public static final PhysicalStore.Factory<BigDecimal> FACTORY

length

public final int length
Method Detail

aggregateAll

public BigDecimal aggregateAll(ChainableAggregator aVisitor)
Specified by:
aggregateAll in interface MatrixStore<BigDecimal>

aggregateAll

public BigDecimal aggregateAll(CollectableAggregator aVisitor)
Specified by:
aggregateAll in interface MatrixStore<BigDecimal>

asArray2D

public Array2D<BigDecimal> asArray2D()

asList

public Array1D<BigDecimal> asList()
Specified by:
asList in interface PhysicalStore<BigDecimal>
Returns:
The elements of the physical store as a fixed size (1 dimensional) list. The elements may be accessed either row or colomn major.

builder

public final MatrixStore.Builder<BigDecimal> builder()
Specified by:
builder in interface MatrixStore<BigDecimal>

caxpy

public void caxpy(BigDecimal aSclrA,
                  int aColX,
                  int aColY,
                  int aFirstRow)
Description copied from interface: PhysicalStore

column a * x plus y

[this(*,aColY)] = aSclrA [this(*,aColX)] + [this(*,aColY)]

Specified by:
caxpy in interface PhysicalStore<BigDecimal>

computeInPlaceCholesky

public boolean computeInPlaceCholesky(boolean checkForSPD)
Specified by:
computeInPlaceCholesky in interface CholeskyDecomposition.Store<BigDecimal>

computeInPlaceLU

public LUDecomposition.Pivot computeInPlaceLU(boolean assumeNoPivotingRequired)
Specified by:
computeInPlaceLU in interface LUDecomposition.Store<BigDecimal>

computeInPlaceQR

public void computeInPlaceQR()
Specified by:
computeInPlaceQR in interface QRDecomposition.Store<BigDecimal>

conjugate

public BigDenseStore conjugate()
Description copied from interface: MatrixStore
Each call must produce a new instance.

Specified by:
conjugate in interface MatrixStore<BigDecimal>
Returns:
A new conjugated PhysicalStore copy.

copy

public BigDenseStore copy()
Description copied from interface: MatrixStore
Each call must produce a new instance.

Specified by:
copy in interface MatrixStore<BigDecimal>
Returns:
A new PhysicalStore copy.

doubleValue

public double doubleValue(int aRow,
                          int aCol)
Specified by:
doubleValue in interface Access2D<BigDecimal>

equals

public boolean equals(MatrixStore<BigDecimal> aStore,
                      NumberContext aCntxt)
Specified by:
equals in interface MatrixStore<BigDecimal>

equals

public boolean equals(Object anObj)
Overrides:
equals in class BigArray

exchangeColumns

public void exchangeColumns(int aColA,
                            int aColB)
Specified by:
exchangeColumns in interface PhysicalStore<BigDecimal>

exchangeRows

public void exchangeRows(int aRowA,
                         int aRowB)
Specified by:
exchangeRows in interface PhysicalStore<BigDecimal>

extractAndTransform

public void extractAndTransform(MatrixStore<BigDecimal> aHouseholderColumnsStore,
                                int aHouseholderColumnIndex,
                                int aFirstTargetColumn,
                                Object aWorkCopy)
Specified by:
extractAndTransform in interface QRDecomposition.Store<BigDecimal>
Parameters:
aHouseholderColumnsStore - The MatrixStore where the householder column is stored.
aHouseholderColumnIndex - the index of the householder column in aHouseholderColumnsStore.
aFirstTargetColumn - The first column of "this" to be transformed.
aWorkCopy - An array (values not set) for internal/temporary storage of the householder column.

extractHouseholderColumn

public Householder<BigDecimal> extractHouseholderColumn(int aCol)
Specified by:
extractHouseholderColumn in interface QRDecomposition.Store<BigDecimal>

fillAll

public void fillAll(BigDecimal aNmbr)
Specified by:
fillAll in interface PhysicalStore<BigDecimal>

fillByMultiplying

public void fillByMultiplying(MatrixStore<BigDecimal> aLeftArg,
                              MatrixStore<BigDecimal> aRightArg)
Specified by:
fillByMultiplying in interface PhysicalStore<BigDecimal>

fillColumn

public void fillColumn(int aRow,
                       int aCol,
                       BigDecimal aNmbr)
Specified by:
fillColumn in interface PhysicalStore<BigDecimal>

fillDiagonal

public void fillDiagonal(int aRow,
                         int aCol,
                         BigDecimal aNmbr)
Specified by:
fillDiagonal in interface PhysicalStore<BigDecimal>

fillMatching

public void fillMatching(Access2D<BigDecimal> aSource2D)
Specified by:
fillMatching in interface PhysicalStore<BigDecimal>

fillMatching

public void fillMatching(BigDecimal aLeftArg,
                         BinaryFunction<BigDecimal> aFunc,
                         MatrixStore<BigDecimal> aRightArg)
Description copied from interface: PhysicalStore

Will replace the elements of [this] with the results of element wise invocation of the input binary funtion:

this(i,j) = aFunc.invoke(aLeftArg,aRightArg(i,j))

Specified by:
fillMatching in interface PhysicalStore<BigDecimal>

fillMatching

public void fillMatching(MatrixStore<BigDecimal> aLeftArg,
                         BinaryFunction<BigDecimal> aFunc,
                         BigDecimal aRightArg)
Description copied from interface: PhysicalStore

Will replace the elements of [this] with the results of element wise invocation of the input binary funtion:

this(i,j) = aFunc.invoke(aLeftArg(i,j),aRightArg))

Specified by:
fillMatching in interface PhysicalStore<BigDecimal>

fillMatching

public void fillMatching(MatrixStore<BigDecimal> aLeftArg,
                         BinaryFunction<BigDecimal> aFunc,
                         MatrixStore<BigDecimal> aRightArg)
Description copied from interface: PhysicalStore

Will replace the elements of [this] with the results of element wise invocation of the input binary funtion:

this(i,j) = aFunc.invoke(aLeftArg(i,j),aRightArg(i,j))

Specified by:
fillMatching in interface PhysicalStore<BigDecimal>

fillRow

public void fillRow(int aRow,
                    int aCol,
                    BigDecimal aNmbr)
Specified by:
fillRow in interface PhysicalStore<BigDecimal>

generateHouseholderColumn

public Householder<BigDecimal> generateHouseholderColumn(int newI,
                                                         int newIj)
Specified by:
generateHouseholderColumn in interface PhysicalStore<BigDecimal>

generateHouseholderRow

public Householder<BigDecimal> generateHouseholderRow(int newIj,
                                                      int newI)
Specified by:
generateHouseholderRow in interface PhysicalStore<BigDecimal>

get

public BigDecimal get(int aRow,
                      int aCol)
Specified by:
get in interface Access2D<BigDecimal>

getColDim

public int getColDim()

getFactory

public PhysicalStore.Factory<BigDecimal> getFactory()
Specified by:
getFactory in interface MatrixStore<BigDecimal>

getIndexOfLargestInColumn

public int getIndexOfLargestInColumn(int aRow,
                                     int aCol)
Specified by:
getIndexOfLargestInColumn in interface PhysicalStore<BigDecimal>

getIndexOfLargestInRow

public int getIndexOfLargestInRow(int aRow,
                                  int aCol)
Specified by:
getIndexOfLargestInRow in interface PhysicalStore<BigDecimal>

getMinDim

public int getMinDim()

getNumber

@Deprecated
public BigDecimal getNumber(int aRow,
                                       int aCol)
Deprecated. Use get(int,int) instead


getRowDim

public int getRowDim()

hashCode

public int hashCode()
Overrides:
hashCode in class BigArray

isAbsolute

public boolean isAbsolute(int aRow,
                          int aCol)
Specified by:
isAbsolute in interface MatrixStore<BigDecimal>
See Also:
Scalar.isAbsolute()

isLowerLeftShaded

public boolean isLowerLeftShaded()
Description copied from interface: MatrixStore

The lower (left) triangle is shaded leaving an upper Hessenberg matrix.

Specified by:
isLowerLeftShaded in interface MatrixStore<BigDecimal>
See Also:
MatrixStore.isUpperRightShaded(), MatrixStore.isShaded(), PhysicalStore.shadeLowerLeft(), PhysicalStore.unshade()

isReal

public boolean isReal(int aRow,
                      int aCol)
Specified by:
isReal in interface MatrixStore<BigDecimal>
See Also:
Scalar.isReal()

isShaded

public boolean isShaded()
Description copied from interface: MatrixStore

Either the lower (left) or the upper (right) triangles are shaded.

Shading part of a MatrixStore causes that part to be ignored (as if it had zero valued elements) when doing matrix multiplication. It is possible to shade part of a PhysicalStore even though the shaded elements are not actually zero valued. Calling doubleValue(i, j), getNumber(i, j) or toScalar(i, j) will return the actual stored value.

Specified by:
isShaded in interface MatrixStore<BigDecimal>
See Also:
MatrixStore.isLowerLeftShaded(), MatrixStore.isUpperRightShaded(), PhysicalStore.unshade()

isUpperRightShaded

public boolean isUpperRightShaded()
Description copied from interface: MatrixStore

The upper (right) triangle is shaded leaving a lower Hessenberg matrix.

Specified by:
isUpperRightShaded in interface MatrixStore<BigDecimal>
See Also:
MatrixStore.isLowerLeftShaded(), MatrixStore.isShaded(), PhysicalStore.shadeUpperRight(), PhysicalStore.unshade()

isZero

public boolean isZero(int aRow,
                      int aCol)
Specified by:
isZero in interface MatrixStore<BigDecimal>
See Also:
Scalar.isZero()

maxpy

public void maxpy(BigDecimal aSclrA,
                  MatrixStore<BigDecimal> aMtrxX)
Description copied from interface: PhysicalStore

matrix a * x plus y

[this] = aSclrA [aMtrxX] + [this]

Specified by:
maxpy in interface PhysicalStore<BigDecimal>

modifyAll

public void modifyAll(UnaryFunction<BigDecimal> aFunc)
Specified by:
modifyAll in interface PhysicalStore<BigDecimal>

modifyColumn

public void modifyColumn(int aRow,
                         int aCol,
                         UnaryFunction<BigDecimal> aFunc)
Specified by:
modifyColumn in interface PhysicalStore<BigDecimal>

modifyDiagonal

public void modifyDiagonal(int aRow,
                           int aCol,
                           UnaryFunction<BigDecimal> aFunc)
Specified by:
modifyDiagonal in interface PhysicalStore<BigDecimal>

modifyRow

public void modifyRow(int aRow,
                      int aCol,
                      UnaryFunction<BigDecimal> aFunc)
Specified by:
modifyRow in interface PhysicalStore<BigDecimal>

multiplyLeft

public MatrixStore<BigDecimal> multiplyLeft(MatrixStore<BigDecimal> aStore)
Specified by:
multiplyLeft in interface MatrixStore<BigDecimal>

multiplyRight

public MatrixStore<BigDecimal> multiplyRight(MatrixStore<BigDecimal> aStore)
Specified by:
multiplyRight in interface MatrixStore<BigDecimal>

raxpy

public void raxpy(BigDecimal aSclrA,
                  int aRowX,
                  int aRowY,
                  int aFirstCol)
Description copied from interface: PhysicalStore

row a * x plus y

[this(aRowY,*)] = aSclrA [this(aRowX,*)] + [this(aRowY,*)]

Specified by:
raxpy in interface PhysicalStore<BigDecimal>

set

public void set(int aRow,
                int aCol,
                BigDecimal aNmbr)
Specified by:
set in interface PhysicalStore<BigDecimal>

set

public void set(int aRow,
                int aCol,
                double aNmbr)
Specified by:
set in interface PhysicalStore<BigDecimal>

shadeLowerLeft

public void shadeLowerLeft()
Description copied from interface: PhysicalStore

Shades the lower (left) triangle, leaving an upper Hessenberg matrix.

Specified by:
shadeLowerLeft in interface PhysicalStore<BigDecimal>
See Also:
PhysicalStore.unshade()

shadeUpperRight

public void shadeUpperRight()
Description copied from interface: PhysicalStore

Shades the upper (right) triangle, leaving a lower Hessenberg matrix.

Specified by:
shadeUpperRight in interface PhysicalStore<BigDecimal>
See Also:
PhysicalStore.unshade()

substituteBackwards

public void substituteBackwards(Access2D<BigDecimal> aBody,
                                boolean assumeOne,
                                boolean transposed)
Description copied from interface: PhysicalStore
Will solve the equation system [A][X]=[B] where:

Specified by:
substituteBackwards in interface PhysicalStore<BigDecimal>
Parameters:
aBody - The equation system body parameters [A]
assumeOne - true if aBody as ones on the diagonal
transposed - true if the upper/right part of aBody is actually stored in the lower/left part of the matrix.

substituteBackwards

@Deprecated
public void substituteBackwards(MatrixStore<BigDecimal> aBody,
                                           boolean assumeOne)
Deprecated. v29 Use substituteBackwards(Access2D,boolean,boolean) instead

Specified by:
substituteBackwards in interface PhysicalStore<BigDecimal>

substituteForwards

public void substituteForwards(Access2D<BigDecimal> aBody,
                               boolean assumeOne,
                               boolean transposed)
Description copied from interface: PhysicalStore
Will solve the equation system [A][X]=[B] where:

Specified by:
substituteForwards in interface PhysicalStore<BigDecimal>
Parameters:
aBody - The equation system body parameters [A]
assumeOne - true if aBody as ones on the diagonal
transposed - true if the lower/left part of aBody is actually stored in the upper/right part of the matrix.

substituteForwards

@Deprecated
public void substituteForwards(MatrixStore<BigDecimal> aBody,
                                          boolean assumeOne)
Deprecated. v29 Use substituteForwards(Access2D,boolean,boolean) instead

Specified by:
substituteForwards in interface PhysicalStore<BigDecimal>

toRawCopy

public double[][] toRawCopy()
Specified by:
toRawCopy in interface MatrixStore<BigDecimal>

toScalar

public Scalar<BigDecimal> toScalar(int aRow,
                                   int aCol)
Specified by:
toScalar in interface Access2D<BigDecimal>

transformLeft

public void transformLeft(Householder<BigDecimal> aTransf)
Specified by:
transformLeft in interface PhysicalStore<BigDecimal>

transformLeft

public void transformLeft(Householder<BigDecimal> aTransf,
                          int aFirstCol)
Specified by:
transformLeft in interface PhysicalStore<BigDecimal>

transformLeft

public void transformLeft(Rotation<BigDecimal> aTransf)
Description copied from interface: PhysicalStore

As in MatrixStore.multiplyLeft(MatrixStore) where the left/parameter matrix is a plane rotation.

Multiplying by a plane rotation from the left means that [this] gets two of its rows updated to new combinations of those two (current) rows.

There are two ways to transpose/invert a rotation. Either you negate the angle or you interchange the two indeces that define the rotation plane.

Specified by:
transformLeft in interface PhysicalStore<BigDecimal>
See Also:
PhysicalStore.transformRight(Rotation)

transformRight

public void transformRight(Householder<BigDecimal> aTransf)
Specified by:
transformRight in interface PhysicalStore<BigDecimal>

transformRight

public void transformRight(Householder<BigDecimal> aTransf,
                           int aFirstRow)
Specified by:
transformRight in interface PhysicalStore<BigDecimal>

transformRight

public void transformRight(Rotation<BigDecimal> aTransf)
Description copied from interface: PhysicalStore

As in MatrixStore.multiplyRight(MatrixStore) where the right/parameter matrix is a plane rotation.

Multiplying by a plane rotation from the right means that [this] gets two of its columns updated to new combinations of those two (current) columns.

There result is undefined if the two input indeces are the same (in which case the rotation plane is undefined).

Specified by:
transformRight in interface PhysicalStore<BigDecimal>
See Also:
PhysicalStore.transformLeft(Rotation)

transpose

public BigDenseStore transpose()
Description copied from interface: MatrixStore
Each call must produce a new instance.

Specified by:
transpose in interface MatrixStore<BigDecimal>
Returns:
A new transposed PhysicalStore copy.

unshade

public void unshade()
Description copied from interface: PhysicalStore
Unshades both the lower (left) and upper (right) triangles.

Specified by:
unshade in interface PhysicalStore<BigDecimal>
See Also:
PhysicalStore.shadeLowerLeft(), PhysicalStore.shadeUpperRight()

visitAll

public void visitAll(AggregatorFunction<BigDecimal> aVisitor)
Specified by:
visitAll in interface MatrixStore<BigDecimal>

visitColumn

public void visitColumn(int aRow,
                        int aCol,
                        AggregatorFunction<BigDecimal> aVisitor)
Specified by:
visitColumn in interface MatrixStore<BigDecimal>

visitDiagonal

public void visitDiagonal(int aRow,
                          int aCol,
                          AggregatorFunction<BigDecimal> aVisitor)
Specified by:
visitDiagonal in interface MatrixStore<BigDecimal>

visitRow

public void visitRow(int aRow,
                     int aCol,
                     AggregatorFunction<BigDecimal> aVisitor)
Specified by:
visitRow in interface MatrixStore<BigDecimal>

size

public int size()

asArray1D

public final Array1D<N> asArray1D()

A utility facade that conveniently/consistently presents the BasicArray as a one-dimensional array. Note that you will modify the actual array by accessing it through this facade.

Disregards the array structure, and simply treats it as one-domensional.


asArray2D

public final Array2D<N> asArray2D(int aRowDim,
                                  int aColDim)

A utility facade that conveniently/consistently presents the BasicArray as a two-dimensional array. Note that you will modify the actual array by accessing it through this facade.

If "this" has more than two dimensions then only the first plane of the first cube of the first... is used/accessed. If this only has one dimension then everything is assumed to be in the first column of the first plane of the first cube...


asArrayAnyD

public final ArrayAnyD<N> asArrayAnyD(int[] aStructure)

A utility facade that conveniently/consistently presents the BasicArray as a multi-dimensional array. Note that you will modify the actual array by accessing it through this facade.


size

public final int size()

toString

public String toString()
Overrides:
toString in class Object