Skip to content

Commit 2b52a5a

Browse files
committed
Updated documentation
1 parent de5505d commit 2b52a5a

127 files changed

Lines changed: 1366 additions & 429 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ tutorials/.DS_Store
1111
/docs/src/generated_examples/
1212
/docs/src/examples.md
1313
/docs/src/changelog.md
14+
/gitignore-folder

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,42 @@ project aims to follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html
66

77
## [Unreleased]
88

9+
### Added
10+
- Mathematical interpolation conditions (in display-math fences, verified
11+
against each `add_class_constraints!` implementation) in the docstrings of
12+
all 16 function classes and 13 operator classes.
13+
- Academic references in all function/operator class docstrings, ported from
14+
the corresponding Python PEPit docstrings (Taylor-Hendrickx-Glineur,
15+
Ryu-Taylor-Bergeling-Giselsson, Bousselmi-Hendrickx-Glineur,
16+
Bauschke-Combettes, and others).
17+
- Class-specific notes ported from Python PEPit: differentiability and
18+
`reuse_gradient` behavior, `L == Inf`/`beta == 0` degenerate-parameter
19+
advice, the nonexpansive infimal-displacement-vector discussion, and the
20+
documented adjoint usage `gradient!(M.T, u)` for `LinearOperator`.
21+
- A representative `# Returns approximately: (...)` output line inside the
22+
`# Julia usage` block of every example docstring (96 examples), generated by
23+
running each example with its documented arguments (Clarabel).
24+
25+
### Fixed
26+
- Class docstring usage examples previously showed the template placeholder
27+
`OrderedDict("L" => 1.0) # adapt keys to the class` for every class; each
28+
class now shows its actual parameter keys (`"mu"`, `"beta"`, `"M"`, `"rho"`,
29+
`"partition"`, ...), so copy-pasting no longer raises `KeyError`.
30+
- Mislabeled prose in operator docstrings: `LipschitzOperator` and both
31+
`CocoerciveStronglyMonotoneOperator*` variants described "Cocoercive
32+
operators"; `BlockSmoothConvexFunctionExpensive` referred to itself by a
33+
non-existent name (`RefinedBlockSmoothConvexFunctionExpensive`).
34+
- Ten example docstrings falsely claimed "No bibliographic reference was
35+
listed in the corresponding Python PEPit example docstring"; eight now carry
36+
the actual references (Lieder; Gu-Yang; Kim; Park-Ryu; Bousselmi et al.;
37+
Goujaud et al.) and the remaining two state that no reference exists.
38+
- Broken display-math fence in the theoretical-guarantee block of
39+
`examples/fixed_point_problems/krasnoselskii_mann_constant_step_sizes.jl`.
40+
- `# Note`/`# Warning` pseudo-headings with indented bodies in class
41+
docstrings (rendered as code blocks by Documenter) replaced with proper
42+
`!!! note`/`!!! warning` admonitions; generic `# Fields` boilerplate
43+
replaced with accurate per-class field descriptions.
44+
945
## [0.1.2] - 2026-06-08
1046

1147
### Added

examples/adaptive_methods/polyak_steps_in_distance_to_optimum.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ In Conference on Learning Theory (COLT).](https://arxiv.org/pdf/2002.00915.pdf)
8383
# Julia usage
8484
```julia
8585
pepit_tau, theoretical_tau = wc_polyak_steps_in_distance_to_optimum(1.0, 0.1, 2 / (1.0 + 0.1); solver=Clarabel.Optimizer, verbose=true)
86+
# Returns approximately: (pepit_tau, theoretical_tau) = (0.669421, 0.669421)
8687
```
8788
"""
8889
function wc_polyak_steps_in_distance_to_optimum(L, mu, gamma; solver=Clarabel.Optimizer, verbose=true)

examples/adaptive_methods/polyak_steps_in_function_value.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ In Conference on Learning Theory (COLT).](https://arxiv.org/pdf/2002.00915.pdf)
8383
# Julia usage
8484
```julia
8585
pepit_tau, theoretical_tau = wc_polyak_steps_in_function_value(1.0, 0.1, 2 / (1 + 0.1); verbose=true)
86+
# Returns approximately: (pepit_tau, theoretical_tau) = (0.669421, 0.669421)
8687
```
8788
"""
8889
function wc_polyak_steps_in_function_value(L, mu, gamma; verbose=true)

examples/composite_convex_minimization/accelerated_douglas_rachford_splitting.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ In 53rd IEEE Conference on Decision and Control (CDC).](https://arxiv.org/pdf/14
8787
# Julia usage
8888
```julia
8989
pepit_tau, theoretical_tau = wc_accelerated_douglas_rachford_splitting(0.1, 1.0, 0.9, 2; verbose=true)
90+
# Returns approximately: (pepit_tau, theoretical_tau) = (0.192915, 1.688889)
9091
```
9192
"""
9293
function wc_accelerated_douglas_rachford_splitting(mu, L, alpha, n; solver=Clarabel.Optimizer, verbose=true)

examples/composite_convex_minimization/accelerated_proximal_gradient.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ SIAM journal on imaging sciences, 2009, vol. 2, no 1, p. 183-202.](https://www.c
7272
# Julia usage
7373
```julia
7474
pepit_tau, theoretical_tau = wc_accelerated_proximal_gradient(0.0, 1.0, 4; solver=Clarabel.Optimizer, verbose=true)
75+
# Returns approximately: (pepit_tau, theoretical_tau) = (0.051673, 0.066126)
7576
```
7677
"""
7778
function wc_accelerated_proximal_gradient(mu, L, n; solver=Clarabel.Optimizer, verbose=true)

examples/composite_convex_minimization/accelerated_proximal_gradient_simplified.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ SIAM Journal on Optimization, 27(3):1283-1313.](https://arxiv.org/pdf/1512.07516
7676
# Julia usage
7777
```julia
7878
pepit_tau, theoretical_tau = wc_accelerated_proximal_gradient_simplified(0.0, 1.0, 4; verbose=true)
79+
# Returns approximately: (pepit_tau, theoretical_tau) = (0.052632, 0.052632)
7980
```
8081
"""
8182
function wc_accelerated_proximal_gradient_simplified(mu, L, n; solver=Clarabel.Optimizer, verbose=true)

examples/composite_convex_minimization/bregman_proximal_point.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Journal of Optimization Theory and Applications, 73(3), 451-464.](https://link.s
6464
# Julia usage
6565
```julia
6666
PEPit_tau, theoretical_tau = wc_bregman_proximal_point(3.0, 5; verbose=true)
67+
# Returns approximately: (PEPit_tau, theoretical_tau) = (0.066667, 0.066667)
6768
```
6869
"""
6970
function wc_bregman_proximal_point(gamma, n; verbose=true)

examples/composite_convex_minimization/douglas_rachford_splitting.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ In 56th IEEE Conference on Decision and Control (CDC).](https://github.com/Adrie
7878
# Julia usage
7979
```julia
8080
PEPit_tau, theoretical_tau = wc_douglas_rachford_splitting(1.0, 1.0, 1.0, 9; verbose=true)
81+
# Returns approximately: (PEPit_tau, theoretical_tau) = (0.027792, 0.0278)
8182
```
8283
"""
8384
function wc_douglas_rachford_splitting(L, alpha, theta, n; verbose=true)

examples/composite_convex_minimization/douglas_rachford_splitting_contraction.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ Applied and Computational Mathematics 15(1), 3-43.](https://web.stanford.edu/~bo
8888
# Julia usage
8989
```julia
9090
PEPit_tau, theoretical_tau = wc_douglas_rachford_splitting_contraction(0.1, 1.0, 3.0, 1.0, 2; verbose=true)
91+
# Returns approximately: (PEPit_tau, theoretical_tau) = (0.350128, 0.350128)
9192
```
9293
"""
9394
function wc_douglas_rachford_splitting_contraction(mu, L, alpha, theta, n; verbose=true)

0 commit comments

Comments
 (0)