Lines Matching refs:bmrm

292   TAO_BMRM *bmrm = (TAO_BMRM *)tao->data;  in TaoSolve_BMRM()  local
313 lambda = bmrm->lambda; in TaoSolve_BMRM()
333 PetscCall(VecScatterCreateToZero(W, &bmrm->scatter, &bmrm->local_w)); in TaoSolve_BMRM()
334 PetscCall(VecAssemblyBegin(bmrm->local_w)); in TaoSolve_BMRM()
335 PetscCall(VecAssemblyEnd(bmrm->local_w)); in TaoSolve_BMRM()
352 PetscCall(VecScatterBegin(bmrm->scatter, G, bmrm->local_w, INSERT_VALUES, SCATTER_FORWARD)); in TaoSolve_BMRM()
353 PetscCall(VecScatterEnd(bmrm->scatter, G, bmrm->local_w, INSERT_VALUES, SCATTER_FORWARD)); in TaoSolve_BMRM()
358 PetscCall(make_grad_node(bmrm->local_w, &pgrad)); in TaoSolve_BMRM()
371 PetscCall(VecDot(pgrad->V, bmrm->local_w, &reg)); in TaoSolve_BMRM()
383 PetscCall(VecSet(bmrm->local_w, 0.0)); in TaoSolve_BMRM()
387 PetscCall(VecAXPY(bmrm->local_w, -df.x[i] / lambda, pgrad->V)); in TaoSolve_BMRM()
391 PetscCall(VecNorm(bmrm->local_w, NORM_2, &reg)); in TaoSolve_BMRM()
397 PetscCall(VecScatterBegin(bmrm->scatter, bmrm->local_w, W, INSERT_VALUES, SCATTER_REVERSE)); in TaoSolve_BMRM()
398 PetscCall(VecScatterEnd(bmrm->scatter, bmrm->local_w, W, INSERT_VALUES, SCATTER_REVERSE)); in TaoSolve_BMRM()
434 PetscCall(VecDestroy(&bmrm->local_w)); in TaoSolve_BMRM()
435 PetscCall(VecScatterDestroy(&bmrm->scatter)); in TaoSolve_BMRM()
456 TAO_BMRM *bmrm = (TAO_BMRM *)tao->data; in TaoSetFromOptions_BMRM() local
460 …PetscCall(PetscOptionsReal("-tao_bmrm_lambda", "regulariser weight", "", 100, &bmrm->lambda, NULL)… in TaoSetFromOptions_BMRM()
489 TAO_BMRM *bmrm; in TaoCreate_BMRM() local
498 PetscCall(PetscNew(&bmrm)); in TaoCreate_BMRM()
499 bmrm->lambda = 1.0; in TaoCreate_BMRM()
500 tao->data = (void *)bmrm; in TaoCreate_BMRM()