Skip to content

Commit ae88751

Browse files
committed
adds todos for diag stuff
1 parent 83e4dd5 commit ae88751

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

  • cvxpy/reductions/solvers/nlp_solvers/diff_engine

cvxpy/reductions/solvers/nlp_solvers/diff_engine/registry.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ def convert_trace(_expr, children):
202202

203203
def convert_diag_vec(expr, children):
204204
# C implementation only supports k=0 (main diagonal)
205+
# TODO add support for diag vec with k
205206
if expr.k != 0:
206207
raise NotImplementedError("diag_vec with k != 0 not supported in diff engine")
207208
return _diffengine.make_diag_vec(children[0])
@@ -213,6 +214,8 @@ def convert_diag_mat(expr, children):
213214
raise NotImplementedError("diag_mat with k != 0 not supported in diff engine")
214215
node = _diffengine.make_diag_mat(children[0])
215216
# C produces (n, 1) but CVXPY shape is (n,) which normalizes to (1, n)
217+
# TODO add support for producing (1, n) directly in C and remove this reshape
218+
# TODO also raise error that the k should be zero, since that's the only supported case
216219
n = expr.args[0].shape[0]
217220
return _diffengine.make_reshape(node, 1, n)
218221

0 commit comments

Comments
 (0)