@@ -2,22 +2,28 @@ set.seed(43)
2
2
3
3
n = 100
4
4
p = 200
5
- lam = 10
5
+ lam = 0.1
6
6
X = matrix (rnorm(n * p ), n , p )
7
7
Y = rnorm(n )
8
8
library(selectiveInference )
9
9
p = ncol(X )
10
10
soln_R = rep(0 , p )
11
- grad = - t(X ) %*% Y
11
+ grad = - t(X ) %*% Y / n
12
12
ever_active = c(1 , rep(0 , p - 1 ))
13
13
nactive = as.integer(1 )
14
14
kkt_tol = 1.e-12
15
15
objective_tol = 1.e-12
16
16
maxiter = 500
17
- Xtheta = rep(0 , n )
18
- soln_R = selectiveInference ::: solve_QP(t(X ) %*% X , lam , maxiter , soln_R , - t(X ) %*% Y , grad , ever_active , nactive , kkt_tol , objective_tol , p )$ soln
17
+ soln_R = selectiveInference ::: solve_QP(t(X ) %*% X / n , lam , maxiter , soln_R , - t(X ) %*% Y / n , grad , ever_active , nactive , kkt_tol , objective_tol , p )$ soln
19
18
print(soln_R )
19
+ Xtheta = rep(0 , n )
20
+ nactive = as.integer(1 )
21
+ ever_active = c(1 , rep(0 , p - 1 ))
22
+ soln_R = rep(0 , p )
23
+ grad = - t(X ) %*% Y / n
20
24
# test wide solver
21
-
22
- soln_R_wide = selectiveInference ::: solve_QP_wide(X , lam , maxiter , soln_R , - t(X ) %*% Y , grad , Xtheta , ever_active , nactive , kkt_tol , objective_tol , p )
23
- print(soln_R_wide )
25
+ soln_R_wide = selectiveInference ::: solve_QP_wide(X , lam , maxiter , soln_R , - t(X ) %*% Y / n , grad , Xtheta , ever_active , nactive , kkt_tol , objective_tol , p )
26
+ print(soln_R_wide )
27
+ print(soln_R )
28
+ print(soln_R_wide $ soln )
29
+ print(soln_R_wide $ soln - soln_R )
0 commit comments