1
- #include <stdio.h>
2
1
#include <math.h> // for fabs
3
2
4
3
// Find an approximate row of \hat{Sigma}^{-1}
@@ -109,41 +108,28 @@ int check_KKT(double *theta, /* current theta */
109
108
110
109
gradient = * gradient_ptr_tmp ;
111
110
112
- fprintf (stderr , "how does it look %d %f %f\n" , irow , * theta_ptr , gradient );
113
-
114
111
// Compute this coordinate of the gradient
115
112
116
113
if (fabs (* theta_ptr ) > tol ) { // these coordinates of gradients should be equal to \pm bound
117
- fprintf (stderr , "active %f %f\n" , fabs (fabs (gradient ) - bound ), bound );
118
114
if (fabs (fabs (gradient ) - bound ) > tol * bound ) {
119
- fprintf (stderr , "here1 %d %f %f\n" , irow , * theta_ptr , gradient );
120
115
return (0 );
121
- // fail += 1;
122
116
}
123
117
else if ((* theta_ptr > 0 ) && (gradient > 0 )) {
124
- fprintf (stderr , "here2 %d %f %f\n" , irow , * theta_ptr , gradient );
125
118
return (0 );
126
- // fail += 1;
127
119
}
128
120
else if ((* theta_ptr < 0 ) && (gradient < 0 )) {
129
- fprintf (stderr , "here3 %d %f %f\n" , irow , * theta_ptr , gradient );
130
121
return (0 );
131
- // fail += 1;
132
122
}
133
123
}
134
124
else {
135
- fprintf (stderr , "before4 %d %f %f\n" , irow , * theta_ptr , gradient );
136
125
if (fabs (gradient ) > (1. + tol ) * bound ) {
137
- fprintf (stderr , "here4 %d %f %f\n" , irow , * theta_ptr , gradient );
138
126
return (0 );
139
- // fail += 1;
140
127
}
141
128
}
142
129
theta_ptr ++ ;
143
130
gradient_ptr_tmp ++ ;
144
131
}
145
132
146
- fprintf (stderr , "OK now\n" );
147
133
return (fail == 0 );
148
134
149
135
}
@@ -283,7 +269,6 @@ int find_one_row_(double *Sigma_ptr, /* A covariance matrix: X^TX/n */
283
269
gradient_ptr ,
284
270
nrow ,
285
271
bound ) == 1 ) {
286
- fprintf (stderr , "here5 \n" );
287
272
break ;
288
273
}
289
274
@@ -310,7 +295,6 @@ int find_one_row_(double *Sigma_ptr, /* A covariance matrix: X^TX/n */
310
295
gradient_ptr ,
311
296
nrow ,
312
297
bound ) == 1 ) {
313
- fprintf (stderr , "here6 \n" );
314
298
break ;
315
299
}
316
300
@@ -322,9 +306,9 @@ int find_one_row_(double *Sigma_ptr, /* A covariance matrix: X^TX/n */
322
306
bound ,
323
307
theta );
324
308
325
- /* if (((old_value - new_value) < tol * fabs(new_value)) && (iter > 0)) { */
326
- /* break; */
327
- /* } */
309
+ if (((old_value - new_value ) < tol * fabs (new_value )) && (iter > 0 )) {
310
+ break ;
311
+ }
328
312
329
313
old_value = new_value ;
330
314
}
0 commit comments