#include "EMGrank.h" #include "constructionModelesLassoRank.h" #include #include #include "omp_num_threads.h" // TODO: comment on constructionModelesLassoRank purpose void constructionModelesLassoRank( // IN parameters const double* Pi,// parametre initial des proportions const double* Rho, // parametre initial de variance renormalisé int mini, // nombre minimal d'itérations dans l'algorithme EM int maxi, // nombre maximal d'itérations dans l'algorithme EM const double* X,// régresseurs const double* Y,// réponse double tau, // seuil pour accepter la convergence const int* A1, // matrice des coefficients des parametres selectionnes int rangmin, //rang minimum autorisé int rangmax, //rang maximum autorisé // OUT parameters (all pointers, to be modified) double* phi,// estimateur ainsi calculé par le Lasso double* lvraisemblance,// estimateur ainsi calculé par le Lasso // additional size parameters int n,// taille de l'echantillon int p,// nombre de covariables int m,// taille de Y (multivarié) int k,// nombre de composantes int L)// taille de glambda { //On cherche les rangs possiblement intéressants int deltaRank = rangmax-rangmin+1; int Size = (int)pow(deltaRank,k); int* Rank = (int*)malloc(Size*k*sizeof(int)); for (int r=0; r 0 double* phiLambda = (double*)malloc(longueurActive*m*k*sizeof(double)); double LLF; for (int j=0; j