Skip to content

🦀 SOC projections in Rust and other improvements#79

Merged
alphaville merged 29 commits into
mainfrom
feature/78-soc
May 6, 2026
Merged

🦀 SOC projections in Rust and other improvements#79
alphaville merged 29 commits into
mainfrom
feature/78-soc

Conversation

@alphaville

@alphaville alphaville commented May 4, 2026

Copy link
Copy Markdown
Collaborator

Main Changes

Summary: Gradgen v0.5.1 brings second-order cones (SOCs), which are useful in convex optimization. It also brings significant improvements in the generated code leading to a more "economic" allocation of workspace memory. Earlier, workspace would almost always be required, whereas now we check whether the output variable can serve as workspace. More thorough unit testing is also done (we now have 537 unit tests). This includes integration tests where we compare the results obtained by gradgen to sympy.

  • SOC projections and squared distances
  • Workspace variables are not generated unless required
  • Unit tests are in debug mode now
  • A few bugs fixed (related to code generation)
  • Further integration tests (comparisons with sympy)

Associated Issues

Merge Dependencies

Target versions and releases

Checklist

  • API documentation updated
  • Appropriate testing
  • Create a demo in demos/, if necessary
  • Update CHANGELOG
  • Update webpage documentation (incl. Google Colab demo), if necessary
  • Bump versions in pyproject.toml, if necessary
  • If a new version is being released, write blog post

@alphaville alphaville self-assigned this May 4, 2026
@alphaville alphaville added enhancement New feature or request rust Rust python Python codegen Jinja2 code generation labels May 4, 2026
@alphaville alphaville changed the title 🦀 SOC projections in Rust 🦀 SOC projections in Rust and other improvements May 6, 2026
@alphaville alphaville merged commit b570572 into main May 6, 2026
3 checks passed
@alphaville alphaville deleted the feature/78-soc branch May 8, 2026 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

codegen Jinja2 code generation enhancement New feature or request python Python rust Rust

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Superfluous workspace memory allocation Projection on SOC and squared distance function

1 participant