Lines Matching refs:regressor

5 static PetscErrorCode PetscRegressorLinearSetFitIntercept_Linear(PetscRegressor regressor, PetscBoo…  in PetscRegressorLinearSetFitIntercept_Linear()  argument
7 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorLinearSetFitIntercept_Linear()
14 static PetscErrorCode PetscRegressorLinearSetType_Linear(PetscRegressor regressor, PetscRegressorLi… in PetscRegressorLinearSetType_Linear() argument
16 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorLinearSetType_Linear()
23 static PetscErrorCode PetscRegressorLinearGetType_Linear(PetscRegressor regressor, PetscRegressorLi… in PetscRegressorLinearGetType_Linear() argument
25 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorLinearGetType_Linear()
32 static PetscErrorCode PetscRegressorLinearGetIntercept_Linear(PetscRegressor regressor, PetscScalar… in PetscRegressorLinearGetIntercept_Linear() argument
34 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorLinearGetIntercept_Linear()
41 static PetscErrorCode PetscRegressorLinearGetCoefficients_Linear(PetscRegressor regressor, Vec *coe… in PetscRegressorLinearGetCoefficients_Linear() argument
43 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorLinearGetCoefficients_Linear()
50 static PetscErrorCode PetscRegressorLinearGetKSP_Linear(PetscRegressor regressor, KSP *ksp) in PetscRegressorLinearGetKSP_Linear() argument
52 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorLinearGetKSP_Linear()
56 PetscCall(KSPCreate(PetscObjectComm((PetscObject)regressor), &linear->ksp)); in PetscRegressorLinearGetKSP_Linear()
57 PetscCall(PetscObjectIncrementTabLevel((PetscObject)linear->ksp, (PetscObject)regressor, 1)); in PetscRegressorLinearGetKSP_Linear()
58 PetscCall(PetscObjectSetOptions((PetscObject)linear->ksp, ((PetscObject)regressor)->options)); in PetscRegressorLinearGetKSP_Linear()
64 static PetscErrorCode PetscRegressorLinearSetUseKSP_Linear(PetscRegressor regressor, PetscBool flg) in PetscRegressorLinearSetUseKSP_Linear() argument
66 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorLinearSetUseKSP_Linear()
92 static PetscErrorCode PetscRegressorSetUp_Linear(PetscRegressor regressor) in PetscRegressorSetUp_Linear() argument
95 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorSetUp_Linear()
100 PetscCall(MatGetSize(regressor->training, &M, &N)); in PetscRegressorSetUp_Linear()
108 …PetscCall(MatCreateCentering(PetscObjectComm((PetscObject)regressor), PETSC_DECIDE, M, &linear->C)… in PetscRegressorSetUp_Linear()
109 PetscCall(MatCreate(PetscObjectComm((PetscObject)regressor), &linear->X)); in PetscRegressorSetUp_Linear()
113 PetscCall(MatCompositeAddMat(linear->X, regressor->training)); in PetscRegressorSetUp_Linear()
115 PetscCall(VecDuplicate(regressor->target, &linear->rhs)); in PetscRegressorSetUp_Linear()
116 PetscCall(MatMult(linear->C, regressor->target, linear->rhs)); in PetscRegressorSetUp_Linear()
119 linear->X = regressor->training; in PetscRegressorSetUp_Linear()
120 linear->rhs = regressor->target; in PetscRegressorSetUp_Linear()
129 …PetscCheck(linear->type == REGRESSOR_LINEAR_OLS, PetscObjectComm((PetscObject)regressor), PETSC_ER… in PetscRegressorSetUp_Linear()
131 if (!linear->ksp) PetscCall(PetscRegressorLinearGetKSP(regressor, &linear->ksp)); in PetscRegressorSetUp_Linear()
139 PetscCall(KSPSetOptionsPrefix(ksp, ((PetscObject)regressor)->prefix)); in PetscRegressorSetUp_Linear()
147 if (!regressor->tao) PetscCall(PetscRegressorGetTao(regressor, &tao)); in PetscRegressorSetUp_Linear()
158 PetscCall(PetscRegressorGetOptionsPrefix(regressor, &prefix)); in PetscRegressorSetUp_Linear()
159 PetscCall(TaoSetOptionsPrefix(regressor->tao, prefix)); in PetscRegressorSetUp_Linear()
163 regressor->regularizer_weight = 0.0; // OLS, by definition, uses a regularizer weight of 0 in PetscRegressorSetUp_Linear()
166 PetscCall(TaoBRGNSetRegularizationType(regressor->tao, TAOBRGN_REGULARIZATION_L1DICT)); in PetscRegressorSetUp_Linear()
169 PetscCall(TaoBRGNSetRegularizationType(regressor->tao, TAOBRGN_REGULARIZATION_L2PURE)); in PetscRegressorSetUp_Linear()
174 … if (!linear->use_ksp) PetscCall(TaoBRGNSetRegularizerWeight(tao, regressor->regularizer_weight)); in PetscRegressorSetUp_Linear()
180 static PetscErrorCode PetscRegressorReset_Linear(PetscRegressor regressor) in PetscRegressorReset_Linear() argument
182 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorReset_Linear()
199 static PetscErrorCode PetscRegressorDestroy_Linear(PetscRegressor regressor) in PetscRegressorDestroy_Linear() argument
202 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearSetFitIntercept_… in PetscRegressorDestroy_Linear()
203 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearSetUseKSP_C", NU… in PetscRegressorDestroy_Linear()
204 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearGetKSP_C", NULL)… in PetscRegressorDestroy_Linear()
205 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearGetCoefficients_… in PetscRegressorDestroy_Linear()
206 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearGetIntercept_C",… in PetscRegressorDestroy_Linear()
207 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearSetType_C", NULL… in PetscRegressorDestroy_Linear()
208 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearGetType_C", NULL… in PetscRegressorDestroy_Linear()
209 PetscCall(PetscRegressorReset_Linear(regressor)); in PetscRegressorDestroy_Linear()
210 PetscCall(PetscFree(regressor->data)); in PetscRegressorDestroy_Linear()
234 PetscErrorCode PetscRegressorLinearSetFitIntercept(PetscRegressor regressor, PetscBool flg) in PetscRegressorLinearSetFitIntercept() argument
238 PetscValidHeaderSpecific(regressor, PETSCREGRESSOR_CLASSID, 1); in PetscRegressorLinearSetFitIntercept()
239 PetscValidLogicalCollectiveBool(regressor, flg, 2); in PetscRegressorLinearSetFitIntercept()
240 …PetscTryMethod(regressor, "PetscRegressorLinearSetFitIntercept_C", (PetscRegressor, PetscBool), (r… in PetscRegressorLinearSetFitIntercept()
280 PetscErrorCode PetscRegressorLinearSetUseKSP(PetscRegressor regressor, PetscBool flg) in PetscRegressorLinearSetUseKSP() argument
284 PetscValidHeaderSpecific(regressor, PETSCREGRESSOR_CLASSID, 1); in PetscRegressorLinearSetUseKSP()
285 PetscValidLogicalCollectiveBool(regressor, flg, 2); in PetscRegressorLinearSetUseKSP()
286 …PetscTryMethod(regressor, "PetscRegressorLinearSetUseKSP_C", (PetscRegressor, PetscBool), (regress… in PetscRegressorLinearSetUseKSP()
290 static PetscErrorCode PetscRegressorSetFromOptions_Linear(PetscRegressor regressor, PetscOptionItem… in PetscRegressorSetFromOptions_Linear() argument
293 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorSetFromOptions_Linear()
298 if (set) PetscCall(PetscRegressorLinearSetFitIntercept(regressor, flg)); in PetscRegressorSetFromOptions_Linear()
300 if (set) PetscCall(PetscRegressorLinearSetUseKSP(regressor, flg)); in PetscRegressorSetFromOptions_Linear()
306 static PetscErrorCode PetscRegressorView_Linear(PetscRegressor regressor, PetscViewer viewer) in PetscRegressorView_Linear() argument
309 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorView_Linear()
344 PetscErrorCode PetscRegressorLinearGetKSP(PetscRegressor regressor, KSP *ksp) in PetscRegressorLinearGetKSP() argument
347 PetscValidHeaderSpecific(regressor, PETSCREGRESSOR_CLASSID, 1); in PetscRegressorLinearGetKSP()
349 …PetscUseMethod(regressor, "PetscRegressorLinearGetKSP_C", (PetscRegressor, KSP *), (regressor, ksp… in PetscRegressorLinearGetKSP()
368 PETSC_EXTERN PetscErrorCode PetscRegressorLinearGetCoefficients(PetscRegressor regressor, Vec *coef… in PetscRegressorLinearGetCoefficients() argument
371 PetscValidHeaderSpecific(regressor, PETSCREGRESSOR_CLASSID, 1); in PetscRegressorLinearGetCoefficients()
373 …PetscUseMethod(regressor, "PetscRegressorLinearGetCoefficients_C", (PetscRegressor, Vec *), (regre… in PetscRegressorLinearGetCoefficients()
392 PETSC_EXTERN PetscErrorCode PetscRegressorLinearGetIntercept(PetscRegressor regressor, PetscScalar … in PetscRegressorLinearGetIntercept() argument
395 PetscValidHeaderSpecific(regressor, PETSCREGRESSOR_CLASSID, 1); in PetscRegressorLinearGetIntercept()
397 …PetscUseMethod(regressor, "PetscRegressorLinearGetIntercept_C", (PetscRegressor, PetscScalar *), ( in PetscRegressorLinearGetIntercept()
419 PetscErrorCode PetscRegressorLinearSetType(PetscRegressor regressor, PetscRegressorLinearType type) in PetscRegressorLinearSetType() argument
422 PetscValidHeaderSpecific(regressor, PETSCREGRESSOR_CLASSID, 1); in PetscRegressorLinearSetType()
423 PetscValidLogicalCollectiveEnum(regressor, type, 2); in PetscRegressorLinearSetType()
424 …PetscTryMethod(regressor, "PetscRegressorLinearSetType_C", (PetscRegressor, PetscRegressorLinearTy… in PetscRegressorLinearSetType()
441 PetscErrorCode PetscRegressorLinearGetType(PetscRegressor regressor, PetscRegressorLinearType *type) in PetscRegressorLinearGetType() argument
444 PetscValidHeaderSpecific(regressor, PETSCREGRESSOR_CLASSID, 1); in PetscRegressorLinearGetType()
446 …PetscUseMethod(regressor, "PetscRegressorLinearGetType_C", (PetscRegressor, PetscRegressorLinearTy… in PetscRegressorLinearGetType()
450 static PetscErrorCode PetscRegressorFit_Linear(PetscRegressor regressor) in PetscRegressorFit_Linear() argument
452 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorFit_Linear()
459 if (linear->use_ksp) PetscCall(PetscRegressorLinearGetKSP(regressor, &linear->ksp)); in PetscRegressorFit_Linear()
469 PetscCall(TaoSolve(regressor->tao)); in PetscRegressorFit_Linear()
474 PetscCall(MatGetSize(regressor->training, NULL, &N)); in PetscRegressorFit_Linear()
476 PetscCall(VecMean(regressor->target, &target_mean)); in PetscRegressorFit_Linear()
479 PetscCall(MatGetColumnMeans(regressor->training, column_means_global)); in PetscRegressorFit_Linear()
502 static PetscErrorCode PetscRegressorPredict_Linear(PetscRegressor regressor, Mat X, Vec y) in PetscRegressorPredict_Linear() argument
504 PetscRegressor_Linear *linear = (PetscRegressor_Linear *)regressor->data; in PetscRegressorPredict_Linear()
530 PETSC_EXTERN PetscErrorCode PetscRegressorCreate_Linear(PetscRegressor regressor) in PetscRegressorCreate_Linear() argument
536 regressor->data = (void *)linear; in PetscRegressorCreate_Linear()
538 regressor->ops->setup = PetscRegressorSetUp_Linear; in PetscRegressorCreate_Linear()
539 regressor->ops->reset = PetscRegressorReset_Linear; in PetscRegressorCreate_Linear()
540 regressor->ops->destroy = PetscRegressorDestroy_Linear; in PetscRegressorCreate_Linear()
541 regressor->ops->setfromoptions = PetscRegressorSetFromOptions_Linear; in PetscRegressorCreate_Linear()
542 regressor->ops->view = PetscRegressorView_Linear; in PetscRegressorCreate_Linear()
543 regressor->ops->fit = PetscRegressorFit_Linear; in PetscRegressorCreate_Linear()
544 regressor->ops->predict = PetscRegressorPredict_Linear; in PetscRegressorCreate_Linear()
553 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearSetFitIntercept_… in PetscRegressorCreate_Linear()
554 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearSetUseKSP_C", Pe… in PetscRegressorCreate_Linear()
555 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearGetKSP_C", Petsc… in PetscRegressorCreate_Linear()
556 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearGetCoefficients_… in PetscRegressorCreate_Linear()
557 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearGetIntercept_C",… in PetscRegressorCreate_Linear()
558 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearSetType_C", Pets… in PetscRegressorCreate_Linear()
559 …PetscCall(PetscObjectComposeFunction((PetscObject)regressor, "PetscRegressorLinearGetType_C", Pets… in PetscRegressorCreate_Linear()