| /petsc/src/tao/interface/ |
| H A D | taosolver.c | 26 Tao tao = (Tao)ctx; in KSPPreSolve_TAOEW_Private() local 27 SNES snes_ewdummy = tao->snes_ewdummy; in KSPPreSolve_TAOEW_Private() 33 snes_ewdummy->rtol = tao->gttol; in KSPPreSolve_TAOEW_Private() 34 snes_ewdummy->iter = tao->niter; in KSPPreSolve_TAOEW_Private() 43 Tao tao = (Tao)ctx; in KSPPostSolve_TAOEW_Private() local 44 SNES snes_ewdummy = tao->snes_ewdummy; in KSPPostSolve_TAOEW_Private() 52 static PetscErrorCode TaoSetUpEW_Private(Tao tao) in TaoSetUpEW_Private() argument 58 if (!tao->ksp) PetscFunctionReturn(PETSC_SUCCESS); in TaoSetUpEW_Private() 59 if (tao->ksp_ewconv) { in TaoSetUpEW_Private() 60 …if (!tao->snes_ewdummy) PetscCall(SNESCreate(PetscObjectComm((PetscObject)tao), &tao->snes_ewdummy… in TaoSetUpEW_Private() [all …]
|
| H A D | taosolver_bounds.c | 17 PetscErrorCode TaoSetVariableBounds(Tao tao, Vec XL, Vec XU) in TaoSetVariableBounds() argument 20 PetscValidHeaderSpecific(tao, TAO_CLASSID, 1); in TaoSetVariableBounds() 25 PetscCall(VecDestroy(&tao->XL)); in TaoSetVariableBounds() 26 PetscCall(VecDestroy(&tao->XU)); in TaoSetVariableBounds() 27 tao->XL = XL; in TaoSetVariableBounds() 28 tao->XU = XU; in TaoSetVariableBounds() 29 tao->bounded = (PetscBool)(XL || XU); in TaoSetVariableBounds() 56 PetscErrorCode TaoSetVariableBoundsRoutine(Tao tao, PetscErrorCode (*func)(Tao tao, Vec xl, Vec xu,… in TaoSetVariableBoundsRoutine() argument 59 PetscValidHeaderSpecific(tao, TAO_CLASSID, 1); in TaoSetVariableBoundsRoutine() 60 tao->user_boundsP = ctx; in TaoSetVariableBoundsRoutine() [all …]
|
| H A D | taosolver_fg.c | 16 PetscErrorCode TaoSetSolution(Tao tao, Vec x0) in TaoSetSolution() argument 19 PetscValidHeaderSpecific(tao, TAO_CLASSID, 1); in TaoSetSolution() 22 PetscCall(VecDestroy(&tao->solution)); in TaoSetSolution() 23 tao->solution = x0; in TaoSetSolution() 27 PetscErrorCode TaoTestGradient(Tao tao, Vec x, Vec g1) in TaoTestGradient() argument 40 PetscObjectOptionsBegin((PetscObject)tao); in TaoTestGradient() 49 PetscCall(PetscObjectGetComm((PetscObject)tao, &comm)); in TaoTestGradient() 52 PetscCall(PetscViewerASCIISetTab(viewer, ((PetscObject)tao)->tablevel)); in TaoTestGradient() 69 PetscCall(TaoDefaultComputeGradient(tao, x, g2, NULL)); in TaoTestGradient() 127 PetscErrorCode TaoComputeGradient(Tao tao, Vec X, Vec G) in TaoComputeGradient() argument [all …]
|
| H A D | taosolver_hj.c | 27 PetscErrorCode TaoSetHessian(Tao tao, Mat H, Mat Hpre, PetscErrorCode (*func)(Tao tao, Vec x, Mat H… in TaoSetHessian() argument 30 PetscValidHeaderSpecific(tao, TAO_CLASSID, 1); in TaoSetHessian() 33 PetscCheckSameComm(tao, 1, H, 2); in TaoSetHessian() 37 PetscCheckSameComm(tao, 1, Hpre, 3); in TaoSetHessian() 39 if (ctx) tao->user_hessP = ctx; in TaoSetHessian() 40 if (func) tao->ops->computehessian = func; in TaoSetHessian() 43 PetscCall(MatDestroy(&tao->hessian)); in TaoSetHessian() 44 tao->hessian = H; in TaoSetHessian() 48 PetscCall(MatDestroy(&tao->hessian_pre)); in TaoSetHessian() 49 tao->hessian_pre = Hpre; in TaoSetHessian() [all …]
|
| /petsc/src/tao/bound/impls/tron/ |
| H A D | tron.c | 6 static PetscErrorCode TaoDestroy_TRON(Tao tao) in TaoDestroy_TRON() argument 8 TAO_TRON *tron = (TAO_TRON *)tao->data; in TaoDestroy_TRON() 21 PetscCall(KSPDestroy(&tao->ksp)); in TaoDestroy_TRON() 22 PetscCall(PetscFree(tao->data)); in TaoDestroy_TRON() 26 static PetscErrorCode TaoSetFromOptions_TRON(Tao tao, PetscOptionItems PetscOptionsObject) in TaoSetFromOptions_TRON() argument 28 TAO_TRON *tron = (TAO_TRON *)tao->data; in TaoSetFromOptions_TRON() 35 PetscCall(KSPSetFromOptions(tao->ksp)); in TaoSetFromOptions_TRON() 39 static PetscErrorCode TaoView_TRON(Tao tao, PetscViewer viewer) in TaoView_TRON() argument 41 TAO_TRON *tron = (TAO_TRON *)tao->data; in TaoView_TRON() 53 static PetscErrorCode TaoSetup_TRON(Tao tao) in TaoSetup_TRON() argument [all …]
|
| /petsc/src/tao/complementarity/impls/ssls/ |
| H A D | ssfls.c | 3 static PetscErrorCode TaoSetUp_SSFLS(Tao tao) in TaoSetUp_SSFLS() argument 5 TAO_SSLS *ssls = (TAO_SSLS *)tao->data; in TaoSetUp_SSFLS() 8 PetscCall(VecDuplicate(tao->solution, &tao->gradient)); in TaoSetUp_SSFLS() 9 PetscCall(VecDuplicate(tao->solution, &tao->stepdirection)); in TaoSetUp_SSFLS() 10 PetscCall(VecDuplicate(tao->solution, &ssls->w)); in TaoSetUp_SSFLS() 11 PetscCall(VecDuplicate(tao->solution, &ssls->ff)); in TaoSetUp_SSFLS() 12 PetscCall(VecDuplicate(tao->solution, &ssls->dpsi)); in TaoSetUp_SSFLS() 13 PetscCall(VecDuplicate(tao->solution, &ssls->da)); in TaoSetUp_SSFLS() 14 PetscCall(VecDuplicate(tao->solution, &ssls->db)); in TaoSetUp_SSFLS() 15 PetscCall(VecDuplicate(tao->solution, &ssls->t1)); in TaoSetUp_SSFLS() [all …]
|
| H A D | ssils.c | 3 static PetscErrorCode TaoSetUp_SSILS(Tao tao) in TaoSetUp_SSILS() argument 5 TAO_SSLS *ssls = (TAO_SSLS *)tao->data; in TaoSetUp_SSILS() 8 PetscCall(VecDuplicate(tao->solution, &tao->gradient)); in TaoSetUp_SSILS() 9 PetscCall(VecDuplicate(tao->solution, &tao->stepdirection)); in TaoSetUp_SSILS() 10 PetscCall(VecDuplicate(tao->solution, &ssls->ff)); in TaoSetUp_SSILS() 11 PetscCall(VecDuplicate(tao->solution, &ssls->dpsi)); in TaoSetUp_SSILS() 12 PetscCall(VecDuplicate(tao->solution, &ssls->da)); in TaoSetUp_SSILS() 13 PetscCall(VecDuplicate(tao->solution, &ssls->db)); in TaoSetUp_SSILS() 14 PetscCall(VecDuplicate(tao->solution, &ssls->t1)); in TaoSetUp_SSILS() 15 PetscCall(VecDuplicate(tao->solution, &ssls->t2)); in TaoSetUp_SSILS() [all …]
|
| /petsc/src/tao/unconstrained/impls/ntr/ |
| H A D | ntr.c | 43 static PetscErrorCode TaoSolve_NTR(Tao tao) in TaoSolve_NTR() argument 45 TAO_NTR *tr = (TAO_NTR *)tao->data; in TaoSolve_NTR() 62 …if (tao->XL || tao->XU || tao->ops->computebounds) PetscCall(PetscInfo(tao, "WARNING: Variable bou… in TaoSolve_NTR() 64 PetscCall(KSPGetType(tao->ksp, &ksp_type)); in TaoSolve_NTR() 68 …PetscCheck(is_nash || is_stcg || is_gltr, PetscObjectComm((PetscObject)tao), PETSC_ERR_SUP, "TAO_N… in TaoSolve_NTR() 71 tao->trust = tao->trust0; in TaoSolve_NTR() 72 tao->trust = PetscMax(tao->trust, tr->min_radius); in TaoSolve_NTR() 73 tao->trust = PetscMin(tao->trust, tr->max_radius); in TaoSolve_NTR() 76 PetscCall(KSPGetPC(tao->ksp, &pc)); in TaoSolve_NTR() 82 PetscCall(VecGetLocalSize(tao->solution, &n)); in TaoSolve_NTR() [all …]
|
| /petsc/src/tao/unconstrained/impls/cg/ |
| H A D | taocg.c | 13 static PetscErrorCode TaoSolve_CG(Tao tao) in TaoSolve_CG() argument 15 TAO_CG *cgP = (TAO_CG *)tao->data; in TaoSolve_CG() 21 …if (tao->XL || tao->XU || tao->ops->computebounds) PetscCall(PetscInfo(tao, "WARNING: Variable bou… in TaoSolve_CG() 24 PetscCall(TaoComputeObjectiveAndGradient(tao, tao->solution, &f, tao->gradient)); in TaoSolve_CG() 25 PetscCall(VecNorm(tao->gradient, NORM_2, &gnorm)); in TaoSolve_CG() 26 …fOrNanReal(f) && !PetscIsInfOrNanReal(gnorm), PetscObjectComm((PetscObject)tao), PETSC_ERR_USER, "… in TaoSolve_CG() 28 tao->reason = TAO_CONTINUE_ITERATING; in TaoSolve_CG() 29 PetscCall(TaoLogConvergenceHistory(tao, f, gnorm, 0.0, tao->ksp_its)); in TaoSolve_CG() 30 PetscCall(TaoMonitor(tao, tao->niter, f, gnorm, 0.0, step)); in TaoSolve_CG() 31 PetscUseTypeMethod(tao, convergencetest, tao->cnvP); in TaoSolve_CG() [all …]
|
| /petsc/src/tao/unconstrained/impls/ntl/ |
| H A D | ntl.c | 28 static PetscErrorCode TaoSolve_NTL(Tao tao) in TaoSolve_NTL() argument 30 TAO_NTL *tl = (TAO_NTL *)tao->data; in TaoSolve_NTL() 56 …if (tao->XL || tao->XU || tao->ops->computebounds) PetscCall(PetscInfo(tao, "WARNING: Variable bou… in TaoSolve_NTL() 58 PetscCall(KSPGetType(tao->ksp, &ksp_type)); in TaoSolve_NTL() 62 …PetscCheck(is_nash || is_stcg || is_gltr, PetscObjectComm((PetscObject)tao), PETSC_ERR_SUP, "TAO_N… in TaoSolve_NTL() 65 tao->trust = tao->trust0; in TaoSolve_NTL() 66 tao->trust = PetscMax(tao->trust, tl->min_radius); in TaoSolve_NTL() 67 tao->trust = PetscMin(tao->trust, tl->max_radius); in TaoSolve_NTL() 70 PetscCall(KSPGetPC(tao->ksp, &pc)); in TaoSolve_NTL() 76 PetscCall(VecGetLocalSize(tao->solution, &n)); in TaoSolve_NTL() [all …]
|
| /petsc/src/tao/quadratic/impls/gpcg/ |
| H A D | gpcg.c | 4 static PetscErrorCode GPCGGradProjections(Tao tao); 7 static PetscErrorCode TaoDestroy_GPCG(Tao tao) in TaoDestroy_GPCG() argument 9 TAO_GPCG *gpcg = (TAO_GPCG *)tao->data; in TaoDestroy_GPCG() 23 PetscCall(KSPDestroy(&tao->ksp)); in TaoDestroy_GPCG() 24 PetscCall(PetscFree(tao->data)); in TaoDestroy_GPCG() 28 static PetscErrorCode TaoSetFromOptions_GPCG(Tao tao, PetscOptionItems PetscOptionsObject) in TaoSetFromOptions_GPCG() argument 30 TAO_GPCG *gpcg = (TAO_GPCG *)tao->data; in TaoSetFromOptions_GPCG() 37 PetscCall(KSPSetFromOptions(tao->ksp)); in TaoSetFromOptions_GPCG() 38 PetscCall(TaoLineSearchSetFromOptions(tao->linesearch)); in TaoSetFromOptions_GPCG() 42 static PetscErrorCode TaoView_GPCG(Tao tao, PetscViewer viewer) in TaoView_GPCG() argument [all …]
|
| /petsc/src/tao/bound/impls/blmvm/ |
| H A D | blmvm.c | 5 static PetscErrorCode TaoSolve_BLMVM(Tao tao) in TaoSolve_BLMVM() argument 7 TAO_BLMVM *blmP = (TAO_BLMVM *)tao->data; in TaoSolve_BLMVM() 14 PetscCall(TaoComputeVariableBounds(tao)); in TaoSolve_BLMVM() 15 PetscCall(VecMedian(tao->XL, tao->solution, tao->XU, tao->solution)); in TaoSolve_BLMVM() 16 PetscCall(TaoLineSearchSetVariableBounds(tao->linesearch, tao->XL, tao->XU)); in TaoSolve_BLMVM() 19 PetscCall(TaoComputeObjectiveAndGradient(tao, tao->solution, &f, blmP->unprojected_gradient)); in TaoSolve_BLMVM() 20 …ll(VecBoundGradientProjection(blmP->unprojected_gradient, tao->solution, tao->XL, tao->XU, tao->gr… in TaoSolve_BLMVM() 22 PetscCall(TaoGradientNorm(tao, tao->gradient, NORM_2, &gnorm)); in TaoSolve_BLMVM() 23 …fOrNanReal(f) && !PetscIsInfOrNanReal(gnorm), PetscObjectComm((PetscObject)tao), PETSC_ERR_USER, "… in TaoSolve_BLMVM() 25 tao->reason = TAO_CONTINUE_ITERATING; in TaoSolve_BLMVM() [all …]
|
| /petsc/src/tao/bound/impls/bnk/ |
| H A D | bntl.c | 106 PetscErrorCode TaoSolve_BNTL(Tao tao) in TaoSolve_BNTL() argument 108 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoSolve_BNTL() 118 tao->reason = TAO_CONTINUE_ITERATING; in TaoSolve_BNTL() 119 PetscCall(TaoBNKInitialize(tao, bnk->init_type, &needH)); in TaoSolve_BNTL() 120 if (tao->reason != TAO_CONTINUE_ITERATING) PetscFunctionReturn(PETSC_SUCCESS); in TaoSolve_BNTL() 123 while (tao->reason == TAO_CONTINUE_ITERATING) { in TaoSolve_BNTL() 125 if (tao->ops->update) { in TaoSolve_BNTL() 126 PetscUseTypeMethod(tao, update, tao->niter, tao->user_update); in TaoSolve_BNTL() 127 PetscCall(TaoComputeObjective(tao, tao->solution, &bnk->f)); in TaoSolve_BNTL() 132 PetscCall(TaoBNKTakeCGSteps(tao, &cgTerminate)); in TaoSolve_BNTL() [all …]
|
| H A D | bntr.c | 89 PetscErrorCode TaoSolve_BNTR(Tao tao) in TaoSolve_BNTR() argument 91 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoSolve_BNTR() 100 tao->reason = TAO_CONTINUE_ITERATING; in TaoSolve_BNTR() 101 PetscCall(TaoBNKInitialize(tao, bnk->init_type, &needH)); in TaoSolve_BNTR() 102 if (tao->reason != TAO_CONTINUE_ITERATING) PetscFunctionReturn(PETSC_SUCCESS); in TaoSolve_BNTR() 105 while (tao->reason == TAO_CONTINUE_ITERATING) { in TaoSolve_BNTR() 107 if (tao->ops->update) { in TaoSolve_BNTR() 108 PetscUseTypeMethod(tao, update, tao->niter, tao->user_update); in TaoSolve_BNTR() 109 PetscCall(TaoComputeObjective(tao, tao->solution, &bnk->f)); in TaoSolve_BNTR() 114 PetscCall(TaoBNKTakeCGSteps(tao, &cgTerminate)); in TaoSolve_BNTR() [all …]
|
| H A D | bnk.c | 11 static PetscErrorCode TaoBNKComputeSubHessian(Tao tao) in TaoBNKComputeSubHessian() argument 13 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoBNKComputeSubHessian() 19 …PetscCall(MatCreateSubMatrix(tao->hessian, bnk->inactive_idx, bnk->inactive_idx, MAT_INITIAL_MATRI… in TaoBNKComputeSubHessian() 20 if (tao->hessian == tao->hessian_pre) { in TaoBNKComputeSubHessian() 24 …PetscCall(MatCreateSubMatrix(tao->hessian_pre, bnk->inactive_idx, bnk->inactive_idx, MAT_INITIAL_M… in TaoBNKComputeSubHessian() 28 PetscCall(PetscObjectReference((PetscObject)tao->hessian)); in TaoBNKComputeSubHessian() 29 bnk->H_inactive = tao->hessian; in TaoBNKComputeSubHessian() 30 PetscCall(PetscObjectReference((PetscObject)tao->hessian_pre)); in TaoBNKComputeSubHessian() 31 bnk->Hpre_inactive = tao->hessian_pre; in TaoBNKComputeSubHessian() 39 PetscErrorCode TaoBNKInitialize(Tao tao, PetscInt initType, PetscBool *needH) in TaoBNKInitialize() argument [all …]
|
| H A D | bnls.c | 88 PetscErrorCode TaoSolve_BNLS(Tao tao) in TaoSolve_BNLS() argument 90 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoSolve_BNLS() 99 tao->reason = TAO_CONTINUE_ITERATING; in TaoSolve_BNLS() 100 PetscCall(TaoBNKInitialize(tao, bnk->init_type, &needH)); in TaoSolve_BNLS() 101 if (tao->reason != TAO_CONTINUE_ITERATING) PetscFunctionReturn(PETSC_SUCCESS); in TaoSolve_BNLS() 104 while (tao->reason == TAO_CONTINUE_ITERATING) { in TaoSolve_BNLS() 106 if (tao->ops->update) { in TaoSolve_BNLS() 107 PetscUseTypeMethod(tao, update, tao->niter, tao->user_update); in TaoSolve_BNLS() 108 PetscCall(TaoComputeObjective(tao, tao->solution, &bnk->f)); in TaoSolve_BNLS() 113 PetscCall(TaoBNKTakeCGSteps(tao, &cgTerminate)); in TaoSolve_BNLS() [all …]
|
| /petsc/src/tao/unconstrained/impls/lmvm/ |
| H A D | lmvm.c | 7 static PetscErrorCode TaoSolve_LMVM(Tao tao) in TaoSolve_LMVM() argument 9 TAO_LMVM *lmP = (TAO_LMVM *)tao->data; in TaoSolve_LMVM() 16 …if (tao->XL || tao->XU || tao->ops->computebounds) PetscCall(PetscInfo(tao, "WARNING: Variable bou… in TaoSolve_LMVM() 19 PetscCall(TaoComputeObjectiveAndGradient(tao, tao->solution, &f, tao->gradient)); in TaoSolve_LMVM() 20 PetscCall(TaoGradientNorm(tao, tao->gradient, NORM_2, &gnorm)); in TaoSolve_LMVM() 22 …fOrNanReal(f) && !PetscIsInfOrNanReal(gnorm), PetscObjectComm((PetscObject)tao), PETSC_ERR_USER, "… in TaoSolve_LMVM() 24 tao->reason = TAO_CONTINUE_ITERATING; in TaoSolve_LMVM() 25 PetscCall(TaoLogConvergenceHistory(tao, f, gnorm, 0.0, tao->ksp_its)); in TaoSolve_LMVM() 26 PetscCall(TaoMonitor(tao, tao->niter, f, gnorm, 0.0, step)); in TaoSolve_LMVM() 27 PetscUseTypeMethod(tao, convergencetest, tao->cnvP); in TaoSolve_LMVM() [all …]
|
| /petsc/src/tao/complementarity/impls/asls/ |
| H A D | asils.c | 41 static PetscErrorCode TaoSetUp_ASILS(Tao tao) in TaoSetUp_ASILS() argument 43 TAO_SSLS *asls = (TAO_SSLS *)tao->data; in TaoSetUp_ASILS() 46 PetscCall(VecDuplicate(tao->solution, &tao->gradient)); in TaoSetUp_ASILS() 47 PetscCall(VecDuplicate(tao->solution, &tao->stepdirection)); in TaoSetUp_ASILS() 48 PetscCall(VecDuplicate(tao->solution, &asls->ff)); in TaoSetUp_ASILS() 49 PetscCall(VecDuplicate(tao->solution, &asls->dpsi)); in TaoSetUp_ASILS() 50 PetscCall(VecDuplicate(tao->solution, &asls->da)); in TaoSetUp_ASILS() 51 PetscCall(VecDuplicate(tao->solution, &asls->db)); in TaoSetUp_ASILS() 52 PetscCall(VecDuplicate(tao->solution, &asls->t1)); in TaoSetUp_ASILS() 53 PetscCall(VecDuplicate(tao->solution, &asls->t2)); in TaoSetUp_ASILS() [all …]
|
| H A D | asfls.c | 41 static PetscErrorCode TaoSetUp_ASFLS(Tao tao) in TaoSetUp_ASFLS() argument 43 TAO_SSLS *asls = (TAO_SSLS *)tao->data; in TaoSetUp_ASFLS() 46 PetscCall(VecDuplicate(tao->solution, &tao->gradient)); in TaoSetUp_ASFLS() 47 PetscCall(VecDuplicate(tao->solution, &tao->stepdirection)); in TaoSetUp_ASFLS() 48 PetscCall(VecDuplicate(tao->solution, &asls->ff)); in TaoSetUp_ASFLS() 49 PetscCall(VecDuplicate(tao->solution, &asls->dpsi)); in TaoSetUp_ASFLS() 50 PetscCall(VecDuplicate(tao->solution, &asls->da)); in TaoSetUp_ASFLS() 51 PetscCall(VecDuplicate(tao->solution, &asls->db)); in TaoSetUp_ASFLS() 52 PetscCall(VecDuplicate(tao->solution, &asls->t1)); in TaoSetUp_ASFLS() 53 PetscCall(VecDuplicate(tao->solution, &asls->t2)); in TaoSetUp_ASFLS() [all …]
|
| /petsc/src/tao/unconstrained/impls/nls/ |
| H A D | nls.c | 38 static PetscErrorCode TaoSolve_NLS(Tao tao) in TaoSolve_NLS() argument 40 TAO_NLS *nlsP = (TAO_NLS *)tao->data; in TaoSolve_NLS() 63 …if (tao->XL || tao->XU || tao->ops->computebounds) PetscCall(PetscInfo(tao, "WARNING: Variable bou… in TaoSolve_NLS() 81 PetscCall(KSPGetType(tao->ksp, &ksp_type)); in TaoSolve_NLS() 86 PetscCall(KSPCGSetRadius(tao->ksp, nlsP->max_radius)); in TaoSolve_NLS() 89 …PetscCheck(tao->trust0 >= 0.0, PetscObjectComm((PetscObject)tao), PETSC_ERR_ARG_OUTOFRANGE, "Initi… in TaoSolve_NLS() 90 tao->trust = tao->trust0; in TaoSolve_NLS() 91 tao->trust = PetscMax(tao->trust, nlsP->min_radius); in TaoSolve_NLS() 92 tao->trust = PetscMin(tao->trust, nlsP->max_radius); in TaoSolve_NLS() 96 PetscCall(TaoComputeObjectiveAndGradient(tao, tao->solution, &f, tao->gradient)); in TaoSolve_NLS() [all …]
|
| /petsc/src/binding/petsc4py/test/ |
| H A D | test_tao.py | 11 def __call__(self, tao, x): argument 16 def __call__(self, tao, x, g): argument 23 def __call__(self, tao, x, c): argument 29 def __call__(self, tao, x, J, P): argument 38 def __call__(self, tao, x, c): argument 44 def __call__(self, tao, x, J, P): argument 56 self.tao = PETSc.TAO().create(comm=self.COMM) 59 self.tao = None 63 tao = self.tao 67 tao.setObjective(objective) [all …]
|
| H A D | test_tao_py.py | 9 def __call__(self, tao, x): argument 14 def __call__(self, tao, x, g): argument 28 def create(self, tao): argument 32 def destroy(self, tao): argument 36 def setFromOptions(self, tao): argument 39 def setUp(self, tao): argument 41 self.testvec = tao.getSolution().duplicate() 43 def solve(self, tao): argument 46 def step(self, tao, x, g, s): argument 48 tao.computeGradient(x, g) [all …]
|
| /petsc/src/tao/pde_constrained/impls/lcl/ |
| H A D | lcl.c | 7 static PetscErrorCode TaoDestroy_LCL(Tao tao) in TaoDestroy_LCL() argument 9 TAO_LCL *lclP = (TAO_LCL *)tao->data; in TaoDestroy_LCL() 12 if (tao->setupcalled) { in TaoDestroy_LCL() 51 PetscCall(ISDestroy(&tao->state_is)); in TaoDestroy_LCL() 52 PetscCall(ISDestroy(&tao->design_is)); in TaoDestroy_LCL() 58 PetscCall(KSPDestroy(&tao->ksp)); in TaoDestroy_LCL() 59 PetscCall(PetscFree(tao->data)); in TaoDestroy_LCL() 63 static PetscErrorCode TaoSetFromOptions_LCL(Tao tao, PetscOptionItems PetscOptionsObject) in TaoSetFromOptions_LCL() argument 65 TAO_LCL *lclP = (TAO_LCL *)tao->data; in TaoSetFromOptions_LCL() 83 PetscCall(TaoLineSearchSetFromOptions(tao->linesearch)); in TaoSetFromOptions_LCL() [all …]
|
| /petsc/src/tao/constrained/impls/almm/ |
| H A D | almmutils.c | 19 PetscErrorCode TaoALMMGetType(Tao tao, TaoALMMType *type) in TaoALMMGetType() argument 22 PetscValidHeaderSpecific(tao, TAO_CLASSID, 1); in TaoALMMGetType() 24 PetscUseMethod(tao, "TaoALMMGetType_C", (Tao, TaoALMMType *), (tao, type)); in TaoALMMGetType() 28 PetscErrorCode TaoALMMGetType_Private(Tao tao, TaoALMMType *type) in TaoALMMGetType_Private() argument 30 TAO_ALMM *auglag = (TAO_ALMM *)tao->data; in TaoALMMGetType_Private() 48 PetscErrorCode TaoALMMSetType(Tao tao, TaoALMMType type) in TaoALMMSetType() argument 51 PetscValidHeaderSpecific(tao, TAO_CLASSID, 1); in TaoALMMSetType() 52 PetscTryMethod(tao, "TaoALMMSetType_C", (Tao, TaoALMMType), (tao, type)); in TaoALMMSetType() 56 PetscErrorCode TaoALMMSetType_Private(Tao tao, TaoALMMType type) in TaoALMMSetType_Private() argument 58 TAO_ALMM *auglag = (TAO_ALMM *)tao->data; in TaoALMMSetType_Private() [all …]
|
| /petsc/src/tao/unconstrained/impls/owlqn/ |
| H A D | owlqn.c | 52 static PetscErrorCode TaoSolve_OWLQN(Tao tao) in TaoSolve_OWLQN() argument 54 TAO_OWLQN *lmP = (TAO_OWLQN *)tao->data; in TaoSolve_OWLQN() 62 …if (tao->XL || tao->XU || tao->ops->computebounds) PetscCall(PetscInfo(tao, "WARNING: Variable bou… in TaoSolve_OWLQN() 65 PetscCall(TaoComputeObjectiveAndGradient(tao, tao->solution, &f, tao->gradient)); in TaoSolve_OWLQN() 66 PetscCall(VecCopy(tao->gradient, lmP->GV)); in TaoSolve_OWLQN() 67 PetscCall(ComputePseudoGrad_OWLQN(tao->solution, lmP->GV, lmP->lambda)); in TaoSolve_OWLQN() 69 …fOrNanReal(f) && !PetscIsInfOrNanReal(gnorm), PetscObjectComm((PetscObject)tao), PETSC_ERR_USER, "… in TaoSolve_OWLQN() 71 tao->reason = TAO_CONTINUE_ITERATING; in TaoSolve_OWLQN() 72 PetscCall(TaoLogConvergenceHistory(tao, f, gnorm, 0.0, tao->ksp_its)); in TaoSolve_OWLQN() 73 PetscCall(TaoMonitor(tao, tao->niter, f, gnorm, 0.0, step)); in TaoSolve_OWLQN() [all …]
|