Package org.ojalgo.optimisation.convex
Class IterativeASS.SchurComplementSolver
- java.lang.Object
-
- org.ojalgo.matrix.task.iterative.IterativeSolverTask
-
- org.ojalgo.matrix.task.iterative.MutableSolver<ConjugateGradientSolver>
-
- org.ojalgo.optimisation.convex.IterativeASS.SchurComplementSolver
-
- All Implemented Interfaces:
Group
,Group.Additive<MatrixStore<java.lang.Double>>
,NormedVectorSpace<MatrixStore<java.lang.Double>,java.lang.Double>
,Operation
,Operation.Addition<MatrixStore<java.lang.Double>>
,Operation.Multiplication<MatrixStore<java.lang.Double>>
,Operation.Subtraction<MatrixStore<java.lang.Double>>
,ScalarOperation
,ScalarOperation.Addition<MatrixStore<java.lang.Double>,java.lang.Double>
,ScalarOperation.Division<MatrixStore<java.lang.Double>,java.lang.Double>
,ScalarOperation.Multiplication<MatrixStore<java.lang.Double>,java.lang.Double>
,ScalarOperation.Subtraction<MatrixStore<java.lang.Double>,java.lang.Double>
,VectorSpace<MatrixStore<java.lang.Double>,java.lang.Double>
,Matrix2D<java.lang.Double,MatrixStore<java.lang.Double>>
,ElementsSupplier<java.lang.Double>
,MatrixStore<java.lang.Double>
,MatrixTask<java.lang.Double>
,SolverTask<java.lang.Double>
,Access1D<java.lang.Double>
,Access1D.Aggregatable<java.lang.Double>
,Access1D.Sliceable<java.lang.Double>
,Access1D.Visitable<java.lang.Double>
,Access2D<java.lang.Double>
,Access2D.Aggregatable<java.lang.Double>
,Access2D.Collectable<java.lang.Double,TransformableRegion<java.lang.Double>>
,Access2D.Sliceable<java.lang.Double>
,Access2D.Visitable<java.lang.Double>
,Operate2D<java.lang.Double,ElementsSupplier<java.lang.Double>>
,Structure1D
,Structure2D
,Structure2D.Logical<Access2D<java.lang.Double>,MatrixStore<java.lang.Double>>
,Structure2D.ReducibleTo1D<ElementsSupplier<java.lang.Double>>
- Enclosing class:
- IterativeASS
final class IterativeASS.SchurComplementSolver extends MutableSolver<ConjugateGradientSolver> implements MatrixStore<java.lang.Double>
The equation system body is the (negated) Schur complement (of the Q-matrix in the full KKT-system).
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.ojalgo.matrix.task.iterative.IterativeSolverTask
IterativeSolverTask.Configurator, IterativeSolverTask.SparseDelegate
-
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.matrix.task.SolverTask
SolverTask.Factory<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
myCountE
private IterativeASS.SparseArrayPool
myEquationBodyPool
private int
myFullDim
private Equation[]
myIterationRows
-
Constructor Summary
Constructors Constructor Description SchurComplementSolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
add(int j, Access1D<java.lang.Double> column, double rhs)
double
doubleValue(int row, int col)
Extracts one element of this matrix as a double.java.lang.Double
get(int row, int col)
int
getColDim()
int
getRowDim()
PhysicalStore.Factory<java.lang.Double,?>
physical()
(package private) void
remove(int i)
-
Methods inherited from class org.ojalgo.matrix.task.iterative.MutableSolver
add, clear, getDelegate, getRHS, remove, resolve, resolve, setAccuracyContext, setDebugPrinter, setIterationsLimit, solve
-
Methods inherited from class org.ojalgo.matrix.task.iterative.IterativeSolverTask
configurator, debug, getAccuracyContext, getIterationsLimit, isDebugPrinterSet, preallocate, solve
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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, equals, get, 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, 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.matrix.task.SolverTask
preallocate, solve, toSolutionProvider
-
Methods inherited from interface org.ojalgo.structure.Structure2D
count, countColumns, countRows, firstInColumn, firstInRow, getMaxDim, getMinDim, isEmpty, isFat, isScalar, isSquare, isTall, isVector, limitOfColumn, limitOfRow, size
-
-
-
-
Field Detail
-
myCountE
private final int myCountE
-
myEquationBodyPool
private final IterativeASS.SparseArrayPool myEquationBodyPool
-
myFullDim
private final int myFullDim
-
myIterationRows
private final Equation[] myIterationRows
-
-
Method Detail
-
doubleValue
public double doubleValue(int row, int col)
Description copied from interface:Access2D
Extracts one element of this matrix as a double.- Specified by:
doubleValue
in interfaceAccess2D<java.lang.Double>
- Specified by:
doubleValue
in interfaceMatrixStore<java.lang.Double>
- Overrides:
doubleValue
in classMutableSolver<ConjugateGradientSolver>
- Parameters:
row
- A row index.col
- A column index.- Returns:
- One matrix element
-
get
public java.lang.Double get(int row, int col)
- Specified by:
get
in interfaceMatrixStore<java.lang.Double>
-
getColDim
public int getColDim()
- Specified by:
getColDim
in interfaceStructure2D
- Returns:
- The number of columns
-
getRowDim
public int getRowDim()
- Specified by:
getRowDim
in interfaceStructure2D
- Returns:
- The number of rows
-
physical
public PhysicalStore.Factory<java.lang.Double,?> physical()
- Specified by:
physical
in interfaceMatrixStore<java.lang.Double>
-
add
void add(int j, Access1D<java.lang.Double> column, double rhs)
-
remove
void remove(int i)
-
-