public UnconLeastSqTrustRegion_F64(ParameterUpdate<S> parameterUpdate, HessianLeastSquares<S> hessian , MatrixMath<S> math) { super(parameterUpdate, hessian); this.math = math; jacobian = math.createMatrix(); }
public UnconLeastSqTrustRegionSchur_F64( ParameterUpdate<S> update , HessianSchurComplement<S> hessian ) { super(update,hessian); jacLeft = hessian.createMatrix(); jacRight = hessian.createMatrix(); }
protected double solveCauchyStepLength() { double gBg = hessian.innerVectorHessian(gradient); return gradientNorm*gradientNorm/gBg; }
@Override protected void functionGradientHessian(DMatrixRMaj x, boolean sameStateAsResiduals, DMatrixRMaj gradient, HessianLeastSquares<S> hessian) { if( !sameStateAsResiduals ) functionResiduals.process(x.data,residuals.data); functionJacobian.process(x.data,jacobian); hessian.updateHessian(jacobian); math.multTransA(jacobian, residuals, gradient); }
public MockLevenbergMarquardt() { super(new MatrixMath_DDRM(), new HessianMath_DDRM()); }
public TestMatrixMath_DSCC() { super(new MatrixMath_DSCC()); }
public TestMatrixMath_DDRM() { super(new MatrixMath_DDRM()); }
public TestHessianBFGS_DDRM() { super(new HessianBFGS_DDRM(true)); }
public MockTrustRegionBase_F64(ParameterUpdate<DMatrixRMaj> parameterUpdate) { super(parameterUpdate, new HessianMath_DDRM()); }
public DMatrixRMaj hessian() { return ((HessianMath_DDRM)hessian).getHessian(); }
@Override protected void functionGradientHessian(DMatrixRMaj x, boolean sameStateAsCost, DMatrixRMaj gradient, HessianLeastSquares<S> hessian) { if( !sameStateAsCost ) functionResiduals.process(x.data,residuals.data); functionJacobian.process(x.data,jacobian); hessian.updateHessian(jacobian); math.multTransA(jacobian, residuals, gradient); }
public UnconLeastSqLevenbergMarquardtSchur_F64(MatrixMath<S> math, HessianSchurComplement<S> hessian ) { super(math,hessian); this.jacLeft = math.createMatrix(); this.jacRight = math.createMatrix(); }
protected double solveCauchyStepLength() { double gBg = hessian.innerVectorHessian(gradient); return gradientNorm*gradientNorm/gBg; }
public UnconLeastSqTrustRegionSchur_F64( ParameterUpdate<S> update , HessianSchurComplement<S> hessian ) { super(update,hessian); jacLeft = hessian.createMatrix(); jacRight = hessian.createMatrix(); }
public MockOwner(ParameterUpdate<DMatrixRMaj> parameterUpdate) { super(parameterUpdate, new HessianMath_DDRM()); }
public DMatrixRMaj hessian() { return ((HessianMath_DDRM)hessian).getHessian(); }
public UnconLeastSqLevenbergMarquardt_F64(MatrixMath<S> math, HessianLeastSquares<S> hessian ) { super(math,hessian); this.jacobian = math.createMatrix(); }
public UnconLeastSqLevenbergMarquardt_F64(MatrixMath<S> math, HessianLeastSquares<S> hessian ) { super(math,hessian); this.jacobian = math.createMatrix(); }
public UnconLeastSqLevenbergMarquardtSchur_F64(MatrixMath<S> math, HessianSchurComplement<S> hessian ) { super(math,hessian); this.jacLeft = math.createMatrix(); this.jacRight = math.createMatrix(); }
public UnconLeastSqTrustRegion_F64(ParameterUpdate<S> parameterUpdate, HessianLeastSquares<S> hessian , MatrixMath<S> math) { super(parameterUpdate, hessian); this.math = math; jacobian = math.createMatrix(); }