|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.ojalgo.array.BigArray
org.ojalgo.matrix.store.BigDenseStore
public final class BigDenseStore
A BigDecimal implementation of PhysicalStore.
| 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 |
|---|
public static final PhysicalStore.Factory<BigDecimal> FACTORY
public final int length
| Method Detail |
|---|
public BigDecimal aggregateAll(ChainableAggregator aVisitor)
aggregateAll in interface MatrixStore<BigDecimal>public BigDecimal aggregateAll(CollectableAggregator aVisitor)
aggregateAll in interface MatrixStore<BigDecimal>public Array2D<BigDecimal> asArray2D()
public Array1D<BigDecimal> asList()
asList in interface PhysicalStore<BigDecimal>public final MatrixStore.Builder<BigDecimal> builder()
builder in interface MatrixStore<BigDecimal>
public void caxpy(BigDecimal aSclrA,
int aColX,
int aColY,
int aFirstRow)
PhysicalStorecolumn a * x plus y
[this(*,aColY)] = aSclrA [this(*,aColX)] + [this(*,aColY)]
caxpy in interface PhysicalStore<BigDecimal>public boolean computeInPlaceCholesky(boolean checkForSPD)
computeInPlaceCholesky in interface CholeskyDecomposition.Store<BigDecimal>public LUDecomposition.Pivot computeInPlaceLU(boolean assumeNoPivotingRequired)
computeInPlaceLU in interface LUDecomposition.Store<BigDecimal>public void computeInPlaceQR()
computeInPlaceQR in interface QRDecomposition.Store<BigDecimal>public BigDenseStore conjugate()
MatrixStore
conjugate in interface MatrixStore<BigDecimal>public BigDenseStore copy()
MatrixStore
copy in interface MatrixStore<BigDecimal>
public double doubleValue(int aRow,
int aCol)
doubleValue in interface Access2D<BigDecimal>
public boolean equals(MatrixStore<BigDecimal> aStore,
NumberContext aCntxt)
equals in interface MatrixStore<BigDecimal>public boolean equals(Object anObj)
equals in class BigArray
public void exchangeColumns(int aColA,
int aColB)
exchangeColumns in interface PhysicalStore<BigDecimal>
public void exchangeRows(int aRowA,
int aRowB)
exchangeRows in interface PhysicalStore<BigDecimal>
public void extractAndTransform(MatrixStore<BigDecimal> aHouseholderColumnsStore,
int aHouseholderColumnIndex,
int aFirstTargetColumn,
Object aWorkCopy)
extractAndTransform in interface QRDecomposition.Store<BigDecimal>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.public Householder<BigDecimal> extractHouseholderColumn(int aCol)
extractHouseholderColumn in interface QRDecomposition.Store<BigDecimal>public void fillAll(BigDecimal aNmbr)
fillAll in interface PhysicalStore<BigDecimal>
public void fillByMultiplying(MatrixStore<BigDecimal> aLeftArg,
MatrixStore<BigDecimal> aRightArg)
fillByMultiplying in interface PhysicalStore<BigDecimal>
public void fillColumn(int aRow,
int aCol,
BigDecimal aNmbr)
fillColumn in interface PhysicalStore<BigDecimal>
public void fillDiagonal(int aRow,
int aCol,
BigDecimal aNmbr)
fillDiagonal in interface PhysicalStore<BigDecimal>public void fillMatching(Access2D<BigDecimal> aSource2D)
fillMatching in interface PhysicalStore<BigDecimal>
public void fillMatching(BigDecimal aLeftArg,
BinaryFunction<BigDecimal> aFunc,
MatrixStore<BigDecimal> aRightArg)
PhysicalStoreWill 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))
fillMatching in interface PhysicalStore<BigDecimal>
public void fillMatching(MatrixStore<BigDecimal> aLeftArg,
BinaryFunction<BigDecimal> aFunc,
BigDecimal aRightArg)
PhysicalStoreWill 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))
fillMatching in interface PhysicalStore<BigDecimal>
public void fillMatching(MatrixStore<BigDecimal> aLeftArg,
BinaryFunction<BigDecimal> aFunc,
MatrixStore<BigDecimal> aRightArg)
PhysicalStoreWill 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))
fillMatching in interface PhysicalStore<BigDecimal>
public void fillRow(int aRow,
int aCol,
BigDecimal aNmbr)
fillRow in interface PhysicalStore<BigDecimal>
public Householder<BigDecimal> generateHouseholderColumn(int newI,
int newIj)
generateHouseholderColumn in interface PhysicalStore<BigDecimal>
public Householder<BigDecimal> generateHouseholderRow(int newIj,
int newI)
generateHouseholderRow in interface PhysicalStore<BigDecimal>
public BigDecimal get(int aRow,
int aCol)
get in interface Access2D<BigDecimal>public int getColDim()
public PhysicalStore.Factory<BigDecimal> getFactory()
getFactory in interface MatrixStore<BigDecimal>
public int getIndexOfLargestInColumn(int aRow,
int aCol)
getIndexOfLargestInColumn in interface PhysicalStore<BigDecimal>
public int getIndexOfLargestInRow(int aRow,
int aCol)
getIndexOfLargestInRow in interface PhysicalStore<BigDecimal>public int getMinDim()
@Deprecated
public BigDecimal getNumber(int aRow,
int aCol)
get(int,int) instead
public int getRowDim()
public int hashCode()
hashCode in class BigArray
public boolean isAbsolute(int aRow,
int aCol)
isAbsolute in interface MatrixStore<BigDecimal>Scalar.isAbsolute()public boolean isLowerLeftShaded()
MatrixStoreThe lower (left) triangle is shaded leaving an upper Hessenberg matrix.
isLowerLeftShaded in interface MatrixStore<BigDecimal>MatrixStore.isUpperRightShaded(),
MatrixStore.isShaded(),
PhysicalStore.shadeLowerLeft(),
PhysicalStore.unshade()
public boolean isReal(int aRow,
int aCol)
isReal in interface MatrixStore<BigDecimal>Scalar.isReal()public boolean isShaded()
MatrixStoreEither 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.
isShaded in interface MatrixStore<BigDecimal>MatrixStore.isLowerLeftShaded(),
MatrixStore.isUpperRightShaded(),
PhysicalStore.unshade()public boolean isUpperRightShaded()
MatrixStoreThe upper (right) triangle is shaded leaving a lower Hessenberg matrix.
isUpperRightShaded in interface MatrixStore<BigDecimal>MatrixStore.isLowerLeftShaded(),
MatrixStore.isShaded(),
PhysicalStore.shadeUpperRight(),
PhysicalStore.unshade()
public boolean isZero(int aRow,
int aCol)
isZero in interface MatrixStore<BigDecimal>Scalar.isZero()
public void maxpy(BigDecimal aSclrA,
MatrixStore<BigDecimal> aMtrxX)
PhysicalStorematrix a * x plus y
[this] = aSclrA [aMtrxX] + [this]
maxpy in interface PhysicalStore<BigDecimal>public void modifyAll(UnaryFunction<BigDecimal> aFunc)
modifyAll in interface PhysicalStore<BigDecimal>
public void modifyColumn(int aRow,
int aCol,
UnaryFunction<BigDecimal> aFunc)
modifyColumn in interface PhysicalStore<BigDecimal>
public void modifyDiagonal(int aRow,
int aCol,
UnaryFunction<BigDecimal> aFunc)
modifyDiagonal in interface PhysicalStore<BigDecimal>
public void modifyRow(int aRow,
int aCol,
UnaryFunction<BigDecimal> aFunc)
modifyRow in interface PhysicalStore<BigDecimal>public MatrixStore<BigDecimal> multiplyLeft(MatrixStore<BigDecimal> aStore)
multiplyLeft in interface MatrixStore<BigDecimal>public MatrixStore<BigDecimal> multiplyRight(MatrixStore<BigDecimal> aStore)
multiplyRight in interface MatrixStore<BigDecimal>
public void raxpy(BigDecimal aSclrA,
int aRowX,
int aRowY,
int aFirstCol)
PhysicalStorerow a * x plus y
[this(aRowY,*)] = aSclrA [this(aRowX,*)] + [this(aRowY,*)]
raxpy in interface PhysicalStore<BigDecimal>
public void set(int aRow,
int aCol,
BigDecimal aNmbr)
set in interface PhysicalStore<BigDecimal>
public void set(int aRow,
int aCol,
double aNmbr)
set in interface PhysicalStore<BigDecimal>public void shadeLowerLeft()
PhysicalStoreShades the lower (left) triangle, leaving an upper Hessenberg matrix.
shadeLowerLeft in interface PhysicalStore<BigDecimal>PhysicalStore.unshade()public void shadeUpperRight()
PhysicalStoreShades the upper (right) triangle, leaving a lower Hessenberg matrix.
shadeUpperRight in interface PhysicalStore<BigDecimal>PhysicalStore.unshade()
public void substituteBackwards(Access2D<BigDecimal> aBody,
boolean assumeOne,
boolean transposed)
PhysicalStore
substituteBackwards in interface PhysicalStore<BigDecimal>aBody - The equation system body parameters [A]assumeOne - true if aBody as ones on the diagonaltransposed - true if the upper/right part of aBody is
actually stored in the lower/left part of the matrix.
@Deprecated
public void substituteBackwards(MatrixStore<BigDecimal> aBody,
boolean assumeOne)
substituteBackwards(Access2D,boolean,boolean) instead
substituteBackwards in interface PhysicalStore<BigDecimal>
public void substituteForwards(Access2D<BigDecimal> aBody,
boolean assumeOne,
boolean transposed)
PhysicalStore
substituteForwards in interface PhysicalStore<BigDecimal>aBody - The equation system body parameters [A]assumeOne - true if aBody as ones on the diagonaltransposed - true if the lower/left part of aBody is
actually stored in the upper/right part of the matrix.
@Deprecated
public void substituteForwards(MatrixStore<BigDecimal> aBody,
boolean assumeOne)
substituteForwards(Access2D,boolean,boolean) instead
substituteForwards in interface PhysicalStore<BigDecimal>public double[][] toRawCopy()
toRawCopy in interface MatrixStore<BigDecimal>
public Scalar<BigDecimal> toScalar(int aRow,
int aCol)
toScalar in interface Access2D<BigDecimal>public void transformLeft(Householder<BigDecimal> aTransf)
transformLeft in interface PhysicalStore<BigDecimal>
public void transformLeft(Householder<BigDecimal> aTransf,
int aFirstCol)
transformLeft in interface PhysicalStore<BigDecimal>public void transformLeft(Rotation<BigDecimal> aTransf)
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.
transformLeft in interface PhysicalStore<BigDecimal>PhysicalStore.transformRight(Rotation)public void transformRight(Householder<BigDecimal> aTransf)
transformRight in interface PhysicalStore<BigDecimal>
public void transformRight(Householder<BigDecimal> aTransf,
int aFirstRow)
transformRight in interface PhysicalStore<BigDecimal>public void transformRight(Rotation<BigDecimal> aTransf)
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).
transformRight in interface PhysicalStore<BigDecimal>PhysicalStore.transformLeft(Rotation)public BigDenseStore transpose()
MatrixStore
transpose in interface MatrixStore<BigDecimal>public void unshade()
PhysicalStore
unshade in interface PhysicalStore<BigDecimal>PhysicalStore.shadeLowerLeft(),
PhysicalStore.shadeUpperRight()public void visitAll(AggregatorFunction<BigDecimal> aVisitor)
visitAll in interface MatrixStore<BigDecimal>
public void visitColumn(int aRow,
int aCol,
AggregatorFunction<BigDecimal> aVisitor)
visitColumn in interface MatrixStore<BigDecimal>
public void visitDiagonal(int aRow,
int aCol,
AggregatorFunction<BigDecimal> aVisitor)
visitDiagonal in interface MatrixStore<BigDecimal>
public void visitRow(int aRow,
int aCol,
AggregatorFunction<BigDecimal> aVisitor)
visitRow in interface MatrixStore<BigDecimal>public int size()
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.
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...
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.
public final int size()
public String toString()
toString in class Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||