Class ColumnsSupplier<N extends Comparable<N>>
java.lang.Object
org.ojalgo.matrix.store.ColumnsSupplier<N>
- All Implemented Interfaces:
Consumer<Access2D<?>>, 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>, SparseStructure2D, Access1D<N>, Access1D.Aggregatable<N>, Access1D.Collectable<N,Mutate1D>, Access1D.Sliceable<N>, Access1D.Visitable<N>, Access2D<N>, Access2D.Aggregatable<N>, Access2D.Collectable<N, TransformableRegion<N>>, Access2D.Sliceable<N>, Access2D.Visitable<N>, Mutate1D, Mutate1D.Fillable<N>, Mutate1D.Modifiable<N>, Mutate2D, Mutate2D.Exchangeable, Mutate2D.Fillable<N>, Mutate2D.Modifiable<N>, Mutate2D.ModifiableReceiver<N>, Mutate2D.Receiver<N>, Operate2D<N, ElementsSupplier<N>>, Structure1D, Structure2D, Structure2D.Logical<Access2D<N>, MatrixStore<N>>, Structure2D.ReducibleTo1D<ElementsSupplier<N>>
public final class ColumnsSupplier<N extends Comparable<N>>
extends Object
implements MatrixStore<N>, SparseStructure2D, Mutate2D.ModifiableReceiver<N>
Sparse columns – columns can be added and removed.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classColumnsSupplier.SingleView<N extends Comparable<N>>Nested classes/interfaces inherited from interface Access2D
Access2D.Aggregatable<N>, Access2D.Collectable<N,R>, Access2D.ColumnView<N>, Access2D.ElementView<N>, Access2D.RowView<N>, Access2D.SelectionView<N>, Access2D.Sliceable<N>, Access2D.Visitable<N> Nested classes/interfaces inherited from interface Group
Group.Additive<T>, Group.Multiplicative<T>Nested classes/interfaces inherited from interface Mutate1D
Mutate1D.Fillable<N>, Mutate1D.Mixable<N>, Mutate1D.Modifiable<N>, Mutate1D.ModifiableReceiver<N>, Mutate1D.Receiver<N>, Mutate1D.SortableNested classes/interfaces inherited from interface Mutate2D
Mutate2D.Exchangeable, Mutate2D.Fillable<N>, Mutate2D.Mixable<N>, Mutate2D.Modifiable<N>, Mutate2D.ModifiableReceiver<N>, Mutate2D.Receiver<N>Nested classes/interfaces inherited from interface Operation
Operation.Addition<T>, Operation.Division<T>, Operation.Multiplication<T>, Operation.Subtraction<T>Nested classes/interfaces inherited from interface ScalarOperation
ScalarOperation.Addition<T,N>, ScalarOperation.Division<T, N>, ScalarOperation.Multiplication<T, N>, ScalarOperation.Subtraction<T, N> Nested classes/interfaces inherited from interface Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.Logical<S,B>, Structure1D.LongIndex, Structure1D.LoopCallback Nested classes/interfaces inherited from interface Structure2D
Structure2D.IntRowColumn, Structure2D.Logical<S,B>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R>, Structure2D.Reshapable, Structure2D.RowColumnKey<R, C>, Structure2D.RowColumnMapper<R, C> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final SparseArray.SparseFactory<N> private final List<SparseArray<N>> private final PhysicalStore.Factory<N, ?> private final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(int row, int col, double addend) voidadd(long row, long col, double addend) voidadd(long row, long col, Comparable<?> addend) (package private) SparseArray<N> addColumn(SparseArray<N> columnToAdd) voidaddColumns(int numberToAdd) columns()columns(int... columns) A selection (re-ordering) of columns.longOnly need to implement if the structure may contain more than Integer.MAX_VALUE elements.intlongOnly need to implement if the structure may contain more than Integer.MAX_VALUE elements.doubledoubleValue(int row, int col) Extracts one element of this matrix as a double.voidexchangeColumns(long colA, long colB) voidexchangeRows(long rowA, long rowB) get()get(int row, int col) intgetColumn(int index) intvoidmodifyAny(Transformation2D<N> modifier) voidmodifyOne(long row, long col, UnaryFunction<N> modifier) physical()voidputLast(int row, int col, double value) Efficiently appends a new nonzero element to the end of the specified column.removeColumn(int index) voidreset()Reset this mutable structure to some standard (all zeros) initial state.selectColumns(int[] indices) voidset(int row, int col, double value) voidset(long row, long col, Comparable<?> value) sliceColumn(long col) voidsupplyTo(TransformableRegion<N> receiver) toCSC()(package private) R064CSCtoCSC(int nbRows, int nbCols, int nbNz) toCSR()toString()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Access1D
asCollectable1D, asKeyed1D, asList, axpy, dot, select, supplyTo, toList, toRawCopy1DMethods inherited from interface Access1D.Collectable
collectMethods inherited from interface Access1D.Visitable
visitAll, visitRangeMethods inherited from interface Access2D
asCollectable2D, asKeyed2D, byteValue, byteValue, byteValue, byteValue, doubleValue, doubleValue, doubleValue, elements, floatValue, floatValue, floatValue, floatValue, get, intValue, intValue, intValue, intValue, longValue, longValue, longValue, longValue, nonzeros, rows, shortValue, shortValue, shortValue, shortValue, toRawCopy2DMethods inherited from interface Access2D.Aggregatable
aggregateColumn, aggregateDiagonal, aggregateRow, reduceColumns, reduceRowsMethods inherited from interface Access2D.Collectable
collectMethods inherited from interface Access2D.Sliceable
sliceDiagonal, sliceRowMethods inherited from interface Access2D.Visitable
visitColumn, visitColumn, visitDiagonal, visitDiagonal, visitOne, visitRow, visitRowMethods inherited from interface ElementsSupplier
onAny, onColumns, onColumns, onMatching, onMatching, onRows, onRowsMethods inherited from interface MatrixStore
above, above, above, add, add, add, aggregateAll, aggregateColumn, aggregateDiagonal, aggregateRange, aggregateRow, below, below, below, bidiagonal, column, column, columns, conjugate, copy, diagonal, diagonally, divide, divide, equals, get, hermitian, hessenberg, indexOfLargest, isHermitian, isNormal, isSmall, isSmall, left, left, left, limits, logical, multiply, multiply, multiply, multiply, multiplyBoth, negate, norm, offsets, onAll, operate, 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, visitOneMethods inherited from interface Mutate1D.Fillable
fillAll, fillAll, fillCompatible, fillMatching, fillMatching, fillMatching, fillMatching, fillRange, fillRangeMethods inherited from interface Mutate1D.Modifiable
add, add, add, add, add, modifyAll, modifyMatching, modifyMatching, modifyRangeMethods inherited from interface Mutate2D
set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, setMethods inherited from interface Mutate2D.Fillable
fillColumn, fillColumn, fillColumn, fillColumn, fillColumn, fillColumn, fillCompatible, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillRow, fillRow, fillRow, fillRow, fillRow, fillRowMethods inherited from interface Mutate2D.Modifiable
add, add, add, add, add, add, add, add, add, add, add, add, add, modifyColumn, modifyColumn, modifyDiagonal, modifyDiagonal, modifyMatchingInColumns, modifyMatchingInColumns, modifyMatchingInRows, modifyMatchingInRows, modifyOne, modifyRow, modifyRowMethods inherited from interface Mutate2D.ModifiableReceiver
modifyCompatible, modifyCompatibleMethods inherited from interface Mutate2D.Receiver
accept, isAcceptableMethods inherited from interface Operate2D
onAll, onAll, onAll, onAll, onAll, onCompatible, onCompatibleMethods inherited from interface ScalarOperation.Addition
addMethods inherited from interface ScalarOperation.Division
divideMethods inherited from interface ScalarOperation.Multiplication
multiplyMethods inherited from interface ScalarOperation.Subtraction
subtractMethods inherited from interface SparseStructure2D
densityMethods inherited from interface Structure2D
count, firstInColumn, firstInRow, getMaxDim, getMinDim, isEmpty, isFat, isScalar, isSquare, isTall, isVector, limitOfColumn, limitOfRow, size
-
Field Details
-
myColumnFactory
-
myColumns
-
myPhysicalStoreFactory
-
myRowsCount
private final int myRowsCount
-
-
Constructor Details
-
ColumnsSupplier
ColumnsSupplier(PhysicalStore.Factory<N, ?> factory, int numberOfRows)
-
-
Method Details
-
add
public void add(int row, int col, double addend) - Specified by:
addin interfaceMutate2D.Modifiable<N extends Comparable<N>>
-
add
- Specified by:
addin interfaceMutate2D.Modifiable<N extends Comparable<N>>
-
add
public void add(long row, long col, double addend) - Specified by:
addin interfaceMutate2D.Modifiable<N extends Comparable<N>>
-
addColumn
-
addColumns
public void addColumns(int numberToAdd) -
columns
- Specified by:
columnsin interfaceAccess2D<N extends Comparable<N>>
-
columns
Description copied from interface:MatrixStoreA selection (re-ordering) of columns. Note that it's ok to reference the same base column more than once, and any negative column reference/index will translate to a column of zeros. The number of columns in the resulting matrix is the same as the number of elements in the columns index array.- Specified by:
columnsin interfaceAccess2D<N extends Comparable<N>>- Specified by:
columnsin interfaceMatrixStore<N extends Comparable<N>>- Specified by:
columnsin interfaceStructure2D.Logical<Access2D<N extends Comparable<N>>, MatrixStore<N extends Comparable<N>>>
-
countColumns
public long countColumns()Description copied from interface:Structure2DOnly need to implement if the structure may contain more than Integer.MAX_VALUE elements.- Specified by:
countColumnsin interfaceStructure2D- Returns:
- The number of columns
-
countNonzeros
public int countNonzeros()- Specified by:
countNonzerosin interfaceSparseStructure2D
-
countRows
public long countRows()Description copied from interface:Structure2DOnly need to implement if the structure may contain more than Integer.MAX_VALUE elements.- Specified by:
countRowsin interfaceStructure2D- Returns:
- The number of rows
-
doubleValue
public double doubleValue(int row, int col) Description copied from interface:Access2DExtracts one element of this matrix as a double.- Specified by:
doubleValuein interfaceAccess2D<N extends Comparable<N>>- Specified by:
doubleValuein interfaceMatrixStore<N extends Comparable<N>>- Parameters:
row- A row index.col- A column index.- Returns:
- One matrix element
-
exchangeColumns
public void exchangeColumns(long colA, long colB) - Specified by:
exchangeColumnsin interfaceMutate2D.Exchangeable
-
exchangeRows
public void exchangeRows(long rowA, long rowB) - Specified by:
exchangeRowsin interfaceMutate2D.Exchangeable
-
get
- Specified by:
getin interfaceMatrixStore<N extends Comparable<N>>
-
get
- Specified by:
getin interfaceMatrixStore<N extends Comparable<N>>
-
getColDim
public int getColDim()- Specified by:
getColDimin interfaceStructure2D- Returns:
- The number of columns
-
getColumn
-
getRowDim
public int getRowDim()- Specified by:
getRowDimin interfaceStructure2D- Returns:
- The number of rows
-
modifyAny
- Specified by:
modifyAnyin interfaceMutate2D.ModifiableReceiver<N extends Comparable<N>>
-
modifyOne
- Specified by:
modifyOnein interfaceMutate2D.Modifiable<N extends Comparable<N>>
-
physical
- Specified by:
physicalin interfaceMatrixStore<N extends Comparable<N>>
-
putLast
public void putLast(int row, int col, double value) Efficiently appends a new nonzero element to the end of the specified column.This method assumes that the supplied
rowis strictly greater than all existing row indices in the specified column. No search is performed; the value is simply appended. If the ascending order of row indices is broken, future behavior is unspecified. If the value is zero, nothing is stored.- Parameters:
row- the row index (must be after all existing row indices in the column)col- the column to which the value should be appendedvalue- the value to insert (only nonzero values are actually stored)
-
removeColumn
-
reset
-
selectColumns
-
set
-
set
-
sliceColumn
- Specified by:
sliceColumnin interfaceAccess2D.Sliceable<N extends Comparable<N>>
-
supplyTo
- Specified by:
supplyToin interfaceAccess2D.Collectable<N extends Comparable<N>, TransformableRegion<N extends Comparable<N>>>- Specified by:
supplyToin interfaceMatrixStore<N extends Comparable<N>>
-
toCSC
- Specified by:
toCSCin interfaceSparseStructure2D
-
toCSR
- Specified by:
toCSRin interfaceSparseStructure2D
-
toString
-
addColumn
-
toCSC
-