PerformanceEstimation / PEPit

PEPit is a package enabling computer-assisted worst-case analyses of first-order optimization methods.
https://pepit.readthedocs.io/en/latest/
MIT License
76 stars 10 forks source link

Easy Partitioning for Coordinate Descent & co #78

Closed AdrienTaylor closed 1 year ago

AdrienTaylor commented 1 year ago

Note 1: PR not entirely ready to be validated. Note 2: class and function names can be discussed & updated ("partition" alone might be cleaner than "block_partition" for instance)

Todo:

codecov-commenter commented 1 year ago

Codecov Report

Base: 89.54% // Head: 89.72% // Increases project coverage by +0.18% :tada:

Coverage data is based on head (daacb1f) compared to base (ed8e099). Patch coverage: 91.74% of modified lines in pull request are covered.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #78 +/- ## ========================================== + Coverage 89.54% 89.72% +0.18% ========================================== Files 140 151 +11 Lines 4571 5012 +441 ========================================== + Hits 4093 4497 +404 - Misses 478 515 +37 ``` | [Impacted Files](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation) | Coverage Δ | | |---|---|---| | [...minimization/information\_theoretic\_exact\_method.py](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation#diff-UEVQaXQvZXhhbXBsZXMvdW5jb25zdHJhaW5lZF9jb252ZXhfbWluaW1pemF0aW9uL2luZm9ybWF0aW9uX3RoZW9yZXRpY19leGFjdF9tZXRob2QucHk=) | `87.50% <ø> (ø)` | | | [PEPit/functions/smooth\_strongly\_convex\_function.py](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation#diff-UEVQaXQvZnVuY3Rpb25zL3Ntb290aF9zdHJvbmdseV9jb252ZXhfZnVuY3Rpb24ucHk=) | `93.75% <ø> (ø)` | | | [tests/\_\_init\_\_.py](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation#diff-dGVzdHMvX19pbml0X18ucHk=) | `100.00% <ø> (ø)` | | | [...mized\_coordinate\_descent\_smooth\_strongly\_convex.py](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation#diff-UEVQaXQvZXhhbXBsZXMvc3RvY2hhc3RpY19hbmRfcmFuZG9taXplZF9jb252ZXhfbWluaW1pemF0aW9uL3JhbmRvbWl6ZWRfY29vcmRpbmF0ZV9kZXNjZW50X3Ntb290aF9zdHJvbmdseV9jb252ZXgucHk=) | `73.07% <50.00%> (-8.01%)` | :arrow_down: | | [...ion/randomized\_coordinate\_descent\_smooth\_convex.py](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation#diff-UEVQaXQvZXhhbXBsZXMvc3RvY2hhc3RpY19hbmRfcmFuZG9taXplZF9jb252ZXhfbWluaW1pemF0aW9uL3JhbmRvbWl6ZWRfY29vcmRpbmF0ZV9kZXNjZW50X3Ntb290aF9jb252ZXgucHk=) | `82.75% <78.57%> (-6.34%)` | :arrow_down: | | [...\_examples\_tests/gradient\_descent\_useless\_blocks.py](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation#diff-dGVzdHMvYWRkaXRpb25hbF9jb21wbGV4aWZpZWRfZXhhbXBsZXNfdGVzdHMvZ3JhZGllbnRfZGVzY2VudF91c2VsZXNzX2Jsb2Nrcy5weQ==) | `80.00% <80.00%> (ø)` | | | [...mized\_coordinate\_descent\_smooth\_strongly\_convex.py](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation#diff-dGVzdHMvYWRkaXRpb25hbF9jb21wbGV4aWZpZWRfZXhhbXBsZXNfdGVzdHMvcmFuZG9taXplZF9jb29yZGluYXRlX2Rlc2NlbnRfc21vb3RoX3N0cm9uZ2x5X2NvbnZleC5weQ==) | `81.08% <81.08%> (ø)` | | | [...lexified\_examples\_tests/gradient\_descent\_blocks.py](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation#diff-dGVzdHMvYWRkaXRpb25hbF9jb21wbGV4aWZpZWRfZXhhbXBsZXNfdGVzdHMvZ3JhZGllbnRfZGVzY2VudF9ibG9ja3MucHk=) | `82.14% <82.14%> (ø)` | | | [...d\_convex\_minimization/cyclic\_coordinate\_descent.py](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation#diff-UEVQaXQvZXhhbXBsZXMvdW5jb25zdHJhaW5lZF9jb252ZXhfbWluaW1pemF0aW9uL2N5Y2xpY19jb29yZGluYXRlX2Rlc2NlbnQucHk=) | `84.61% <84.61%> (ø)` | | | [PEPit/pep.py](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation#diff-UEVQaXQvcGVwLnB5) | `85.76% <85.00%> (-0.06%)` | :arrow_down: | | ... and [14 more](https://codecov.io/gh/PerformanceEstimation/PEPit/pull/78/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation) | | Help us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=PerformanceEstimation)

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.