diff --git a/src/MOI_wrapper/MOI_wrapper.jl b/src/MOI_wrapper/MOI_wrapper.jl index b987fb3..38fad3a 100644 --- a/src/MOI_wrapper/MOI_wrapper.jl +++ b/src/MOI_wrapper/MOI_wrapper.jl @@ -455,7 +455,7 @@ function MOI.optimize!( _map_sets(set -> set.column_dim, T, Ab, NormNuclearCone), T[], # ell1 T[], # sl_n - T[], # nuc_k + T[], # sl_k dest.sol.primal, dest.sol.dual, dest.sol.slack; diff --git a/src/c_wrapper.jl b/src/c_wrapper.jl index 0f01b3e..84ea58f 100644 --- a/src/c_wrapper.jl +++ b/src/c_wrapper.jl @@ -411,8 +411,8 @@ function _unsafe_scs_solve(model::_ScsDataWrapper{S,T}) where {S,T} length(model.nuc_m), pointer(model.ell1), length(model.ell1), - pointer(model.sl_k), pointer(model.sl_n), + pointer(model.sl_k), length(model.sl_n), ) scs_data = ScsData{T}( diff --git a/test/runtests.jl b/test/runtests.jl index 76f3371..576e3e0 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -36,6 +36,7 @@ include("test_problems.jl") feasible_basic_problems(solver) test_options(solver) test_scs_solve_solution_vectors(solver) + test_several_sum_largest(solver) end end diff --git a/test/test_problems.jl b/test/test_problems.jl index 444662b..77bdceb 100644 --- a/test/test_problems.jl +++ b/test/test_problems.jl @@ -662,7 +662,7 @@ function feasible_complex_sdp(T) s = Int[] cs = [3] - b = [1.0, 0., 0., 0., 0., 0., 0., 0., 0., 0.] + b = [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.] c = [1, 2√2, 3√2, 4√2, 5√2, 6, 7√2, -8√2, 9] rowval = [0, 1, 2, 3, 4, 5, 0, 6, 7, 8, 0, 9] colptr = [0, 2, 3, 4, 5, 6, 8, 9, 10, 12] @@ -890,3 +890,351 @@ function test_scs_solve_solution_vectors(solver) ) return end + +function test_several_sum_largest(solver) + Ax = [ + -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, + -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, + -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, + -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, + -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, + -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, + -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, + -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, + -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, + -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, + -1.0, -1.0 + ] + Ai = [ + 1, 822, 0, 2, 823, 0, 42, 863, 0, 81, 902, 0, 119, 940, 0, + 156, 977, 0, 192, 1013, 0, 227, 1048, 0, 261, 1082, 0, 294, 1115, 0, + 326, 1147, 0, 357, 1178, 0, 387, 1208, 0, 416, 1237, 0, 444, 1265, 0, + 471, 1292, 0, 497, 1318, 0, 522, 1343, 0, 546, 1367, 0, 569, 1390, 0, + 591, 1412, 0, 612, 1433, 0, 632, 1453, 0, 651, 1472, 0, 669, 1490, 0, + 686, 1507, 0, 702, 1523, 0, 717, 1538, 0, 731, 1552, 0, 744, 1565, 0, + 756, 1577, 0, 767, 1588, 0, 777, 1598, 0, 786, 1607, 0, 794, 1615, 0, + 801, 1622, 0, 807, 1628, 0, 812, 1633, 0, 816, 1637, 0, 819, 1640, 0, + 821, 1642 + ] + Ap = [ + 0, 1, 2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, + 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, + 89, 92, 95, 98, 101, 104, 107, 110, 113, 116, 119, 122 + ] + Aj = zeros(Int, length(Ai)) + for k in 1:(length(Ap)-1) + for j in Ap[k]:(Ap[k+1]-1) + Aj[j+1] = k + end + end + b = [ + 0.0, 0.0, -1.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -1.0, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -1.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, -6.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, 1.41421356, 1.41421356, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -2.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, 1.41421356, -0.0, -0.0, 1.41421356, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -2.0, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -3.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, 1.41421356, + 1.41421356, -0.0, -0.0, -6.0, -0.0, -0.0, + -0.0, 1.41421356, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, 1.41421356, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, 1.41421356, -0.0, + -1.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, -0.0, + -0.0, -0.0, -1.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -3.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, 1.41421356, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, 1.41421356, -2.0, 1.41421356, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -3.0, 1.41421356, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, 1.41421356, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -4.0, 1.41421356, -0.0, -0.0, 1.41421356, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -3.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -5.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, 1.41421356, -0.0, + -0.0, 1.41421356, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, 1.41421356, -0.0, 1.41421356, -0.0, + -2.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, 1.41421356, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -3.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, 1.41421356, -0.0, + 1.41421356, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -2.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, 1.41421356, + -0.0, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -2.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, 1.41421356, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -1.0, -0.0, -0.0, -0.0, + -0.0, 1.41421356, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -2.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -2.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, 1.41421356, -0.0, -0.0, 1.41421356, -0.0, + -0.0, -0.0, -3.0, -0.0, -0.0, -0.0, + 1.41421356, 1.41421356, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -1.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -5.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -2.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -4.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, 1.41421356, -0.0, 1.41421356, -0.0, + -4.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -2.0, + -0.0, -0.0, -0.0, -0.0, 1.41421356, 1.41421356, + -0.0, -0.0, -0.0, -1.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -3.0, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -0.0, 1.41421356, -4.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -1.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -4.0, -0.0, -0.0, + -0.0, 1.41421356, -7.0, -0.0, -0.0, -0.0, + -2.0, -0.0, -0.0, -4.0, -0.0, -3.0, + 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -2.0, + -0.0, -0.0, -0.0, -0.0, 1.41421356, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, 1.41421356, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -4.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, 1.41421356, + -0.0, 1.41421356, 1.41421356, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -3.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, 1.41421356, -0.0, -0.0, -0.0, 1.41421356, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -4.0, + -0.0, -0.0, 1.41421356, -0.0, 1.41421356, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, 1.41421356, + -0.0, -0.0, -0.0, -0.0, -0.0, -3.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, 1.41421356, -0.0, + 1.41421356, -0.0, -0.0, -0.0, -1.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -2.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, 1.41421356, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -6.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, 1.41421356, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, -0.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, -0.0, 1.41421356, -0.0, -0.0, + 1.41421356, -5.0, -0.0, -0.0, -0.0, 1.41421356, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -0.0, -0.0, -2.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, 1.41421356, + -0.0, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -2.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -3.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, 1.41421356, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -3.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, 1.41421356, -0.0, + -0.0, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -5.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, 1.41421356, + -0.0, 1.41421356, -0.0, -0.0, -0.0, 1.41421356, + -0.0, -0.0, 1.41421356, -0.0, -1.0, -0.0, + -0.0, -0.0, -0.0, -0.0, 1.41421356, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -5.0, + -0.0, -0.0, -0.0, -0.0, -0.0, 1.41421356, + -0.0, -0.0, -0.0, 1.41421356, -0.0, -0.0, + -0.0, -0.0, -0.0, 1.41421356, -0.0, 1.41421356, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -3.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -1.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -1.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -2.0, -0.0, -0.0, -0.0, -0.0, + 1.41421356, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -2.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -0.0, -0.0, -2.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -2.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -4.0, + -0.0, -0.0, 1.41421356, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, 1.41421356, -4.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -2.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -3.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -3.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -1.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -1.0, -0.0, -0.0, -0.0, + -0.0, -0.0, -0.0, -0.0, -0.0, -4.0, + 1.41421356, -0.0, -0.0, -0.0, -0.0, -0.0, + -0.0, -5.0, -0.0, 1.41421356, -0.0, 1.41421356, + -0.0, -0.0, -6.0, -0.0, -0.0, -0.0, + -0.0, 1.41421356, -2.0, -0.0, -0.0, -0.0, + -0.0, -2.0, -0.0, -0.0, -0.0, -1.0, + -0.0, -0.0, -1.0, -0.0, -3.0 + ] + c = zeros(42) + c[1:2] .= 1:2 + ret = SCS.scs_solve( + solver, + 1643, # m + 42, # n + SparseArrays.sparse(Ai .+ 1, Aj, Ax), # A, + zeros(0, 0), # P, + b, # b + c, # c + 1, # z + 0, # l + Float64[], # bu + Float64[], # bl + Int[], # q + Int[], # s + Int[], # cs + 0, # ep + 0, # ed + Float64[], # p + Int[], # d + Int[], # nuc_m + Int[], # nuc_n + Int[], # ell1 + [40, 40], # sl_n + [4, 7], # sl_k; + eps_abs = 1e-7, + eps_rel = 1e-7, + eps_infeas = 1e-9, + ) + @test isapprox(c' * ret.x, -6.8681703775862095; atol = 1e-4) + @test isapprox(-b' * ret.y, -6.8681703775862095; atol = 1e-4) + @test ret.ret_val == 1 + return +end