Lines Matching refs:Hpre
207 static PetscErrorCode HessianMisfit(Tao tao, Vec x, Mat H, Mat Hpre, void *_ctx) in HessianMisfit() argument
213 if (Hpre != ctx->W) PetscCall(MatCopy(ctx->W, Hpre, DIFFERENT_NONZERO_PATTERN)); in HessianMisfit()
264 static PetscErrorCode HessianMisfitADMM(Tao tao, Vec x, Mat H, Mat Hpre, void *_ctx) in HessianMisfitADMM() argument
271 if (Hpre != H) PetscCall(MatCopy(H, Hpre, DIFFERENT_NONZERO_PATTERN)); in HessianMisfitADMM()
311 static PetscErrorCode HessianRegularization(Tao tao, Vec x, Mat H, Mat Hpre, void *_ctx) in HessianRegularization() argument
322 if (Hpre != H) { in HessianRegularization()
323 PetscCall(MatZeroEntries(Hpre)); in HessianRegularization()
324 PetscCall(MatShift(Hpre, ctx->mu)); in HessianRegularization()
353 if (Hpre != H) { in HessianRegularization()
354 PetscCall(MatZeroEntries(Hpre)); in HessianRegularization()
355 PetscCall(MatDiagonalSet(Hpre, copy1, INSERT_VALUES)); in HessianRegularization()
408 static PetscErrorCode HessianRegularizationADMM(Tao tao, Vec x, Mat H, Mat Hpre, void *_ctx) in HessianRegularizationADMM() argument
417 if (Hpre != H) { in HessianRegularizationADMM()
418 PetscCall(MatZeroEntries(Hpre)); in HessianRegularizationADMM()
419 PetscCall(MatShift(Hpre, ctx->mu)); in HessianRegularizationADMM()
422 PetscCall(HessianMisfit(tao, x, H, Hpre, (void *)ctx)); in HessianRegularizationADMM()
424 if (Hpre != H) PetscCall(MatShift(Hpre, ctx->mu)); in HessianRegularizationADMM()
457 static PetscErrorCode HessianComplete(Tao tao, Vec x, Mat H, Mat Hpre, PetscCtx ctx) in HessianComplete() argument
466 if (Hpre != H) PetscCall(MatCopy(H, Hpre, DIFFERENT_NONZERO_PATTERN)); in HessianComplete()