1cdef extern from * nogil: 2 3 ctypedef const char* PetscRegressorType "PetscRegressorType" 4 PetscRegressorType PETSCREGRESSORLINEAR 5 6 PetscErrorCode PetscRegressorCreate(MPI_Comm, PetscRegressor*) 7 PetscErrorCode PetscRegressorReset(PetscRegressor) 8 PetscErrorCode PetscRegressorDestroy(PetscRegressor*) 9 PetscErrorCode PetscRegressorSetType(PetscRegressor, PetscRegressorType) 10 PetscErrorCode PetscRegressorGetType(PetscRegressor, PetscRegressorType*) 11 PetscErrorCode PetscRegressorSetRegularizerWeight(PetscRegressor, PetscReal) 12 PetscErrorCode PetscRegressorSetUp(PetscRegressor) 13 PetscErrorCode PetscRegressorSetFromOptions(PetscRegressor) 14 PetscErrorCode PetscRegressorView(PetscRegressor, PetscViewer) 15 PetscErrorCode PetscRegressorFit(PetscRegressor, PetscMat, PetscVec) 16 PetscErrorCode PetscRegressorPredict(PetscRegressor, PetscMat, PetscVec) 17 PetscErrorCode PetscRegressorGetTao(PetscRegressor, PetscTAO*) 18 19 PetscErrorCode PetscRegressorLinearSetFitIntercept(PetscRegressor, PetscBool) 20 PetscErrorCode PetscRegressorLinearSetUseKSP(PetscRegressor, PetscBool) 21 PetscErrorCode PetscRegressorLinearGetKSP(PetscRegressor, PetscKSP*) 22 PetscErrorCode PetscRegressorLinearGetCoefficients(PetscRegressor, PetscVec*) 23 PetscErrorCode PetscRegressorLinearGetIntercept(PetscRegressor, PetscScalar*) 24 PetscErrorCode PetscRegressorLinearSetType(PetscRegressor, PetscRegressorLinearType) 25 PetscErrorCode PetscRegressorLinearGetType(PetscRegressor, PetscRegressorLinearType*) 26 27 ctypedef enum PetscRegressorLinearType: 28 REGRESSOR_LINEAR_OLS 29 REGRESSOR_LINEAR_LASSO 30 REGRESSOR_LINEAR_RIDGE 31