Skip to content

Commit fa1f677

Browse files
fabinschjcarpent
authored andcommitted
unittest/sparse: add checks for results.info.backend_sparse
1 parent 4c2f18d commit fa1f677

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

test/src/sparse_qp_solve.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,6 @@ def test_case_different_matrix_free_sparse_backend(self):
308308
l=np.asfortranarray(l),
309309
u=np.asfortranarray(u),
310310
eps_abs=1.0e-9,
311-
verbose=false,
312311
sparse_backend=proxsuite.proxqp.SparseBackend.MatrixFree,
313312
)
314313
dua_res = normInf(

test/src/sparse_qp_wrapper.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,8 @@ TEST_CASE("ProxQP::sparse: sparse random strongly convex qp with equality and "
286286
qp_random.C * qp.results.x - qp_random.l)));
287287
CHECK(dua_res <= 1e-9);
288288
CHECK(pri_res <= 1E-9);
289+
CHECK(qp.results.info.sparse_backend ==
290+
proxsuite::proxqp::SparseBackend::MatrixFree);
289291
std::cout << "--n = " << n << " n_eq " << n_eq << " n_in " << n_in
290292
<< std::endl;
291293
std::cout << "dual residual " << dua_res << "; primal residual " << pri_res
@@ -328,6 +330,8 @@ TEST_CASE("ProxQP::sparse: sparse random strongly convex qp with equality and "
328330
qp_random.C * qp2.results.x - qp_random.l)));
329331
CHECK(dua_res2 <= 1e-9);
330332
CHECK(pri_res2 <= 1E-9);
333+
CHECK(qp2.results.info.sparse_backend ==
334+
proxsuite::proxqp::SparseBackend::SparseCholesky);
331335
std::cout << "--n = " << n << " n_eq " << n_eq << " n_in " << n_in
332336
<< std::endl;
333337
std::cout << "dual residual " << dua_res2 << "; primal residual "

test/src/sparse_qp_wrapper.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,9 @@ def test_case_setting_SparseBackend(self):
124124
)
125125
assert dua_res <= 1e-9
126126
assert pri_res <= 1e-9
127+
assert (
128+
qp.results.info.sparse_backend == proxsuite.proxqp.SparseBackend.MatrixFree
129+
)
127130
print("--n = {} ; n_eq = {} ; n_in = {}".format(n, n_eq, n_in))
128131
print("dual residual = {} ; primal residual = {}".format(dua_res, pri_res))
129132
print("total number of iteration: {}".format(qp.results.info.iter))
@@ -132,13 +135,14 @@ def test_case_setting_SparseBackend(self):
132135
qp.results.info.setup_time, qp.results.info.solve_time
133136
)
134137
)
135-
136138
qp2 = proxsuite.proxqp.sparse.QP(H_, A_, C_)
137139
qp2.settings.eps_abs = 1.0e-9
138140
qp2.settings.verbose = True
139141
assert qp2.settings.sparse_backend == proxsuite.proxqp.SparseBackend.Automatic
140-
qp2.settings.sparse_backend = proxsuite.proxqp.SparseBackend.MatrixFree
141-
assert qp2.settings.sparse_backend == proxsuite.proxqp.SparseBackend.MatrixFree
142+
qp2.settings.sparse_backend = proxsuite.proxqp.SparseBackend.SparseCholesky
143+
assert (
144+
qp2.settings.sparse_backend == proxsuite.proxqp.SparseBackend.SparseCholesky
145+
)
142146
qp2.init(H=H, g=g, A=A, b=b, C=C, u=u, l=l, rho=1.0e-7)
143147
qp2.solve()
144148
dua_res = normInf(
@@ -156,6 +160,10 @@ def test_case_setting_SparseBackend(self):
156160
)
157161
assert dua_res <= 1e-9
158162
assert pri_res <= 1e-9
163+
assert (
164+
qp2.results.info.sparse_backend
165+
== proxsuite.proxqp.SparseBackend.SparseCholesky
166+
)
159167
print("--n = {} ; n_eq = {} ; n_in = {}".format(n, n_eq, n_in))
160168
print("dual residual = {} ; primal residual = {}".format(dua_res, pri_res))
161169
print("total number of iteration: {}".format(qp2.results.info.iter))

0 commit comments

Comments
 (0)