X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=src%2Fsources%2FconstructionModelesLassoRank.c;h=943d478832dbdae0d9a0b85d676bda51a6e9ab43;hb=8e92c49c15bdacebf46190e7c8279bd227873928;hp=98c02d5876dfc343c27d6f893dc5c6d37b0c178b;hpb=493a35bfea6d1210c94ced8fbfe3e572f0389ea5;p=valse.git diff --git a/src/sources/constructionModelesLassoRank.c b/src/sources/constructionModelesLassoRank.c index 98c02d5..943d478 100644 --- a/src/sources/constructionModelesLassoRank.c +++ b/src/sources/constructionModelesLassoRank.c @@ -1,59 +1,59 @@ -#include "EMGrank.h" -#include "constructionModelesLassoRank.h" -#include +#include #include -#include "omp_num_threads.h" +#include +#include "EMGrank.h" +#include "utils.h" // TODO: comment on constructionModelesLassoRank purpose void constructionModelesLassoRank( - // IN parameters - const Real* Pi, // parametre initial des proportions - const Real* 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 Real* X, // régresseurs - const Real* Y, // réponse - Real 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é + // 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) - Real* phi, // estimateur ainsi calculé par le Lasso - Real* lvraisemblance, // estimateur ainsi calculé par le Lasso - // additional size parameters - mwSize n, // taille de l'echantillon - mwSize p, // nombre de covariables - mwSize m, // taille de Y (multivarié) - mwSize k, // nombre de composantes - mwSize L) // taille de glambda + 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; - mwSize Size = (mwSize)pow(deltaRank,k); - Int* Rank = (Int*)malloc(Size*k*sizeof(Int)); - for (mwSize r=0; r 0 - Real* phiLambda = (Real*)malloc(longueurActive*m*k*sizeof(Real)); - Real LLF; - for (Int j=0; j