Lines Matching refs:jacobian
78 SparseMatrix* jacobian,
81 CHECK_NOTNULL(jacobian);
85 const int n = jacobian->num_cols();
120 jacobian->SquaredColumnNorm(diagonal_.data());
126 ComputeGradient(jacobian, residuals);
127 ComputeCauchyPoint(jacobian);
130 ComputeGaussNewtonStep(jacobian, residuals);
147 if (!ComputeSubspaceModel(jacobian)) {
164 // and all calculations involving the Jacobian have to
167 SparseMatrix* jacobian,
170 jacobian->LeftMultiply(residuals, gradient_.data());
176 void DoglegStrategy::ComputeCauchyPoint(SparseMatrix* jacobian) {
178 Vector Jg(jacobian->num_rows());
180 // The Jacobian is scaled implicitly by computing J * (D^-1 * (D^-1 * g))
184 jacobian->RightMultiply(scaled_gradient.data(), Jg.data());
510 SparseMatrix* jacobian,
512 const int n = jacobian->num_cols();
516 // The Jacobian matrix is often quite poorly conditioned. Thus it is
557 // either jacobian or residuals.
559 linear_solver_summary = linear_solver_->Solve(jacobian,
619 bool DoglegStrategy::ComputeSubspaceModel(SparseMatrix* jacobian) {
621 Matrix basis_vectors(jacobian->num_cols(), 2);
671 basis_qr.householderQ() * Matrix::Identity(jacobian->num_cols(), 2);
676 Jb(2, jacobian->num_rows());
681 jacobian->RightMultiply(tmp.data(), Jb.row(0).data());
683 jacobian->RightMultiply(tmp.data(), Jb.row(1).data());