pypi cvxpy 1.7.0
v1.7.0

latest releases: 1.7.5, 1.7.4, 1.7.3...
6 months ago

CVXPY 1.7

This release is consistent with our semantic versioning guarantee. It comes packed with many new features, bug fixes, and performance improvements.

This version of CVXPY supports Python 3.9 through 3.13. While working on the next release, we continue to officially support CVXPY 1.6.

New GPU solvers

CVXPY begins supporting GPU solvers in this release. The following solvers are supported:

MPAX runs on a GPU device specified by the JAX environment. MPAX, cuOpt, and CuClarabel are new solver interfaces that can be used with CVXPY. SCS has a new backend based on cuDSS that can be used through the existing SCS interface.

Sparse array support

SciPy is deprecating the sparse matrix API in favor of sparse arrays. See the migration guide here.

CVXPY 1.7 supports the new sparse array API but continues to support the sparse matrix API for backwards compatibility.

Update on reshape order

In CVXPY 1.6, we began raising warnings for the default reshape order being Fortran ('F'),
which differs from NumPy's default order ('C'). We also mentioned that we would raise an error
if the order was not specified in CVXPY 1.7, and switch the default order to 'C' in CVXPY 1.8.
However, we have decided to postpone these changes to CVXPY 2.0, the next major release.
We believe that raising errors could break existing code and cause confusion among users.
We encourage users to continue explicitly specifying the order when using reshape, vec, and flatten atoms.

New features

  • Multiple attributes for variables and parameters
  • New QOCO solver interface
  • New atom: broadcast_to
  • New atom: transpose(expr, axes)
  • New atom: swapaxes
  • New atom: moveaxis
  • New atom: permute_dims
  • Add warm-start support for HiGHS
  • Add warm-start support for PIQP

Summary

This new release totaled 84 PRs from 27 users.

Special shoutout to @PTNobel for leading the integration of GPU solver interfaces into CVXPY.

Don't miss a new cvxpy release

NewReleases is sending notifications on new releases.