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
ConstructorsConstructorDescriptionHessianSchurComplement_DDRM(LinearSolverDense<DMatrixRMaj> solverA, LinearSolverDense<DMatrixRMaj> solverD) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidadd(double alpha, DMatrixRMaj A, double beta, DMatrixRMaj B, DMatrixRMaj C) voidcomputeHessian(DMatrixRMaj jacLeft, DMatrixRMaj jacRight) Compuets the Hessian in block formCreates a matrix of the same type that this interface can processprotected voiddivideRowsCols(double[] diagA, int offsetA, DMatrixRMaj B, double[] diagC, int offsetC) protected voidextractDiag(DMatrixRMaj input, DMatrixRMaj output) protected doubleinnerProduct(double[] a, int offsetA, DMatrixRMaj B, double[] c, int offsetC) protected voidmult(DMatrixRMaj A, DMatrixRMaj B, DMatrixRMaj C) protected voidmultTransA(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:HessianSchurComplementCreates a matrix of the same type that this interface can process- Returns:
- matrx
-
innerProduct
- Specified by:
innerProductin classHessianSchurComplement_Base<DMatrixRMaj>
-
extractDiag
- Specified by:
extractDiagin classHessianSchurComplement_Base<DMatrixRMaj>
-
divideRowsCols
protected void divideRowsCols(double[] diagA, int offsetA, DMatrixRMaj B, double[] diagC, int offsetC) - Specified by:
divideRowsColsin classHessianSchurComplement_Base<DMatrixRMaj>
-
multTransA
- Specified by:
multTransAin classHessianSchurComplement_Base<DMatrixRMaj>
-
add
- Specified by:
addin classHessianSchurComplement_Base<DMatrixRMaj>
-
mult
- Specified by:
multin classHessianSchurComplement_Base<DMatrixRMaj>
-