Update Pock-Chambolle to match 2011 paper#52
Open
klamike wants to merge 9 commits into
Open
Conversation
klamike
commented
May 12, 2026
gdalle
requested changes
May 13, 2026
|
|
||
| > Pock, Thomas, and Antonin Chambolle. "Diagonal preconditioning for first order primal-dual algorithms in convex optimization." *2011 International Conference on Computer Vision*. IEEE, 2011. [doi:10.1109/ICCV.2011.6126441](https://doi.org/10.1109/ICCV.2011.6126441) | ||
|
|
||
| for matrix $K$ of size $m \times n$ and $\alpha \in [0, 2]$, the diagonal factors are |
Member
There was a problem hiding this comment.
In our code the constraint matrix is called A
Collaborator
Author
There was a problem hiding this comment.
Was just sticking to the Pock-Chambolle paper here. Also, we will use it for Q in the upcoming convex QP support (well, for K = [Q A'; A 0 ])
|
|
||
| Following Lemma 2 of: | ||
|
|
||
| > Pock, Thomas, and Antonin Chambolle. "Diagonal preconditioning for first order primal-dual algorithms in convex optimization." *2011 International Conference on Computer Vision*. IEEE, 2011. [doi:10.1109/ICCV.2011.6126441](https://doi.org/10.1109/ICCV.2011.6126441) |
| """ | ||
| column_power_sum(A, j, p) | ||
|
|
||
| Return `sum_i |A[i, j]|^p`. Zero entries are treated as contributing `0` (not `0^0 = 1`), |
Member
There was a problem hiding this comment.
I'm not sure why you say the initial implementation was incorrect. Doesn't LinearAlgebra.norm(x, p) take care of undoing the inner power at the end?
Collaborator
Author
There was a problem hiding this comment.
was
Co-authored-by: Guillaume Dalle <22795598+gdalle@users.noreply.github.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.
We
had the exponents swapped, andforgot to undo the outer power. This PR fixes the formulas to match the paper (except for the exponents, where we adopt the PDLP convention to be aligned with other solvers). It also adds a short section about it to the docs.Reusing the
diagonal_normfunction (while incorporating the correctness fix) would be extra work ((x^(1/p))^p), so we introduce a special helper for the column-power-sum (without the outer power).