Package org.ddogleg.optimization.math
Class HessianSchurComplement_DDRM
java.lang.Object
org.ddogleg.optimization.math.HessianSchurComplement_Base<DMatrixRMaj>
org.ddogleg.optimization.math.HessianSchurComplement_DDRM
- All Implemented Interfaces:
HessianMath
,HessianSchurComplement<DMatrixRMaj>
Implementation of
HessianSchurComplement_Base
for DMatrixRMaj
-
Field Summary
Fields inherited from class org.ddogleg.optimization.math.HessianSchurComplement_Base
solverA, solverD
-
Constructor Summary
ConstructorDescriptionHessianSchurComplement_DDRM
(LinearSolverDense<DMatrixRMaj> solverA, LinearSolverDense<DMatrixRMaj> solverD) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
add
(double alpha, DMatrixRMaj A, double beta, DMatrixRMaj B, DMatrixRMaj C) void
computeHessian
(DMatrixRMaj jacLeft, DMatrixRMaj jacRight) Compuets the Hessian in block formCreates a matrix of the same type that this interface can processprotected void
divideRowsCols
(double[] diagA, int offsetA, DMatrixRMaj B, double[] diagC, int offsetC) protected void
extractDiag
(DMatrixRMaj input, DMatrixRMaj output) protected double
innerProduct
(double[] a, int offsetA, DMatrixRMaj B, double[] c, int offsetC) protected void
mult
(DMatrixRMaj A, DMatrixRMaj B, DMatrixRMaj C) protected void
multTransA
(DMatrixRMaj A, DMatrixRMaj B, DMatrixRMaj C) Methods inherited from class org.ddogleg.optimization.math.HessianSchurComplement_Base
computeGradient, divideRowsCols, extractDiagonals, init, initializeSolver, innerVectorHessian, setDiagonals, solve
-
Constructor Details
-
HessianSchurComplement_DDRM
public HessianSchurComplement_DDRM() -
HessianSchurComplement_DDRM
public HessianSchurComplement_DDRM(LinearSolverDense<DMatrixRMaj> solverA, LinearSolverDense<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<DMatrixRMaj>
-
extractDiag
- Specified by:
extractDiag
in classHessianSchurComplement_Base<DMatrixRMaj>
-
divideRowsCols
protected void divideRowsCols(double[] diagA, int offsetA, DMatrixRMaj B, double[] diagC, int offsetC) - Specified by:
divideRowsCols
in classHessianSchurComplement_Base<DMatrixRMaj>
-
multTransA
- Specified by:
multTransA
in classHessianSchurComplement_Base<DMatrixRMaj>
-
add
- Specified by:
add
in classHessianSchurComplement_Base<DMatrixRMaj>
-
mult
- Specified by:
mult
in classHessianSchurComplement_Base<DMatrixRMaj>
-