Lines Matching refs:mt
14 TaoLineSearch_MT *mt = (TaoLineSearch_MT *)ls->data; in TaoLineSearchDestroy_MT() local
17 PetscCall(PetscObjectDereference((PetscObject)mt->x)); in TaoLineSearchDestroy_MT()
18 PetscCall(VecDestroy(&mt->work)); in TaoLineSearchDestroy_MT()
25 TaoLineSearch_MT *mt = (TaoLineSearch_MT *)ls->data; in TaoLineSearchMonitor_MT() local
28 …IIPrintf(ls->viewer, "stx: %g, fx: %g, dgx: %g\n", (double)mt->stx, (double)mt->fx, (double)mt->dg… in TaoLineSearchMonitor_MT()
29 …IIPrintf(ls->viewer, "sty: %g, fy: %g, dgy: %g\n", (double)mt->sty, (double)mt->fy, (double)mt->dg… in TaoLineSearchMonitor_MT()
35 TaoLineSearch_MT *mt = (TaoLineSearch_MT *)ls->data; in TaoLineSearchApply_MT() local
48 if (!mt->work) { in TaoLineSearchApply_MT()
49 PetscCall(VecDuplicate(x, &mt->work)); in TaoLineSearchApply_MT()
50 mt->x = x; in TaoLineSearchApply_MT()
51 PetscCall(PetscObjectReference((PetscObject)mt->x)); in TaoLineSearchApply_MT()
52 } else if (x != mt->x) { in TaoLineSearchApply_MT()
53 PetscCall(VecDestroy(&mt->work)); in TaoLineSearchApply_MT()
54 PetscCall(VecDuplicate(x, &mt->work)); in TaoLineSearchApply_MT()
55 PetscCall(PetscObjectDereference((PetscObject)mt->x)); in TaoLineSearchApply_MT()
56 mt->x = x; in TaoLineSearchApply_MT()
57 PetscCall(PetscObjectReference((PetscObject)mt->x)); in TaoLineSearchApply_MT()
68 PetscCall(VecGetLocalSize(mt->x, &n2)); in TaoLineSearchApply_MT()
70 PetscCall(VecGetSize(mt->x, &nn2)); in TaoLineSearchApply_MT()
92 mt->bracket = 0; in TaoLineSearchApply_MT()
98 PetscCall(VecCopy(x, mt->work)); in TaoLineSearchApply_MT()
115 if (mt->bracket) { in TaoLineSearchApply_MT()
129 …mt->bracket && (ls->step <= ls->stepmin || ls->step >= ls->stepmax)) || (mt->bracket && (ls->stepm… in TaoLineSearchApply_MT()
132 PetscCall(VecWAXPY(mt->work, ls->step, s, x)); /* W = X + step*S */ in TaoLineSearchApply_MT()
140 if (ls->bounded) PetscCall(VecMedian(ls->lower, mt->work, ls->upper, mt->work)); in TaoLineSearchApply_MT()
144 PetscCall(TaoLineSearchComputeObjectiveAndGTS(ls, mt->work, f, &dg)); in TaoLineSearchApply_MT()
147 PetscCall(TaoLineSearchComputeObjectiveAndGradient(ls, mt->work, f, g)); in TaoLineSearchApply_MT()
151 PetscCall(VecDot(g, mt->work, &dg2)); in TaoLineSearchApply_MT()
160 mt->stx = stx; in TaoLineSearchApply_MT()
161 mt->fx = fx; in TaoLineSearchApply_MT()
162 mt->dgx = dgx; in TaoLineSearchApply_MT()
163 mt->sty = sty; in TaoLineSearchApply_MT()
164 mt->fy = fy; in TaoLineSearchApply_MT()
165 mt->dgy = dgy; in TaoLineSearchApply_MT()
196 if ((mt->bracket && (ls->step <= ls->stepmin || ls->step >= ls->stepmax)) || !mt->infoc) { in TaoLineSearchApply_MT()
211 if (mt->bracket && (ls->stepmax - ls->stepmin <= ls->rtol * ls->stepmax)) { in TaoLineSearchApply_MT()
249 if (mt->bracket) { in TaoLineSearchApply_MT()
266 PetscCall(VecCopy(mt->work, x)); in TaoLineSearchApply_MT()