17 #ifndef  EPSGLASSO_SLEP 
   18 #define  EPSGLASSO_SLEP 
   37 void epsgLasso(
double *X, 
double * normx, 
double * V, 
int k, 
int n, 
double lambda1, 
double lambda2, 
int pflag){
 
   38     int i, j, *iter_step, nn=n*k, m;
 
   40     double normValue,c0=0, c;
 
   42     v=(
double *)malloc(
sizeof(
double)*n);
 
   43     x=(
double *)malloc(
sizeof(
double)*n);
 
   44     iter_step=(
int *)malloc(
sizeof(
int)*2);
 
   94                 v[j+1]=X[i + (j+1)*k ];
 
   95                 v[j+2]=X[i + (j+2)*k];
 
   96                 v[j+3]=X[i + (j+3)*k];
 
   97                 v[j+4]=X[i + (j+4)*k];
 
  102                 normValue+=v[j]*v[j];
 
  105                 normValue+=v[j]*v[j]+
 
  120             normValue=sqrt(normValue);
 
  122             if (normValue<= lambda2){
 
  130                 normx[1]+=normValue-lambda2;
 
  133                 normValue=(normValue-lambda2)/normValue;
 
  137                     X[i + j*k]*=normValue;
 
  138                     normx[0]+=fabs(X[i + j*k]);
 
  141                     X[i + j*k]*=normValue;
 
  142                     X[i + (j+1)*k]*=normValue;
 
  143                     X[i + (j+2)*k]*=normValue;
 
  144                     X[i + (j+3)*k]*=normValue;
 
  145                     X[i + (j+4)*k]*=normValue;
 
  147                     normx[0]+=fabs(X[i + j*k])+
 
  148                               fabs(X[i + (j+1)*k])+
 
  149                               fabs(X[i + (j+2)*k])+
 
  150                               fabs(X[i + (j+3)*k])+
 
  151                               fabs(X[i + (j+4)*k]);
 
  171                 normValue+=fabs(v[j]);
 
  174             if (normValue<= lambda2){
 
  179                 eplb(x, &c, iter_step, v, n, lambda2, c0);