Conversation
Implements efficient indexing operator that handles both CVXPY's `index` (slice-based) and `special_index` (array/boolean) atoms. - Forward: O(n_selected) gather operation - Jacobian: Pre-computed row mapping for fast memcpy per row - Hessian: Pre-allocated scatter buffer with accumulation for repeated indices (equivalent to np.add.at) Enables NLP tests like test_hs071 and test_rosenbrock that use x[0], x[1] style indexing. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Reshape with order='F' is a pass-through since the underlying data layout is unchanged - only shape interpretation differs. Note: Only Fortran order is supported. C order would require data permutation which is not yet implemented. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Enables test_socp and test_portfolio_socp to pass. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Exposes the existing rel_entr C implementation (for equal-sized args) through Python bindings. The scalar argument variants declared in the header are not yet implemented in C. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add has_duplicates flag to detect repeated indices at construction - Hessian eval: fast path (direct write) when no duplicates, avoiding O(child_size) memset; slow path (zero + accumulate) for duplicates - Remove jac_row_starts and jac_row_lengths arrays from index_expr - Simplify jacobian_init: use CSR p array directly instead of helpers - Simplify eval_jacobian: compute row lengths on the fly (trivial cost) - Convert &array[i] to array + i style for consistency with codebase - Update CLAUDE.md with improved build instructions and atom lists Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Collaborator
|
Awesome! Merging this after some small stylistic edits. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.