X-Git-Url: https://git.auder.net/?p=valse.git;a=blobdiff_plain;f=src%2Fsources%2FconstructionModelesLassoRank.c;h=eaa83c423f05dc1dd1f71c762962d3283c986867;hp=98c02d5876dfc343c27d6f893dc5c6d37b0c178b;hb=3ec579a0955aca0591a9e5c4d90c50b87f4f4609;hpb=552b00e200e8a990c1247989d29e98d4ae8679f3 diff --git a/src/sources/constructionModelesLassoRank.c b/src/sources/constructionModelesLassoRank.c index 98c02d5..eaa83c4 100644 --- a/src/sources/constructionModelesLassoRank.c +++ b/src/sources/constructionModelesLassoRank.c @@ -6,54 +6,54 @@ // 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