scs 0.5.6 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/LICENSE.txt +1 -1
- data/lib/scs/ffi.rb +18 -0
- data/lib/scs/version.rb +1 -1
- data/vendor/scs/CITATION.cff +2 -3
- data/vendor/scs/CLAUDE.md +115 -0
- data/vendor/scs/CMakeLists.txt +330 -201
- data/vendor/scs/CONTRIBUTING.md +49 -0
- data/vendor/scs/Makefile +90 -43
- data/vendor/scs/README.md +96 -2
- data/vendor/scs/include/aa.h +59 -11
- data/vendor/scs/include/aa_stats.h +47 -0
- data/vendor/scs/include/cones.h +16 -7
- data/vendor/scs/include/glbopts.h +113 -26
- data/vendor/scs/include/linalg.h +5 -1
- data/vendor/scs/include/linsys.h +1 -2
- data/vendor/scs/include/normalize.h +6 -2
- data/vendor/scs/include/rw.h +9 -3
- data/vendor/scs/include/scs.h +17 -1
- data/vendor/scs/include/scs_blas.h +8 -0
- data/vendor/scs/include/scs_types.h +2 -2
- data/vendor/scs/include/scs_work.h +22 -1
- data/vendor/scs/include/util.h +3 -6
- data/vendor/scs/include/util_spectral_cones.h +3 -3
- data/vendor/scs/linsys/accelerate/direct/private.c +126 -0
- data/vendor/scs/linsys/accelerate/direct/private.h +34 -0
- data/vendor/scs/linsys/cpu/dense/private.c +250 -0
- data/vendor/scs/linsys/cpu/dense/private.h +31 -0
- data/vendor/scs/linsys/cpu/direct/private.c +86 -44
- data/vendor/scs/linsys/cpu/indirect/private.c +647 -113
- data/vendor/scs/linsys/cpu/indirect/private.h +28 -0
- data/vendor/scs/linsys/csparse.c +9 -3
- data/vendor/scs/linsys/csparse.h +4 -2
- data/vendor/scs/linsys/cudss/direct/private.c +77 -43
- data/vendor/scs/linsys/cudss/direct/private.h +33 -7
- data/vendor/scs/linsys/gpu/indirect/private.c +6 -2
- data/vendor/scs/linsys/mkl/direct/private.c +63 -31
- data/vendor/scs/linsys/mkl/direct/private.h +0 -1
- data/vendor/scs/linsys/scs_matrix.c +291 -165
- data/vendor/scs/linsys/scs_matrix.h +7 -9
- data/vendor/scs/scs.mk +35 -13
- data/vendor/scs/src/aa.c +673 -166
- data/vendor/scs/src/cones.c +545 -223
- data/vendor/scs/src/ctrlc.c +59 -16
- data/vendor/scs/src/exp_cone.c +70 -50
- data/vendor/scs/src/linalg.c +21 -2
- data/vendor/scs/src/normalize.c +24 -26
- data/vendor/scs/src/rw.c +596 -124
- data/vendor/scs/src/scs.c +990 -513
- data/vendor/scs/src/spectral_cones/logdeterminant/log_cone_IPM.c +240 -187
- data/vendor/scs/src/spectral_cones/logdeterminant/log_cone_Newton.c +108 -85
- data/vendor/scs/src/spectral_cones/logdeterminant/log_cone_wrapper.c +62 -63
- data/vendor/scs/src/spectral_cones/logdeterminant/logdet_cone.c +85 -78
- data/vendor/scs/src/spectral_cones/nuclear/ell1_cone.c +92 -97
- data/vendor/scs/src/spectral_cones/nuclear/nuclear_cone.c +39 -28
- data/vendor/scs/src/spectral_cones/sum-largest/sum_largest_cone.c +59 -40
- data/vendor/scs/src/spectral_cones/sum-largest/sum_largest_eval_cone.c +37 -29
- data/vendor/scs/src/spectral_cones/util_spectral_cones.c +12 -6
- data/vendor/scs/src/util.c +37 -7
- data/vendor/scs/test/mkl_interface_mismatch.c +97 -0
- data/vendor/scs/test/packaging/CMakeLists.txt +21 -0
- data/vendor/scs/test/packaging/consume.c +50 -0
- data/vendor/scs/test/problem_utils.h +9 -2
- data/vendor/scs/test/problems/dense_qp.h +64 -0
- data/vendor/scs/test/problems/hs21_tiny_qp.h +6 -2
- data/vendor/scs/test/problems/hs21_tiny_qp_rw.h +10 -2
- data/vendor/scs/test/problems/infeasible_lp.h +66 -0
- data/vendor/scs/test/problems/infeasible_socp.h +75 -0
- data/vendor/scs/test/problems/lp_update.h +110 -0
- data/vendor/scs/test/problems/qafiro_tiny_qp.h +3 -1
- data/vendor/scs/test/problems/rob_gauss_cov_est.h +6 -3
- data/vendor/scs/test/problems/small_qp.h +5 -0
- data/vendor/scs/test/problems/test_box_cone.h +92 -0
- data/vendor/scs/test/problems/test_dual_exp_cone.h +96 -0
- data/vendor/scs/test/problems/test_inaccurate.h +212 -0
- data/vendor/scs/test/problems/test_mixed_cones.h +113 -0
- data/vendor/scs/test/problems/test_normalize_roundtrip.h +279 -0
- data/vendor/scs/test/problems/test_power_cone.h +414 -0
- data/vendor/scs/test/problems/test_psd_metric.h +109 -0
- data/vendor/scs/test/problems/test_psd_n1.h +84 -0
- data/vendor/scs/test/problems/test_root_plus.h +191 -0
- data/vendor/scs/test/problems/test_rw_settings.h +112 -0
- data/vendor/scs/test/problems/test_soc_sizes.h +393 -0
- data/vendor/scs/test/problems/test_solver_options.h +558 -0
- data/vendor/scs/test/problems/test_validation.h +263 -24
- data/vendor/scs/test/problems/test_zero_cone.h +81 -0
- data/vendor/scs/test/problems/unbounded_lp.h +66 -0
- data/vendor/scs/test/problems/unbounded_socp.h +71 -0
- data/vendor/scs/test/run_from_file.c +6 -0
- data/vendor/scs/test/run_tests.c +71 -0
- data/vendor/scs/test/rw_settings.c +7 -0
- data/vendor/scs/test/spectral_cones_problems/test_ell1_and_nuc.h +128 -0
- data/vendor/scs/test/spectral_cones_problems/test_ell1_cone.h +115 -0
- metadata +35 -3
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
#include "glbopts.h"
|
|
2
|
+
#include "linalg.h"
|
|
3
|
+
#include "minunit.h"
|
|
4
|
+
#include "problem_utils.h"
|
|
5
|
+
#include "scs.h"
|
|
6
|
+
#include "scs_matrix.h"
|
|
7
|
+
#include "util.h"
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* Combined ell1 + nuclear norm test.
|
|
11
|
+
* Two independent blocks sharing one SCS call to exercise cone ordering.
|
|
12
|
+
*
|
|
13
|
+
* Block 1 (ell1):
|
|
14
|
+
* minimize t_ell s.t. a1 + a2 = 1, (t_ell, a1, a2) in ell1(2)
|
|
15
|
+
* Optimal: t_ell = 1
|
|
16
|
+
*
|
|
17
|
+
* Block 2 (nuclear norm):
|
|
18
|
+
* minimize t_nuc s.t. M = [[0.6, 0], [0.8, 0]], (t_nuc, M) in nuc(2,2)
|
|
19
|
+
* M has singular values {1, 0}, so optimal t_nuc = 1
|
|
20
|
+
*
|
|
21
|
+
* Variables (n=8): t_ell, a1, a2, t_nuc, M_11, M_21, M_12, M_22
|
|
22
|
+
* Objective: minimize t_ell + t_nuc, optimal = 2.0
|
|
23
|
+
*
|
|
24
|
+
* Cone ordering: z=5, nuc(2,2)=5 rows, ell1(2)=3 rows, total m=13
|
|
25
|
+
*/
|
|
26
|
+
static const char *test_ell1_and_nuc(void) {
|
|
27
|
+
ScsCone *k = (ScsCone *)scs_calloc(1, sizeof(ScsCone));
|
|
28
|
+
ScsData *d = (ScsData *)scs_calloc(1, sizeof(ScsData));
|
|
29
|
+
ScsSettings *stgs = (ScsSettings *)scs_calloc(1, sizeof(ScsSettings));
|
|
30
|
+
ScsSolution *sol = (ScsSolution *)scs_calloc(1, sizeof(ScsSolution));
|
|
31
|
+
ScsInfo info = {0};
|
|
32
|
+
scs_int exitflag;
|
|
33
|
+
scs_float perr, derr;
|
|
34
|
+
scs_int success;
|
|
35
|
+
|
|
36
|
+
/* A matrix (13 x 8, CSC):
|
|
37
|
+
* Row 0: [0, 1, 1, 0, 0, 0, 0, 0] z: a1 + a2 = 1
|
|
38
|
+
* Row 1: [0, 0, 0, 0, 1, 0, 0, 0] z: M_11 = 0.6
|
|
39
|
+
* Row 2: [0, 0, 0, 0, 0, 1, 0, 0] z: M_21 = 0.8
|
|
40
|
+
* Row 3: [0, 0, 0, 0, 0, 0, 1, 0] z: M_12 = 0
|
|
41
|
+
* Row 4: [0, 0, 0, 0, 0, 0, 0, 1] z: M_22 = 0
|
|
42
|
+
* Row 5: [0, 0, 0,-1, 0, 0, 0, 0] nuc: t_nuc
|
|
43
|
+
* Row 6: [0, 0, 0, 0,-1, 0, 0, 0] nuc: M_11
|
|
44
|
+
* Row 7: [0, 0, 0, 0, 0,-1, 0, 0] nuc: M_21
|
|
45
|
+
* Row 8: [0, 0, 0, 0, 0, 0,-1, 0] nuc: M_12
|
|
46
|
+
* Row 9: [0, 0, 0, 0, 0, 0, 0,-1] nuc: M_22
|
|
47
|
+
* Row 10: [-1,0, 0, 0, 0, 0, 0, 0] ell1: t_ell
|
|
48
|
+
* Row 11: [0,-1, 0, 0, 0, 0, 0, 0] ell1: a1
|
|
49
|
+
* Row 12: [0, 0,-1, 0, 0, 0, 0, 0] ell1: a2
|
|
50
|
+
*/
|
|
51
|
+
scs_float Ax[] = {-1., 1., -1., 1., -1., -1., 1., -1., 1., -1.,
|
|
52
|
+
1., -1., 1., -1.};
|
|
53
|
+
scs_int Ai[] = {10, 0, 11, 0, 12, 5, 1, 6, 2, 7, 3, 8, 4, 9};
|
|
54
|
+
scs_int Ap[] = {0, 1, 3, 5, 6, 8, 10, 12, 14};
|
|
55
|
+
scs_float b[] = {1., 0.6, 0.8, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.};
|
|
56
|
+
scs_float c[] = {1., 0., 0., 1., 0., 0., 0., 0.};
|
|
57
|
+
|
|
58
|
+
scs_int m = 13;
|
|
59
|
+
scs_int n = 8;
|
|
60
|
+
|
|
61
|
+
scs_int nuc_m[] = {2};
|
|
62
|
+
scs_int nuc_n[] = {2};
|
|
63
|
+
scs_int nucsize = 1;
|
|
64
|
+
scs_int ell1[] = {2};
|
|
65
|
+
scs_int ell1_size = 1;
|
|
66
|
+
|
|
67
|
+
scs_int *d_array = SCS_NULL;
|
|
68
|
+
scs_int dsize = 0;
|
|
69
|
+
scs_int *sl_n = SCS_NULL;
|
|
70
|
+
scs_int *sl_k = SCS_NULL;
|
|
71
|
+
scs_int sl_size = 0;
|
|
72
|
+
|
|
73
|
+
scs_float opt = 2.0;
|
|
74
|
+
|
|
75
|
+
d->m = m;
|
|
76
|
+
d->n = n;
|
|
77
|
+
d->b = b;
|
|
78
|
+
d->c = c;
|
|
79
|
+
|
|
80
|
+
d->A = (ScsMatrix *)scs_calloc(1, sizeof(ScsMatrix));
|
|
81
|
+
d->A->m = m;
|
|
82
|
+
d->A->n = n;
|
|
83
|
+
d->A->x = Ax;
|
|
84
|
+
d->A->i = Ai;
|
|
85
|
+
d->A->p = Ap;
|
|
86
|
+
|
|
87
|
+
k->z = 5;
|
|
88
|
+
k->d = d_array;
|
|
89
|
+
k->dsize = dsize;
|
|
90
|
+
k->nuc_m = nuc_m;
|
|
91
|
+
k->nuc_n = nuc_n;
|
|
92
|
+
k->nucsize = nucsize;
|
|
93
|
+
k->ell1 = ell1;
|
|
94
|
+
k->ell1_size = ell1_size;
|
|
95
|
+
k->sl_n = sl_n;
|
|
96
|
+
k->sl_k = sl_k;
|
|
97
|
+
k->sl_size = sl_size;
|
|
98
|
+
|
|
99
|
+
scs_set_default_settings(stgs);
|
|
100
|
+
stgs->eps_abs = 1e-9;
|
|
101
|
+
stgs->eps_rel = 1e-9;
|
|
102
|
+
stgs->eps_infeas = 1e-9;
|
|
103
|
+
|
|
104
|
+
exitflag = scs(d, k, stgs, sol, &info);
|
|
105
|
+
|
|
106
|
+
perr = SCS(dot)(d->c, sol->x, d->n) - opt;
|
|
107
|
+
derr = -SCS(dot)(d->b, sol->y, d->m) - opt;
|
|
108
|
+
|
|
109
|
+
scs_printf("primal obj error %4e\n", perr);
|
|
110
|
+
scs_printf("dual obj error %4e\n", derr);
|
|
111
|
+
|
|
112
|
+
success = ABS(perr) < 1e-4 && ABS(derr) < 1e-4 && exitflag == SCS_SOLVED;
|
|
113
|
+
|
|
114
|
+
mu_assert("test_ell1_and_nuc: SCS failed to produce outputflag SCS_SOLVED",
|
|
115
|
+
success);
|
|
116
|
+
|
|
117
|
+
mu_assert("test_ell1_and_nuc: primal feas error", ABS(info.res_pri) < 1e-6);
|
|
118
|
+
mu_assert("test_ell1_and_nuc: dual feas error", ABS(info.res_dual) < 1e-6);
|
|
119
|
+
mu_assert("test_ell1_and_nuc: duality gap error", ABS(info.gap) < 1e-6);
|
|
120
|
+
|
|
121
|
+
scs_free(d->A);
|
|
122
|
+
scs_free(k);
|
|
123
|
+
scs_free(stgs);
|
|
124
|
+
scs_free(d);
|
|
125
|
+
SCS(free_sol)(sol);
|
|
126
|
+
|
|
127
|
+
return 0;
|
|
128
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
#include "glbopts.h"
|
|
2
|
+
#include "linalg.h"
|
|
3
|
+
#include "minunit.h"
|
|
4
|
+
#include "problem_utils.h"
|
|
5
|
+
#include "scs.h"
|
|
6
|
+
#include "scs_matrix.h"
|
|
7
|
+
#include "util.h"
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* Basis pursuit: minimize ||x||_1 subject to Ax = b
|
|
11
|
+
*
|
|
12
|
+
* Conic form:
|
|
13
|
+
* minimize t
|
|
14
|
+
* subject to:
|
|
15
|
+
* x1 + 2*x2 = 1 (equality)
|
|
16
|
+
* x2 + x3 = 1 (equality)
|
|
17
|
+
* (t, x1, x2, x3) in ell1(3)
|
|
18
|
+
*
|
|
19
|
+
* Optimal: x = (0, 0.5, 0.5), t = 1.0
|
|
20
|
+
*/
|
|
21
|
+
static const char *test_ell1_cone(void) {
|
|
22
|
+
ScsCone *k = (ScsCone *)scs_calloc(1, sizeof(ScsCone));
|
|
23
|
+
ScsData *d = (ScsData *)scs_calloc(1, sizeof(ScsData));
|
|
24
|
+
ScsSettings *stgs = (ScsSettings *)scs_calloc(1, sizeof(ScsSettings));
|
|
25
|
+
ScsSolution *sol = (ScsSolution *)scs_calloc(1, sizeof(ScsSolution));
|
|
26
|
+
ScsInfo info = {0};
|
|
27
|
+
scs_int exitflag;
|
|
28
|
+
scs_float perr, derr;
|
|
29
|
+
scs_int success;
|
|
30
|
+
|
|
31
|
+
/* A matrix (6 x 4, CSC):
|
|
32
|
+
* Row 0: [0, 1, 2, 0] (zero)
|
|
33
|
+
* Row 1: [0, 0, 1, 1] (zero)
|
|
34
|
+
* Row 2: [-1, 0, 0, 0] (ell1 t)
|
|
35
|
+
* Row 3: [0, -1, 0, 0] (ell1 x1)
|
|
36
|
+
* Row 4: [0, 0, -1, 0] (ell1 x2)
|
|
37
|
+
* Row 5: [0, 0, 0, -1] (ell1 x3)
|
|
38
|
+
*/
|
|
39
|
+
scs_float Ax[] = {-1., 1., -1., 2., 1., -1., 1., -1.};
|
|
40
|
+
scs_int Ai[] = {2, 0, 3, 0, 1, 4, 1, 5};
|
|
41
|
+
scs_int Ap[] = {0, 1, 3, 6, 8};
|
|
42
|
+
scs_float b[] = {1., 1., 0., 0., 0., 0.};
|
|
43
|
+
scs_float c[] = {1., 0., 0., 0.};
|
|
44
|
+
|
|
45
|
+
scs_int m = 6;
|
|
46
|
+
scs_int n = 4;
|
|
47
|
+
|
|
48
|
+
scs_int ell1[] = {3};
|
|
49
|
+
scs_int ell1_size = 1;
|
|
50
|
+
|
|
51
|
+
scs_int *d_array = SCS_NULL;
|
|
52
|
+
scs_int dsize = 0;
|
|
53
|
+
scs_int *nuc_m = SCS_NULL;
|
|
54
|
+
scs_int *nuc_n = SCS_NULL;
|
|
55
|
+
scs_int nucsize = 0;
|
|
56
|
+
scs_int *sl_n = SCS_NULL;
|
|
57
|
+
scs_int *sl_k = SCS_NULL;
|
|
58
|
+
scs_int sl_size = 0;
|
|
59
|
+
|
|
60
|
+
scs_float opt = 1.0;
|
|
61
|
+
|
|
62
|
+
d->m = m;
|
|
63
|
+
d->n = n;
|
|
64
|
+
d->b = b;
|
|
65
|
+
d->c = c;
|
|
66
|
+
|
|
67
|
+
d->A = (ScsMatrix *)scs_calloc(1, sizeof(ScsMatrix));
|
|
68
|
+
d->A->m = m;
|
|
69
|
+
d->A->n = n;
|
|
70
|
+
d->A->x = Ax;
|
|
71
|
+
d->A->i = Ai;
|
|
72
|
+
d->A->p = Ap;
|
|
73
|
+
|
|
74
|
+
k->z = 2;
|
|
75
|
+
k->d = d_array;
|
|
76
|
+
k->dsize = dsize;
|
|
77
|
+
k->nuc_m = nuc_m;
|
|
78
|
+
k->nuc_n = nuc_n;
|
|
79
|
+
k->nucsize = nucsize;
|
|
80
|
+
k->ell1 = ell1;
|
|
81
|
+
k->ell1_size = ell1_size;
|
|
82
|
+
k->sl_n = sl_n;
|
|
83
|
+
k->sl_k = sl_k;
|
|
84
|
+
k->sl_size = sl_size;
|
|
85
|
+
|
|
86
|
+
scs_set_default_settings(stgs);
|
|
87
|
+
stgs->eps_abs = 1e-9;
|
|
88
|
+
stgs->eps_rel = 1e-9;
|
|
89
|
+
stgs->eps_infeas = 1e-9;
|
|
90
|
+
|
|
91
|
+
exitflag = scs(d, k, stgs, sol, &info);
|
|
92
|
+
|
|
93
|
+
perr = SCS(dot)(d->c, sol->x, d->n) - opt;
|
|
94
|
+
derr = -SCS(dot)(d->b, sol->y, d->m) - opt;
|
|
95
|
+
|
|
96
|
+
scs_printf("primal obj error %4e\n", perr);
|
|
97
|
+
scs_printf("dual obj error %4e\n", derr);
|
|
98
|
+
|
|
99
|
+
success = ABS(perr) < 1e-4 && ABS(derr) < 1e-4 && exitflag == SCS_SOLVED;
|
|
100
|
+
|
|
101
|
+
mu_assert("test_ell1_cone: SCS failed to produce outputflag SCS_SOLVED",
|
|
102
|
+
success);
|
|
103
|
+
|
|
104
|
+
mu_assert("test_ell1_cone: primal feas error", ABS(info.res_pri) < 1e-6);
|
|
105
|
+
mu_assert("test_ell1_cone: dual feas error", ABS(info.res_dual) < 1e-6);
|
|
106
|
+
mu_assert("test_ell1_cone: duality gap error", ABS(info.gap) < 1e-6);
|
|
107
|
+
|
|
108
|
+
scs_free(d->A);
|
|
109
|
+
scs_free(k);
|
|
110
|
+
scs_free(stgs);
|
|
111
|
+
scs_free(d);
|
|
112
|
+
SCS(free_sol)(sol);
|
|
113
|
+
|
|
114
|
+
return 0;
|
|
115
|
+
}
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: scs
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Kane
|
|
@@ -39,11 +39,14 @@ files:
|
|
|
39
39
|
- lib/scs/solver.rb
|
|
40
40
|
- lib/scs/version.rb
|
|
41
41
|
- vendor/scs/CITATION.cff
|
|
42
|
+
- vendor/scs/CLAUDE.md
|
|
42
43
|
- vendor/scs/CMakeLists.txt
|
|
44
|
+
- vendor/scs/CONTRIBUTING.md
|
|
43
45
|
- vendor/scs/LICENSE.txt
|
|
44
46
|
- vendor/scs/Makefile
|
|
45
47
|
- vendor/scs/README.md
|
|
46
48
|
- vendor/scs/include/aa.h
|
|
49
|
+
- vendor/scs/include/aa_stats.h
|
|
47
50
|
- vendor/scs/include/cones.h
|
|
48
51
|
- vendor/scs/include/ctrlc.h
|
|
49
52
|
- vendor/scs/include/glbopts.h
|
|
@@ -57,6 +60,10 @@ files:
|
|
|
57
60
|
- vendor/scs/include/scs_work.h
|
|
58
61
|
- vendor/scs/include/util.h
|
|
59
62
|
- vendor/scs/include/util_spectral_cones.h
|
|
63
|
+
- vendor/scs/linsys/accelerate/direct/private.c
|
|
64
|
+
- vendor/scs/linsys/accelerate/direct/private.h
|
|
65
|
+
- vendor/scs/linsys/cpu/dense/private.c
|
|
66
|
+
- vendor/scs/linsys/cpu/dense/private.h
|
|
60
67
|
- vendor/scs/linsys/cpu/direct/private.c
|
|
61
68
|
- vendor/scs/linsys/cpu/direct/private.h
|
|
62
69
|
- vendor/scs/linsys/cpu/indirect/private.c
|
|
@@ -119,12 +126,19 @@ files:
|
|
|
119
126
|
- vendor/scs/src/spectral_cones/util_spectral_cones.c
|
|
120
127
|
- vendor/scs/src/util.c
|
|
121
128
|
- vendor/scs/test/minunit.h
|
|
129
|
+
- vendor/scs/test/mkl_interface_mismatch.c
|
|
130
|
+
- vendor/scs/test/packaging/CMakeLists.txt
|
|
131
|
+
- vendor/scs/test/packaging/consume.c
|
|
122
132
|
- vendor/scs/test/problem_utils.h
|
|
123
133
|
- vendor/scs/test/problems/complex_PSD.h
|
|
124
134
|
- vendor/scs/test/problems/degenerate.h
|
|
135
|
+
- vendor/scs/test/problems/dense_qp.h
|
|
125
136
|
- vendor/scs/test/problems/hs21_tiny_qp.h
|
|
126
137
|
- vendor/scs/test/problems/hs21_tiny_qp_rw.h
|
|
138
|
+
- vendor/scs/test/problems/infeasible_lp.h
|
|
139
|
+
- vendor/scs/test/problems/infeasible_socp.h
|
|
127
140
|
- vendor/scs/test/problems/infeasible_tiny_qp.h
|
|
141
|
+
- vendor/scs/test/problems/lp_update.h
|
|
128
142
|
- vendor/scs/test/problems/max_ent
|
|
129
143
|
- vendor/scs/test/problems/max_ent.h
|
|
130
144
|
- vendor/scs/test/problems/mpc_bug.h
|
|
@@ -138,20 +152,38 @@ files:
|
|
|
138
152
|
- vendor/scs/test/problems/sd_and_complex_sd.h
|
|
139
153
|
- vendor/scs/test/problems/small_lp.h
|
|
140
154
|
- vendor/scs/test/problems/small_qp.h
|
|
155
|
+
- vendor/scs/test/problems/test_box_cone.h
|
|
156
|
+
- vendor/scs/test/problems/test_dual_exp_cone.h
|
|
141
157
|
- vendor/scs/test/problems/test_exp_cone.h
|
|
158
|
+
- vendor/scs/test/problems/test_inaccurate.h
|
|
159
|
+
- vendor/scs/test/problems/test_mixed_cones.h
|
|
160
|
+
- vendor/scs/test/problems/test_normalize_roundtrip.h
|
|
161
|
+
- vendor/scs/test/problems/test_power_cone.h
|
|
142
162
|
- vendor/scs/test/problems/test_prob_from_data_file.h
|
|
163
|
+
- vendor/scs/test/problems/test_psd_metric.h
|
|
164
|
+
- vendor/scs/test/problems/test_psd_n1.h
|
|
165
|
+
- vendor/scs/test/problems/test_root_plus.h
|
|
166
|
+
- vendor/scs/test/problems/test_rw_settings.h
|
|
167
|
+
- vendor/scs/test/problems/test_soc_sizes.h
|
|
168
|
+
- vendor/scs/test/problems/test_solver_options.h
|
|
143
169
|
- vendor/scs/test/problems/test_validation.h
|
|
170
|
+
- vendor/scs/test/problems/test_zero_cone.h
|
|
171
|
+
- vendor/scs/test/problems/unbounded_lp.h
|
|
172
|
+
- vendor/scs/test/problems/unbounded_socp.h
|
|
144
173
|
- vendor/scs/test/problems/unbounded_tiny_qp.h
|
|
145
174
|
- vendor/scs/test/random_socp_prob.c
|
|
146
175
|
- vendor/scs/test/rng.h
|
|
147
176
|
- vendor/scs/test/run_from_file.c
|
|
148
177
|
- vendor/scs/test/run_tests.c
|
|
178
|
+
- vendor/scs/test/rw_settings.c
|
|
149
179
|
- vendor/scs/test/spectral_cones_problems/exp_design.h
|
|
150
180
|
- vendor/scs/test/spectral_cones_problems/graph_partitioning.h
|
|
151
181
|
- vendor/scs/test/spectral_cones_problems/robust_pca.h
|
|
152
182
|
- vendor/scs/test/spectral_cones_problems/several_logdet_cones.h
|
|
153
183
|
- vendor/scs/test/spectral_cones_problems/several_nuc_cone.h
|
|
154
184
|
- vendor/scs/test/spectral_cones_problems/several_sum_largest.h
|
|
185
|
+
- vendor/scs/test/spectral_cones_problems/test_ell1_and_nuc.h
|
|
186
|
+
- vendor/scs/test/spectral_cones_problems/test_ell1_cone.h
|
|
155
187
|
homepage: https://github.com/ankane/scs-ruby
|
|
156
188
|
licenses:
|
|
157
189
|
- MIT
|
|
@@ -163,14 +195,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
163
195
|
requirements:
|
|
164
196
|
- - ">="
|
|
165
197
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '3.
|
|
198
|
+
version: '3.3'
|
|
167
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
200
|
requirements:
|
|
169
201
|
- - ">="
|
|
170
202
|
- !ruby/object:Gem::Version
|
|
171
203
|
version: '0'
|
|
172
204
|
requirements: []
|
|
173
|
-
rubygems_version: 4.0.
|
|
205
|
+
rubygems_version: 4.0.16
|
|
174
206
|
specification_version: 4
|
|
175
207
|
summary: SCS - the splitting conic solver - for Ruby
|
|
176
208
|
test_files: []
|