Lines Matching refs:mt

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