Package org.ojalgo.matrix.store
Class AbstractStore<N extends java.lang.Comparable<N>>
- java.lang.Object
-
- org.ojalgo.matrix.store.AbstractStore<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>>
- Direct Known Subclasses:
FactoryStore
,LogicalStore
abstract class AbstractStore<N extends java.lang.Comparable<N>> extends java.lang.Object implements MatrixStore<N>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ojalgo.structure.Access2D
Access2D.Aggregatable<N extends java.lang.Comparable<N>>, Access2D.Collectable<N extends java.lang.Comparable<N>,R extends Mutate2D>, Access2D.ColumnView<N extends java.lang.Comparable<N>>, Access2D.ElementView<N extends java.lang.Comparable<N>>, Access2D.RowView<N extends java.lang.Comparable<N>>, Access2D.SelectionView<N extends java.lang.Comparable<N>>, Access2D.Sliceable<N extends java.lang.Comparable<N>>, Access2D.Visitable<N extends java.lang.Comparable<N>>
-
Nested classes/interfaces inherited from interface org.ojalgo.algebra.Group
Group.Additive<T>, Group.Multiplicative<T>
-
Nested classes/interfaces inherited from interface org.ojalgo.algebra.Operation
Operation.Addition<T>, Operation.Division<T>, Operation.Multiplication<T>, Operation.Subtraction<T>
-
Nested classes/interfaces inherited from interface org.ojalgo.algebra.ScalarOperation
ScalarOperation.Addition<T,N extends java.lang.Comparable<N>>, ScalarOperation.Division<T,N extends java.lang.Comparable<N>>, ScalarOperation.Multiplication<T,N extends java.lang.Comparable<N>>, ScalarOperation.Subtraction<T,N extends java.lang.Comparable<N>>
-
Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.Logical<S extends Structure1D,B extends Structure1D.Logical<S,B>>, Structure1D.LongIndex, Structure1D.LoopCallback
-
Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure2D
Structure2D.IntRowColumn, Structure2D.Logical<S extends Structure2D,B extends Structure2D.Logical<S,B>>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R extends Structure1D>, Structure2D.Reshapable, Structure2D.RowColumnKey<R,C>, Structure2D.RowColumnMapper<R,C>
-
-
Field Summary
Fields Modifier and Type Field Description private int
myColDim
private java.lang.Class<?>
myComponentType
private int
myRowDim
-
Constructor Summary
Constructors Modifier Constructor Description private
AbstractStore()
protected
AbstractStore(int numberOfRows, int numberOfColumns)
protected
AbstractStore(long numberOfRows, long numberOfColumns)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static <N extends java.lang.Comparable<N>>
MatrixStore<N>buildColumn(PhysicalStore.Factory<N,?> factory, long rowsCount, N... columnElements)
(package private) static <N extends java.lang.Comparable<N>>
MatrixStore<N>buildColumn(PhysicalStore.Factory<N,?> factory, long rowsCount, Access2D<N> columnStore)
(package private) static <N extends java.lang.Comparable<N>>
MatrixStore<N>buildColumn(PhysicalStore.Factory<N,?> factory, long rowsCount, Access2D<N>... columnStores)
(package private) static <N extends java.lang.Comparable<N>>
MatrixStore<N>buildRow(PhysicalStore.Factory<N,?> factory, long colsCount, N... rowElements)
(package private) static <N extends java.lang.Comparable<N>>
MatrixStore<N>buildRow(PhysicalStore.Factory<N,?> factory, long colsCount, Access2D<N> rowStore)
(package private) static <N extends java.lang.Comparable<N>>
MatrixStore<N>buildRow(PhysicalStore.Factory<N,?> factory, long colsCount, Access2D<N>... rowStores)
(package private) static <N extends java.lang.Comparable<N>>
MatrixStore<N>cast(PhysicalStore.Factory<N,?> factory, Access2D<?> access)
long
countColumns()
Only need to implement if the structure may contain more than Integer.MAX_VALUE elements.long
countRows()
Only need to implement if the structure may contain more than Integer.MAX_VALUE elements.boolean
equals(java.lang.Object obj)
int
getColDim()
(package private) java.lang.Class<?>
getComponentType()
int
getMaxDim()
int
getMinDim()
int
getRowDim()
int
hashCode()
protected boolean
isPrimitive()
int
limitOfColumn(int col)
The default value is simplythis.countRows()
, and if all elements are zeros then0
.int
limitOfRow(int row)
The default value is simplythis.countColumns()
, and if all elements are zeros then0
.N
multiplyBoth(Access1D<N> leftAndRight)
Assumes [leftAndRight] is a vector and will calulate [leftAndRight]H[this][leftAndRight]java.lang.String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.ojalgo.structure.Access1D
asCollectable1D, asKeyed1D, axpy, dot, select, supplyTo, toRawCopy1D
-
Methods inherited from interface org.ojalgo.structure.Access1D.Visitable
visitAll, visitRange
-
Methods inherited from interface org.ojalgo.structure.Access2D
asCollectable2D, asKeyed2D, byteValue, byteValue, byteValue, byteValue, columns, doubleValue, doubleValue, doubleValue, elements, floatValue, floatValue, floatValue, floatValue, get, intValue, intValue, intValue, intValue, longValue, longValue, longValue, longValue, nonzeros, rows, shortValue, shortValue, shortValue, shortValue, toRawCopy2D
-
Methods inherited from interface org.ojalgo.structure.Access2D.Aggregatable
aggregateColumn, aggregateDiagonal, aggregateRow, reduceColumns, reduceRows
-
Methods inherited from interface org.ojalgo.structure.Access2D.Collectable
collect
-
Methods inherited from interface org.ojalgo.structure.Access2D.Sliceable
sliceColumn, sliceDiagonal, sliceRow
-
Methods inherited from interface org.ojalgo.structure.Access2D.Visitable
visitColumn, visitColumn, visitDiagonal, visitDiagonal, visitOne, visitRow, visitRow
-
Methods inherited from interface org.ojalgo.matrix.store.ElementsSupplier
onAny, onColumns, onColumns, onMatching, onMatching, onRows, onRows
-
Methods inherited from interface org.ojalgo.matrix.store.MatrixStore
above, above, above, add, add, add, aggregateAll, aggregateColumn, aggregateDiagonal, aggregateRange, aggregateRow, below, below, below, bidiagonal, column, column, columns, columns, conjugate, copy, diagonal, diagonally, divide, divide, doubleValue, equals, get, get, get, hermitian, hessenberg, indexOfLargest, isHermitian, isNormal, isSmall, isSmall, left, left, left, limits, logical, multiply, multiply, multiply, multiply, negate, norm, offsets, onAll, operate, physical, power, premultiply, reduceColumns, reduceRows, repeat, right, right, right, row, row, rows, rows, select, select, signum, sliceColumn, sliceDiagonal, sliceRange, sliceRow, subtract, subtract, subtract, superimpose, superimpose, supplyTo, symmetric, toScalar, transpose, triangular, tridiagonal, visitOne
-
Methods inherited from interface org.ojalgo.structure.Operate2D
onAll, onAll, onAll, onAll, onAll, onCompatible, onCompatible
-
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Addition
add
-
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Division
divide
-
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Multiplication
multiply
-
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Subtraction
subtract
-
Methods inherited from interface org.ojalgo.structure.Structure2D
count, firstInColumn, firstInRow, isEmpty, isFat, isScalar, isSquare, isTall, isVector, size
-
-
-
-
Method Detail
-
buildColumn
@SafeVarargs static <N extends java.lang.Comparable<N>> MatrixStore<N> buildColumn(PhysicalStore.Factory<N,?> factory, long rowsCount, Access2D<N>... columnStores)
-
buildColumn
static <N extends java.lang.Comparable<N>> MatrixStore<N> buildColumn(PhysicalStore.Factory<N,?> factory, long rowsCount, Access2D<N> columnStore)
-
buildColumn
@SafeVarargs static <N extends java.lang.Comparable<N>> MatrixStore<N> buildColumn(PhysicalStore.Factory<N,?> factory, long rowsCount, N... columnElements)
-
buildRow
@SafeVarargs static <N extends java.lang.Comparable<N>> MatrixStore<N> buildRow(PhysicalStore.Factory<N,?> factory, long colsCount, Access2D<N>... rowStores)
-
buildRow
static <N extends java.lang.Comparable<N>> MatrixStore<N> buildRow(PhysicalStore.Factory<N,?> factory, long colsCount, Access2D<N> rowStore)
-
buildRow
@SafeVarargs static <N extends java.lang.Comparable<N>> MatrixStore<N> buildRow(PhysicalStore.Factory<N,?> factory, long colsCount, N... rowElements)
-
cast
static <N extends java.lang.Comparable<N>> MatrixStore<N> cast(PhysicalStore.Factory<N,?> factory, Access2D<?> access)
-
countColumns
public long countColumns()
Description copied from interface:Structure2D
Only need to implement if the structure may contain more than Integer.MAX_VALUE elements.- Specified by:
countColumns
in interfaceStructure2D
- Returns:
- The number of columns
-
countRows
public long countRows()
Description copied from interface:Structure2D
Only need to implement if the structure may contain more than Integer.MAX_VALUE elements.- Specified by:
countRows
in interfaceStructure2D
- Returns:
- The number of rows
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
getColDim
public final int getColDim()
- Specified by:
getColDim
in interfaceStructure2D
- Returns:
- The number of columns
-
getMaxDim
public final int getMaxDim()
- Specified by:
getMaxDim
in interfaceStructure2D
-
getMinDim
public final int getMinDim()
- Specified by:
getMinDim
in interfaceStructure2D
-
getRowDim
public final int getRowDim()
- Specified by:
getRowDim
in interfaceStructure2D
- Returns:
- The number of rows
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
limitOfColumn
public int limitOfColumn(int col)
Description copied from interface:Structure2D
The default value is simplythis.countRows()
, and if all elements are zeros then0
.- Specified by:
limitOfColumn
in interfaceStructure2D
- 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 simplythis.countColumns()
, and if all elements are zeros then0
.- Specified by:
limitOfRow
in interfaceStructure2D
- Returns:
- The column index of the first zero element, after all non-zeros, in the specified row (index of the last non-zero + 1)
-
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 interfaceMatrixStore<N extends java.lang.Comparable<N>>
- Parameters:
leftAndRight
- The argument vector- Returns:
- A scalar (extracted from the resulting 1 x 1 matrix)
-
toString
public final java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
isPrimitive
protected final boolean isPrimitive()
-
getComponentType
final java.lang.Class<?> getComponentType()
-
-