Package org.ddogleg.optimization.math
Class HessianSchurComplement_DSCC
java.lang.Object
org.ddogleg.optimization.math.HessianSchurComplement_Base<DMatrixSparseCSC>
org.ddogleg.optimization.math.HessianSchurComplement_DSCC
- All Implemented Interfaces:
HessianMath
,HessianSchurComplement<DMatrixSparseCSC>
Implementation of
HessianSchurComplement_Base
for DMatrixSparseCSC
-
Field Summary
Fields inherited from class org.ddogleg.optimization.math.HessianSchurComplement_Base
solverA, solverD
-
Constructor Summary
ConstructorDescriptionHessianSchurComplement_DSCC
(LinearSolverSparse<DMatrixSparseCSC, DMatrixRMaj> solverA, LinearSolverSparse<DMatrixSparseCSC, DMatrixRMaj> solverD) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
add
(double alpha, DMatrixSparseCSC A, double beta, DMatrixSparseCSC B, DMatrixSparseCSC C) void
computeHessian
(DMatrixSparseCSC jacLeft, DMatrixSparseCSC jacRight) Compuets the Hessian in block formCreates a matrix of the same type that this interface can processprotected void
divideRowsCols
(double[] diagA, int offsetA, DMatrixSparseCSC B, double[] diagC, int offsetC) protected void
extractDiag
(DMatrixSparseCSC input, DMatrixRMaj output) protected double
innerProduct
(double[] a, int offsetA, DMatrixSparseCSC B, double[] c, int offsetC) protected void
mult
(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C) protected void
multTransA
(DMatrixSparseCSC A, DMatrixRMaj B, DMatrixRMaj C) protected void
Methods inherited from class org.ddogleg.optimization.math.HessianSchurComplement_Base
computeGradient, divideRowsCols, extractDiagonals, init, initializeSolver, innerVectorHessian, setDiagonals, solve
-
Constructor Details
-
HessianSchurComplement_DSCC
public HessianSchurComplement_DSCC() -
HessianSchurComplement_DSCC
public HessianSchurComplement_DSCC(LinearSolverSparse<DMatrixSparseCSC, DMatrixRMaj> solverA, LinearSolverSparse<DMatrixSparseCSC, DMatrixRMaj> solverD)
-
-
Method Details
-
computeHessian
Compuets the Hessian in block form- Parameters:
jacLeft
- (Input) Left side of JacobianjacRight
- (Input) Right side of Jacobian
-
createMatrix
Description copied from interface:HessianSchurComplement
Creates a matrix of the same type that this interface can process- Returns:
- matrx
-
innerProduct
- Specified by:
innerProduct
in classHessianSchurComplement_Base<DMatrixSparseCSC>
-
extractDiag
- Specified by:
extractDiag
in classHessianSchurComplement_Base<DMatrixSparseCSC>
-
divideRowsCols
protected void divideRowsCols(double[] diagA, int offsetA, DMatrixSparseCSC B, double[] diagC, int offsetC) - Specified by:
divideRowsCols
in classHessianSchurComplement_Base<DMatrixSparseCSC>
-
multTransA
- Specified by:
multTransA
in classHessianSchurComplement_Base<DMatrixSparseCSC>
-
multTransA
- Specified by:
multTransA
in classHessianSchurComplement_Base<DMatrixSparseCSC>
-
add
protected void add(double alpha, DMatrixSparseCSC A, double beta, DMatrixSparseCSC B, DMatrixSparseCSC C) - Specified by:
add
in classHessianSchurComplement_Base<DMatrixSparseCSC>
-
mult
- Specified by:
mult
in classHessianSchurComplement_Base<DMatrixSparseCSC>
-