Skip to content

Move traits to ProximalCore, new functions, RecursiveArrayToolsExt, defer loading OSQP - #151

Closed
hakkelt wants to merge 7 commits into
JuliaFirstOrder:masterfrom
hakkelt:master
Closed

Move traits to ProximalCore, new functions, RecursiveArrayToolsExt, defer loading OSQP#151
hakkelt wants to merge 7 commits into
JuliaFirstOrder:masterfrom
hakkelt:master

Conversation

@hakkelt

@hakkelt hakkelt commented Nov 11, 2025

Copy link
Copy Markdown
Contributor

This PR is part of the effort to make StructuredOptimization as general as possible (see the PR on OperatorCore: JuliaFirstOrder/ProximalCore.jl#5).

Changes:

  • PrecomposedSlicedSeparableSum: function to be used for complex problems with multiple variables and variables sliced in different terms. E.g.:
x, y = Variable(10), Variable(5)
problem = ls(x[1:5] - y) + norm(x, 1) + norm(x[6:10], 1)
  • reshapeInput wrapper can help, for example, in low-rank minimization to avoid reshaped Eye from AbstractOperators and its unnecessary copy:
x = Variable(3,3,5)
problem = norm(reshape(x, 9, 5), *)
  • RecursiveArrayToolsExt extension contains some functions that were moved from StructuredOptimization as I believe they belong here.
  • Loading OSQP dependency was delayed until IndPolyhedralOSQP is instantiated. The reason behind it was that OSQP is one of the largest dependencies of ProximalOperators, and it is only used by a single function. ProximalOperators loads almost a second faster without it.

@hakkelt
hakkelt marked this pull request as draft November 27, 2025 19:59
@hakkelt

hakkelt commented Nov 27, 2025

Copy link
Copy Markdown
Contributor Author

I'll break this large PR into multiple smaller ones, but I'll keep this open for reference.

@hakkelt

hakkelt commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

This PR is no longer needed because all of its changes are either merged in separate PRs or have a currently open PR to implement them (#162).

@hakkelt hakkelt closed this Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant