Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion SOC residual #1853

Merged
merged 8 commits into from Aug 1, 2022

Conversation

phschiele
Copy link
Collaborator

@phschiele phschiele commented Aug 1, 2022

Description

This PR points to the bugfix/soc_resid branch and adds handling for the edge cases, taking inspiration from @rileyjmurray 's code in the issue and the mosek docs.

(The linters were failing here, so I merged the master into this branch. Merge master into bugfix/soc_resid to get rid of the noise in this PR).

wujianjack and others added 8 commits July 27, 2022 08:11
* Add new QpSolver and ConicSolver for COPT under CVXPY

* don't test COPT verbose

Co-authored-by: Steven Diamond <diamond@cs.stanford.edu>
* bump runner

* use pip install
…ace (cvxpy#1830)

Co-authored-by: Steven Diamond <diamond@cs.stanford.edu>
@github-actions
Copy link

github-actions bot commented Aug 1, 2022

Benchmarks that have stayed the same:

   before           after         ratio
 [37875987]       [befb0009]
      3.79±0s          4.05±0s     1.07  simple_LP_benchmarks.SimpleFullyParametrizedLPBenchmark.time_compile_problem
      7.99±0s          8.31±0s     1.04  optimal_advertising.OptimalAdvertising.time_compile_problem
      44.5±0s          45.1±0s     1.01  sdp_segfault_1132_benchmark.SDPSegfault1132Benchmark.time_compile_problem
      24.6±0s          24.6±0s     1.00  qp_1611_benchmark.QP1611Benchmark.time_compile_problem
      30.1±0s          30.1±0s     1.00  cvar_benchmark.CVaRBenchmark.time_compile_problem
      24.3±0s          24.1±0s     0.99  simple_LP_benchmarks.SimpleLPBenchmark.time_compile_problem
      1.80±0s          1.76±0s     0.98  simple_LP_benchmarks.SimpleScalarParametrizedLPBenchmark.time_compile_problem

@rileyjmurray
Copy link
Collaborator

The changes for SOC residual look great! I'll merge so that we can continue with the other PR.

@rileyjmurray rileyjmurray merged commit 3cecad9 into cvxpy:bugfix/soc_resid Aug 1, 2022
SteveDiamond added a commit that referenced this pull request Aug 1, 2022
* fix SOC residual

* dimension test

* Suggestion for how to compute SOC residual (#1853)

Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>
SteveDiamond added a commit that referenced this pull request Aug 31, 2022
* fix SOC residual

* dimension test

* Suggestion for how to compute SOC residual (#1853)

Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>
SteveDiamond added a commit that referenced this pull request Aug 31, 2022
* fix SOC residual

* dimension test

* Suggestion for how to compute SOC residual (#1853)

Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>
SteveDiamond added a commit that referenced this pull request Nov 4, 2022
* fix osqp warm start (#1882)

* switch SCS timings to seconds (#1880)

Co-authored-by: Steven Diamond <steven@gridmatic.com>

* merge fix

* merge fix

* Fix SOC residual (#1844)

* fix SOC residual

* dimension test

* Suggestion for how to compute SOC residual (#1853)

Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>

* Fix bug with diff (#1835)

* fix #1834

* test error

Co-authored-by: Steven Diamond <steven@gridmatic.com>

* fix #1828 (#1829)

* fix mosek

* switch pcp opt vals back

* resolved merge conflicts

* removed mi_lp_5 test

* Update __init__.py

Resolve #1910

* allow lists as shape definitions

* fix types

* fix types for 3.6

* fix gradient for multidimensional quad form (#1854)

* fix multidimensional quad form

* autoblack messed up line ordering

* Adding edge case handling for string inputs into norm (#1871)

* Adding edge case handling for string inputs into norm

Signed-off-by: KerimovEmil <emilkerimov93@gmail.com>

* Update cvxpy/atoms/norm.py

Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>

* Adding norm exception tests to ensure that invalid string inputs are caught

Signed-off-by: KerimovEmil <emilkerimov93@gmail.com>
Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>
Co-authored-by: Steven Diamond <steven@gridmatic.com>

Signed-off-by: KerimovEmil <emilkerimov93@gmail.com>
Co-authored-by: Fabian Schramm <55981657+fabinsch@users.noreply.github.com>
Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>
Co-authored-by: Riley Murray <rileyjmurray@users.noreply.github.com>
Co-authored-by: Robert Huisman <74955560+roberthuisman@users.noreply.github.com>
Co-authored-by: KerimovEmil <emilkerimov93@gmail.com>
SteveDiamond added a commit that referenced this pull request Nov 4, 2022
* fix osqp warm start (#1882)

* switch SCS timings to seconds (#1880)

Co-authored-by: Steven Diamond <steven@gridmatic.com>

* merge fix

* fix test

* resolve merge

* Fix SOC residual (#1844)

* fix SOC residual

* dimension test

* Suggestion for how to compute SOC residual (#1853)

Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>

* Fix bug with diff (#1835)

* fix #1834

* test error

Co-authored-by: Steven Diamond <steven@gridmatic.com>

* fix #1828 (#1829)

* cap ortools at 9.3

* fix mosek

* switch pcp opt vals back

* resolve merge conflict

* Update __init__.py

Resolve #1910

* allow list as shape input

* fix gradient for multidimensional quad form (#1854)

* fix multidimensional quad form

* autoblack messed up line ordering

* Adding edge case handling for string inputs into norm (#1871)

* Adding edge case handling for string inputs into norm

Signed-off-by: KerimovEmil <emilkerimov93@gmail.com>

* Update cvxpy/atoms/norm.py

Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>

* Adding norm exception tests to ensure that invalid string inputs are caught

Signed-off-by: KerimovEmil <emilkerimov93@gmail.com>
Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>
Co-authored-by: Steven Diamond <steven@gridmatic.com>

* Fix time_limit_sec for GLOP and PDLP (#1859)

Fixes #1858

Signed-off-by: KerimovEmil <emilkerimov93@gmail.com>
Co-authored-by: Fabian Schramm <55981657+fabinsch@users.noreply.github.com>
Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>
Co-authored-by: Riley Murray <rileyjmurray@users.noreply.github.com>
Co-authored-by: Robert Huisman <74955560+roberthuisman@users.noreply.github.com>
Co-authored-by: KerimovEmil <emilkerimov93@gmail.com>
Co-authored-by: Miles Lubin <miles.lubin@gmail.com>
SteveDiamond added a commit that referenced this pull request Dec 27, 2022
* fix osqp warm start (#1882)

* switch SCS timings to seconds (#1880)

Co-authored-by: Steven Diamond <steven@gridmatic.com>

* merge fix

* merge fix

* Fix SOC residual (#1844)

* fix SOC residual

* dimension test

* Suggestion for how to compute SOC residual (#1853)

Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>

* Fix bug with diff (#1835)

* fix #1834

* test error

Co-authored-by: Steven Diamond <steven@gridmatic.com>

* fix #1828 (#1829)

* fix mosek

* switch pcp opt vals back

* resolved merge conflicts

* removed mi_lp_5 test

* Update __init__.py

Resolve #1910

* allow lists as shape definitions

* fix types

* fix types for 3.6

* fix gradient for multidimensional quad form (#1854)

* fix multidimensional quad form

* autoblack messed up line ordering

* Adding edge case handling for string inputs into norm (#1871)

* Adding edge case handling for string inputs into norm

Signed-off-by: KerimovEmil <emilkerimov93@gmail.com>

* Update cvxpy/atoms/norm.py

Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>

* Adding norm exception tests to ensure that invalid string inputs are caught

Signed-off-by: KerimovEmil <emilkerimov93@gmail.com>
Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>
Co-authored-by: Steven Diamond <steven@gridmatic.com>

* disallow float for diamatrix values (#1931)

* add setup.cfg

* Make log_det robust to numerical issues with complex data (#1866)

* log_det takes Hermitian part of its input, therefore can assume that "sign" from numpys slogdet is real.

* Update test_complex.py

* Update test_complex.py

Make certain failing tests verbose, so we can see why logdet tests fail on a small number of platforms.

* guess for fix

* lower precision of test log det

* Update cvxpy/tests/test_complex.py

Remove verbose

Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>

* Update cvxpy/tests/test_complex.py

Remove verbose from test

Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>

Co-authored-by: Steven Diamond <diamond.po.central@gmail.com>
Co-authored-by: Steven Diamond <steven@gridmatic.com>
Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>

* Adapt to API changes in gurobipy (#1962)

Signed-off-by: KerimovEmil <emilkerimov93@gmail.com>
Co-authored-by: Fabian Schramm <55981657+fabinsch@users.noreply.github.com>
Co-authored-by: phschiele <44360364+phschiele@users.noreply.github.com>
Co-authored-by: Riley Murray <rileyjmurray@users.noreply.github.com>
Co-authored-by: Robert Huisman <74955560+roberthuisman@users.noreply.github.com>
Co-authored-by: KerimovEmil <emilkerimov93@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Robert Luce <2168992+rluce@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants