Lines Matching refs:cgP

15   TAO_CG                      *cgP       = (TAO_CG *)tao->data;  in TaoSolve_CG()  local
42 delta = PetscMax(delta, cgP->delta_min); in TaoSolve_CG()
43 delta = PetscMin(delta, cgP->delta_max); in TaoSolve_CG()
46 delta = PetscMax(delta, cgP->delta_min); in TaoSolve_CG()
47 delta = PetscMin(delta, cgP->delta_max); in TaoSolve_CG()
50 cgP->ngradsteps = 0; in TaoSolve_CG()
51 cgP->nresetsteps = 0; in TaoSolve_CG()
62 PetscCall(VecCopy(tao->solution, cgP->X_old)); in TaoSolve_CG()
63 PetscCall(VecCopy(tao->gradient, cgP->G_old)); in TaoSolve_CG()
66 ++cgP->ngradsteps; in TaoSolve_CG()
69 delta = PetscMax(delta, cgP->delta_min); in TaoSolve_CG()
70 delta = PetscMin(delta, cgP->delta_max); in TaoSolve_CG()
73 delta = PetscMax(delta, cgP->delta_min); in TaoSolve_CG()
74 delta = PetscMin(delta, cgP->delta_max); in TaoSolve_CG()
88 ++cgP->nresetsteps; in TaoSolve_CG()
91 PetscCall(VecCopy(cgP->X_old, tao->solution)); in TaoSolve_CG()
92 PetscCall(VecCopy(cgP->G_old, tao->gradient)); in TaoSolve_CG()
96 delta = PetscMax(delta, cgP->delta_min); in TaoSolve_CG()
97 delta = PetscMin(delta, cgP->delta_max); in TaoSolve_CG()
100 delta = PetscMax(delta, cgP->delta_min); in TaoSolve_CG()
101 delta = PetscMin(delta, cgP->delta_max); in TaoSolve_CG()
115 PetscCall(VecCopy(cgP->X_old, tao->solution)); in TaoSolve_CG()
116 PetscCall(VecCopy(cgP->G_old, tao->gradient)); in TaoSolve_CG()
127 PetscCall(VecCopy(cgP->X_old, tao->solution)); in TaoSolve_CG()
128 PetscCall(VecCopy(cgP->G_old, tao->gradient)); in TaoSolve_CG()
148 PetscCall(VecDot(tao->gradient, cgP->G_old, &ginner)); in TaoSolve_CG()
149 if (PetscAbsScalar(ginner) >= cgP->eta * gnorm2) { in TaoSolve_CG()
154 switch (cgP->cg_type) { in TaoSolve_CG()
169 PetscCall(VecDot(cgP->G_old, tao->stepdirection, &gd_old)); in TaoSolve_CG()
175 PetscCall(VecDot(cgP->G_old, tao->stepdirection, &gd_old)); in TaoSolve_CG()
190 delta = PetscMax(delta, cgP->delta_min); in TaoSolve_CG()
191 delta = PetscMin(delta, cgP->delta_max); in TaoSolve_CG()
198 TAO_CG *cgP = (TAO_CG *)tao->data; in TaoSetUp_CG() local
203 if (!cgP->X_old) PetscCall(VecDuplicate(tao->solution, &cgP->X_old)); in TaoSetUp_CG()
204 if (!cgP->G_old) PetscCall(VecDuplicate(tao->gradient, &cgP->G_old)); in TaoSetUp_CG()
210 TAO_CG *cgP = (TAO_CG *)tao->data; in TaoDestroy_CG() local
214 PetscCall(VecDestroy(&cgP->X_old)); in TaoDestroy_CG()
215 PetscCall(VecDestroy(&cgP->G_old)); in TaoDestroy_CG()
224 TAO_CG *cgP = (TAO_CG *)tao->data; in TaoSetFromOptions_CG() local
229 PetscCall(PetscOptionsReal("-tao_cg_eta", "restart tolerance", "", cgP->eta, &cgP->eta, NULL)); in TaoSetFromOptions_CG()
230 …ist("-tao_cg_type", "cg formula", "", CG_Table, CG_Types, CG_Table[cgP->cg_type], &cgP->cg_type, N… in TaoSetFromOptions_CG()
231 …PetscCall(PetscOptionsReal("-tao_cg_delta_min", "minimum delta value", "", cgP->delta_min, &cgP->d… in TaoSetFromOptions_CG()
232 …PetscCall(PetscOptionsReal("-tao_cg_delta_max", "maximum delta value", "", cgP->delta_max, &cgP->d… in TaoSetFromOptions_CG()
240 TAO_CG *cgP = (TAO_CG *)tao->data; in TaoView_CG() local
246 PetscCall(PetscViewerASCIIPrintf(viewer, "CG Type: %s\n", CG_Table[cgP->cg_type])); in TaoView_CG()
247 … PetscCall(PetscViewerASCIIPrintf(viewer, "Gradient steps: %" PetscInt_FMT "\n", cgP->ngradsteps)); in TaoView_CG()
248 PetscCall(PetscViewerASCIIPrintf(viewer, "Reset steps: %" PetscInt_FMT "\n", cgP->nresetsteps)); in TaoView_CG()
276 TAO_CG *cgP; in TaoCreate_CG() local
301 PetscCall(PetscNew(&cgP)); in TaoCreate_CG()
302 tao->data = (void *)cgP; in TaoCreate_CG()
303 cgP->eta = 0.1; in TaoCreate_CG()
304 cgP->delta_min = 1e-7; in TaoCreate_CG()
305 cgP->delta_max = 100; in TaoCreate_CG()
306 cgP->cg_type = CG_PolakRibierePlus; in TaoCreate_CG()