Lines Matching refs:Hreg
15 PetscCall(MatMult(gn->Hreg, in, gn->x_work));
177 PetscCall((*gn->regularizerhessian)(tao, X, gn->Hreg, gn->reg_hess_ctx));
178 if (gn->mat_explicit) PetscCall(MatAXPY(gn->H, 1.0, gn->Hreg, DIFFERENT_NONZERO_PATTERN));
497 PetscCall(MatDestroy(&gn->Hreg));
683 . Hreg - user-created matrix for the Hessian of the regularization term
690 . Hreg - user-created matrix for the Hessian of the regularization term
697 PetscErrorCode TaoBRGNSetRegularizerHessianRoutine(Tao tao, Mat Hreg, PetscErrorCode (*func)(Tao tao, Vec u, Mat Hreg, PetscCtx ctx), PetscCtx ctx)
701 PetscTryMethod((PetscObject)tao, "TaoBRGNSetRegularizerHessianRoutine_C", (Tao, Mat, PetscErrorCode (*)(Tao, Vec, Mat, void *), void *), (tao, Hreg, func, ctx));
705 static PetscErrorCode TaoBRGNSetRegularizerHessianRoutine_BRGN(Tao tao, Mat Hreg, PetscErrorCode (*func)(Tao tao, Vec u, Mat Hreg, PetscCtx ctx), PetscCtx ctx)
710 if (Hreg) {
711 PetscValidHeaderSpecific(Hreg, MAT_CLASSID, 2);
712 PetscCheckSameComm(tao, 1, Hreg, 2);
716 if (Hreg) {
717 PetscCall(PetscObjectReference((PetscObject)Hreg));
718 PetscCall(MatDestroy(&gn->Hreg));
719 gn->Hreg = Hreg;