Conversation
* Added CuClarabel citation and repo link (#2869) * Remove cuopt_sh_client dependency from pyproject.toml (#2870) * Fix status mapping issues (#2872) * Fix status mapping issues * Fixed deprecation warnings * Bump xpress version in ci * Fix most CI errors * Fix remaining CI error * CI: update macOS runners to ``macos-14`` (#2878) * update macos runners to macos14 * update single action config to also be macos-14 * make changes to optional solvers as well * remove mkl from dependencies for macos * BUG: allow integer and boolean variable values (#2882) * adds type conversion when copying array for projection onto subset of indices * change integer value to be converted to float too * fix typo for astype --------- Co-authored-by: William Zijie Zhang <william@gridmatic.com> * Add `var_dict` to documentation (#2886) This will make `var_dict` visible in the automatically generated docs. This is a very convenient property for accessing variables by name. * Enable Support for Advanced HIGHS Options (#2888) * use solver.setOptionValue instead of HighsOptions * check for kError status after calling setOptionValue, raise ValueError, update tests * test invalid value * bump ortools compat up to 9.14 (#2892) * Fix typo in tutorial/intro/index.rst (#2894) * Update inv_prod.py (#2897) * Update inv_prod.py * Update inv_prod.py * If solver hits max iters it should return s.USER_LIMIT (#2906) * If solver hits max iters it should return s.USER_LIMIT * Fix tests * Fix pre-commit * Compute gradients for bilinear expressions (#2908) * Add ability to compute gradients for bilinear expressions * Support grad on dot product of two vectors * Add additional unit tests for grad * Check if there are constraints before calling getDual() (#2903) --------- Co-authored-by: Govind Chari <govindchari1@gmail.com> Co-authored-by: Trevor McKay <tmgithub1@gmail.com> Co-authored-by: William Zijie Zhang <william@gridmatic.com> Co-authored-by: Stefan de Lange <37669773+langestefan@users.noreply.github.com> Co-authored-by: Gabriel Hackebeil <gabe.hackebeil@gmail.com> Co-authored-by: Miles Lubin <miles.lubin@gmail.com> Co-authored-by: Benjamin Manns <benmanns@gmail.com> Co-authored-by: Parth Nobel <ptnobel@stanford.edu>
* Pass in raise_error=False to osqp solve method (#2901) * Pass in raise_error=False to osqp solve method * Bump osqp to first version with raise_error argument * Treat assignment of numpy arrays and lists similarly (#2913) * Add test for constraint violation with boolean assignment This concerns #2900. * Add test for matrix_utilities.convert method * Add test for value and dtype after boolean and integer assignment * Treat assignment of numpy arrays and lists similarly This fixes an issue where lists and numpy ndarrays were treated differently when assigned to a Leaf's value property. When assigning a list (or numpy matrix), the provided object is first converted to a numpy ndarray with float dtype. However, when provided a numpy ndarray, the object was being assigned as provided. As a result, lists of bools and ints were converted to numpy arrays of floats, while numpy arrays of bools and ints retained their original dtypes. This would result in errors when attempting to perform certain arithmetic operations on these arrays. Now, we make lists and numpy ndarrays follow the same code path during the conversion process. This fixes #2900. * Enable copy button in documentation (#2914) This adds a little copy button in the top right of code snippets in the docs to conveniently copy code to clipboard in one click. * cuopt solver return values in problem.solver_stats (#2919) * cuopt set objective offset in the data model (#2918) * cuopt set objective offset in the data model * cuopt save object offset in data during apply * coupt solver remove unused CUOPT_OBJ_OFFSET * Correct string representation of NegExpression (#2924) * Correct string representation of NegExpression * Add back test for -x, use self.assertEqual like other tests in test_expressions.py * Fix outdated benchmark documentation in CONTRIBUTING.md (#2929) The documentation referenced test_benchmarks.py which no longer exists. Updated to point to the correct benchmarks repository and provide accurate instructions for running benchmarks with Airspeed Velocity. Changes: - Update benchmark location from non-existent test_benchmarks.py to benchmarks repo - Provide correct instructions for running benchmarks with asv - Link to benchmarks README for detailed information 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <noreply@anthropic.com> * Fix issue #2896: harmonic mean gradient computation dtype error (#2933) * Fix dtype=object error in pnorm gradient computation Cast Fraction exponents to float to prevent scipy.sparse rejection. Also fixes sign handling for p>1 with negative values. Fixes #2896 * Add tests for pnorm gradient edge cases - Regression test for issue #2896 (harmonic_mean) - Test negative p values and sign correctness - Verify analytic gradient values * Fix benchmark link (#2938) --------- Co-authored-by: Govind Chari <govindchari1@gmail.com> Co-authored-by: warwickmm <warwickmm@users.noreply.github.com> Co-authored-by: Stefan de Lange <37669773+langestefan@users.noreply.github.com> Co-authored-by: Trevor McKay <tmgithub1@gmail.com> Co-authored-by: thisisRMak <170375851+thisisRMak@users.noreply.github.com> Co-authored-by: Clay Campaigne <clay@campaigne.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Clay Campaigne <clay.campaigne@gmail.com>
* adding MIP warmstart for XPRESS (#2945) Co-authored-by: Marc Bataillou Almagro <maalmagr@amazon.com> * Support for cvxpy.convolve into complex2real, fix sparse convolutions in Scipy (#2947) * Add support for cvxpy.convolve into complex2real Altough cvxpy.conv is supported, cvxpy.convolve is a different atom and thus requires to be explicitly specified in order to be supported. Fixes #2946 * Add a test for complex cp.conv and cp.convolve * Fix sparse convolution for the Scipy backend If the lhs operand has zeroes in it, they get consumed by the .tocoo call. This means that the amount of nonzero elements computed beforehand is no longer correct, yielding a dimension mismatch a few lines later. This is a tentative attempt at fixing this, should be carefully analyzed by someone that can actually read this numpy juggling. Fixes #2949 * passing original variable names and constraint ids to improve debugging (#2948) Co-authored-by: Marc Bataillou Almagro <maalmagr@amazon.com> * Revert "Passing original variable names and constraint ids to improve debugging" (#2950) * Revert "passing original variable names and constraint ids to improve debuggi…" This reverts commit 9fb1974. * Revert "patch empty breaking empty rownames for xpress>=9.5 (#2745)" This reverts commit 6870f5f. * Revert "adding MIP warmstart for XPRESS (#2945)" This reverts commit 9e36b12. --------- Co-authored-by: William Zijie Zhang <89562186+Transurgeon@users.noreply.github.com> * Update Python version in devcontainer configuration (#2955) * consolidate warmstart and varname changes (#2957) * Various fixes to help CVXPYlayers (#2951) * Removes assert that prevents canonicalizing without parameter values * renames c -> q in the ParamConicProg so it has the same API as ParamQuadProg * Fixes a bug in the tests * Fixes a bug * Fix qoco links (#2963) * Fixes .name() for multiply expressions and HiGHS tests (#2983) * Fixes .name() for multiply expressions * Fixes tests lol * Fixes HiGHS tests * adding variable bounds to PDLP (#2974) * adding variable bounds to pdlp * add check for none variable bounds --------- Co-authored-by: William Zijie Zhang <william@gridmatic.com> * Enhance atom validation with NumPy and improve error messages (#2976) * Use NumPy validation in hstack, vstack, concatenate, and sum Replaces custom validation with NumPy's input validation using mock arrays. Improves error messages by adding CVXPY context. Adds missing test_hstack coverage. This addresses the atoms specifically mentioned in #2613 and improves error message traceability as requested in #2620. Other atoms may benefit from similar improvements in future work. * Refactor per reviewer feedback - Consolidate validation: validate_arguments() now calls shape_from_args() - Add cp. prefix to error messages for clarity - Eliminates code duplication while maintaining error handling * Extend sum_largest/sum_smallest to support float k and optimize cvar implementation (#2985) * support float k in sum_largest and sum_smallest * support float k in lambda_sum_largest and lambda_sum_smallest * reimplement cvar using sum_largest instead of dotsort * Update cuopt_conif.py for cuopt 25.10 (#2989) * CI: change copt write test to use pytest skipif (#2993) * change copt write test to use pytest skipif * change gurobi as well * Make get_problem_data work with gp = True and parameter values not set (#3005) * make get_problem_data work with dgp and no param values * add tests for get_problem_data(gp=True, ...) with no param values * clearer comment and another test * fix comment for tests * more comments --------- Co-authored-by: Marc Bataillou Almagro <marc.bataillou@gmail.com> Co-authored-by: Marc Bataillou Almagro <maalmagr@amazon.com> Co-authored-by: Josef Gajdusek <atx@atx.name> Co-authored-by: Parth Nobel <ptnobel@stanford.edu> Co-authored-by: Nika Zahedi <99093984+Ni2002ka@users.noreply.github.com> Co-authored-by: Govind Chari <govindchari1@gmail.com> Co-authored-by: William Zijie Zhang <william@gridmatic.com> Co-authored-by: Zak Kraehling <zak@zakkraehling.net> Co-authored-by: David Pérez Piñeiro <73615370+davidppineiro@users.noreply.github.com> Co-authored-by: Trevor McKay <tmgithub1@gmail.com> Co-authored-by: Steven Diamond <diamond@cs.stanford.edu>
* Reduction from n-dimensional SOC cones to 3-dimensional SOC cones (#3020) * first cut * cleaned up tests * switch to explicit NonNeg * clarifying comment on vectorization * condense tests * fixed elementwise SOC * more condensation of tests * use socp_1/2 from solver_test_helpers * circular type issue * Fix installation instructions for HiGHS (#3021) * Fix formatting bug * Whitespace nit * moreau interface * drop import SolverInverseData --------- Co-authored-by: Steven Diamond <diamond@cs.stanford.edu> Co-authored-by: Stephen Huan <stephen.huan@cgdct.moe> Co-authored-by: Parth Nobel <ptnobel@stanford.edu>
Add a dismissable banner to the documentation announcing: - The inaugural CVXPY Community Workshop on Feb 20-21 at Stanford/Zoom - Listening sessions for community feedback Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
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.
Description
Please include a short summary of the change.
Issue link (if applicable):
Type of change
Contribution checklist