#ifndef LOGISTIC_H_ #define LOGISTIC_H_ // Mixed interface. void logistic_mixed_pred(gsl_vector *beta, // Vector of parameters // length = 1+Sum_k(C_k-1)+Kc. gsl_matrix_int *X, // Matrix Nobs x K. gsl_vector_int *nlev, // Vector with num. categories. gsl_matrix *Xc, // Continuous covariates matrix // Nobs x Kc gsl_vector *yhat); // Vector of prob. predicted by // the logistic. int logistic_mixed_fit(gsl_vector *beta, // Vector of parameters // length = 1+Sum_k(C_k-1)+Kc gsl_matrix_int *X, // Matrix Nobs x K. gsl_vector_int *nlev, // Vector with number categories. gsl_matrix *Xc, // Continuous covariates // matrix Nobs x Kc gsl_vector *y, // Vector of prob. to predict. double lambdaL1, // Reg. L1 0.0 if not used. double lambdaL2); // Reg. L2 0.0 if not used. double fLogit_mixed(gsl_vector *beta, gsl_matrix_int *X, gsl_vector_int *nlev, gsl_matrix *Xc, // continuous covariates matrix Nobs x Kc gsl_vector *y, double lambdaL1, double lambdaL2); // Categorical-only interface. void logistic_cat_pred(gsl_vector *beta, // Vector of parameters // length = 1+Sum_k(C_k-1)+Kc. gsl_matrix_int *X, // Matrix Nobs x K. gsl_vector_int *nlev, // Vector with number categories. gsl_vector *yhat); // Vector of prob. predicted by // the logistic. int logistic_cat_fit(gsl_vector *beta, // Vector of parameters // length = 1+Sum_k(C_k-1)+Kc. gsl_matrix_int *X, // Matrix Nobs x K . gsl_vector_int *nlev, // Vector with number categories. gsl_vector *y, // Vector of prob. to predict. double lambdaL1, // Regularization L1, 0 if not used double lambdaL2); // Regularization L2, 0 if not used double fLogit_cat(gsl_vector *beta, gsl_matrix_int *X, gsl_vector_int *nlev, gsl_vector *y, double lambdaL1, double lambdaL2); // Continuous-only interface. void logistic_cont_pred(gsl_vector *beta, // Vector of parameters // length = 1 + Sum_k(C_k-1) + Kc. gsl_matrix *Xc, // Continuous cov's matrix Nobs x Kc. gsl_vector *yhat);// Vector of prob. predicted // by the logistic. int logistic_cont_fit(gsl_vector *beta, // Vector of parameters // length = 1+Sum_k(C_k-1)+Kc. gsl_matrix *Xc, // Continuous cov's matrix Nobs x Kc. gsl_vector *y, // Vector of prob. to predict. double lambdaL1, // Regularization L1, 0 if not used. double lambdaL2); // Regularization L2, 0 if not used. double fLogit_cont(gsl_vector *beta, gsl_matrix *Xc, // Continuous covariates matrix Nobs x Kc. gsl_vector *y, double lambdaL1, double lambdaL2); #endif