Skip to content

Commit 4641971

Browse files
Transurgeonclaude
andauthored
Extract diff engine bindings into standalone SparseDiffPy package (#148)
* Extract diff engine bindings into standalone SparseDiffPy package Move C bindings (_bindings/) to the new SparseDiffPy package at SparseDifferentiation/SparseDiffPy and import via `from sparsediffpy import _sparsediffengine as _diffengine`. Remove the diff_engine_core submodule and its build configuration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * make sparsediffpy a dependency * ci: trigger CI to verify sparsediffpy PyPI install Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 7919d4d commit 4641971

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+7
-2434
lines changed

.gitmodules

Lines changed: 0 additions & 3 deletions
This file was deleted.

CLAUDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,9 @@ The NLP infrastructure provides oracle-based interfaces for nonlinear solvers:
145145
- DNLP validation: expressions must be smooth (ESR and HSR)
146146
- Problem validity checked via `problem.is_dnlp()` method
147147

148-
### Diff Engine (Subproject)
148+
### Diff Engine (SparseDiffPy)
149149

150-
The `diff_engine_core/` directory contains a C library with Python bindings for automatic differentiation. It builds expression trees from CVXPY problems and computes derivatives (gradients, Jacobians, Hessians) for NLP solvers.
150+
The automatic differentiation engine is provided by the [SparseDiffPy](https://github.com/SparseDifferentiation/SparseDiffPy) package (`pip install sparsediffpy`), which wraps the [SparseDiffEngine](https://github.com/SparseDifferentiation/SparseDiffEngine) C library. It builds expression trees from CVXPY problems and computes derivatives (gradients, Jacobians, Hessians) for NLP solvers. New diff engine atoms require C-level additions in SparseDiffPy.
151151

152152
## Implementing New Atoms
153153

DIFFENGINE_RELEASE.md

Lines changed: 0 additions & 74 deletions
This file was deleted.

cvxpy/reductions/solvers/nlp_solvers/diff_engine/_bindings/atoms/add.h

Lines changed: 0 additions & 31 deletions
This file was deleted.

cvxpy/reductions/solvers/nlp_solvers/diff_engine/_bindings/atoms/asinh.h

Lines changed: 0 additions & 31 deletions
This file was deleted.

cvxpy/reductions/solvers/nlp_solvers/diff_engine/_bindings/atoms/atanh.h

Lines changed: 0 additions & 31 deletions
This file was deleted.

cvxpy/reductions/solvers/nlp_solvers/diff_engine/_bindings/atoms/broadcast.h

Lines changed: 0 additions & 33 deletions
This file was deleted.

cvxpy/reductions/solvers/nlp_solvers/diff_engine/_bindings/atoms/common.h

Lines changed: 0 additions & 23 deletions
This file was deleted.

cvxpy/reductions/solvers/nlp_solvers/diff_engine/_bindings/atoms/const_scalar_mult.h

Lines changed: 0 additions & 36 deletions
This file was deleted.

cvxpy/reductions/solvers/nlp_solvers/diff_engine/_bindings/atoms/const_vector_mult.h

Lines changed: 0 additions & 59 deletions
This file was deleted.

0 commit comments

Comments
 (0)