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

Fix SOC residual #1844

Merged
merged 4 commits into from Aug 1, 2022
Merged

Fix SOC residual #1844

merged 4 commits into from Aug 1, 2022

Conversation

SteveDiamond
Copy link
Collaborator

Description

I fixed the computation of the SOC residual.
Issue link (if applicable): #1841

Type of change

  • New feature (backwards compatible)
  • New feature (breaking API changes)
  • Bug fix
  • Other (Documentation, CI, ...)

Contribution checklist

  • Add our license to new files.
  • Check that your code adheres to our coding style.
  • Write unittests.
  • Run the unittests and check that they’re passing.
  • Run the benchmarks to make sure your change doesn’t introduce a regression.

@SteveDiamond
Copy link
Collaborator Author

Doesn't handle edge cases correctly.

@github-actions
Copy link

github-actions bot commented Jul 24, 2022

Benchmarks that have stayed the same:

   before           after         ratio
 [37875987]       [b738a6bc]
      23.5±0s          24.0±0s     1.02  cvar_benchmark.CVaRBenchmark.time_compile_problem
      36.1±0s          36.8±0s     1.02  sdp_segfault_1132_benchmark.SDPSegfault1132Benchmark.time_compile_problem
      18.7±0s          19.0±0s     1.02  simple_LP_benchmarks.SimpleLPBenchmark.time_compile_problem
      8.36±0s          8.40±0s     1.00  optimal_advertising.OptimalAdvertising.time_compile_problem
      18.0±0s          18.1±0s     1.00  qp_1611_benchmark.QP1611Benchmark.time_compile_problem
      3.73±0s          3.72±0s     1.00  simple_LP_benchmarks.SimpleFullyParametrizedLPBenchmark.time_compile_problem
      1.46±0s          1.45±0s     0.99  simple_LP_benchmarks.SimpleScalarParametrizedLPBenchmark.time_compile_problem

@rileyjmurray
Copy link
Collaborator

I merged @phschiele's changes into this branch. I'll note that it might be difficult to cherry-pick this commit for propagating to the release/1.2.x and release/1.1.x branches. But manually copying the changes shouldn't be hard.

Philipp suggests merging master into this branch before merging this PR. That should result in the PR affecting 16 files to just 2 files.

* origin/master:
  Add support for solving mixed-integer programs via HiGHS/SciPy interface (#1830)
  fix linters (#1851)
  fix link
  publish to web
  [CI] Bump macOS runner (#1846)
  Add new QpSolver and ConicSolver for COPT under CVXPY (#1836)
@sonarcloud
Copy link

sonarcloud bot commented Aug 1, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 3 Code Smells

100.0% 100.0% Coverage
0.0% 0.0% Duplication

@SteveDiamond
Copy link
Collaborator Author

Thanks @phschiele !

@SteveDiamond SteveDiamond merged commit d86621f into master Aug 1, 2022
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 SteveDiamond mentioned this pull request Aug 31, 2022
9 tasks
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 SteveDiamond mentioned this pull request Aug 31, 2022
9 tasks
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

3 participants