Move traits to ProximalCore.jl & implement is_locally_smooth where suitable#152
Conversation
…itable
Besides removing traits.jl that contained the functions moved to ProximalCore.jl
and applying renaming that occured in ProximalCore.jl v0.2.0, the commit contains
the following changes:
Added traits:
- `is_proximable = true` added to `SqrNormL2`
- `is_positively_homogeneous = true` added to `SumPositive`
- `is_locally_smooth = true` added to `LogBarrier`
- `is_locally_smooth = true` added to `NormL2`
`is_locally_smooth(T{W}) = is_locally_smooth(W)` added where W is the wrapped function:
- `Postcompose`
- `Precompose`
- `PrecomposeDiagonal`
- `Regularized`
- `SeparableSum`
- `SlicedSeparableSum`
- `Sum`
- `Tilt`
- `Translate`
|
Looks like some docs snippets are failing: https://github.com/JuliaFirstOrder/ProximalOperators.jl/actions/runs/19746713163/job/58926848162?pr=152 Maybe we need to import ProximalCore explicitly in those? I'm wondering what broke them though |
|
Sorry for that -- I fixed it by importing ProximalCore automatically for each snippet (see
|
f93ef30 to
f9ae6dc
Compare
|
I reverted the commit that changed the test CI job to use Julia 1.10 instead of 1.6. This is because I realized that there is already a PR to bump Julia version to 1.9 in tests (#149). I tested this PR locally with Julia 1.9, and it works as expected. |
|
Makes sense, thanks @hakkelt! |
|
My last commit runs doctests as part of the test suite, as discussed earlier. |
|
@hakkelt I guess we should also bump to 0.17 before release |
|
I don't see any reason why not. |
|
Is #149 ready to be merged? I saw that this PR also bumps version number? |
Besides removing traits.jl that contained the functions moved to ProximalCore.jl and applying renaming that occurred in ProximalCore.jl v0.2.0, the commit contains the following changes:
Added
[workspace]entry to Project.toml. It's a Julia v1.12 feature, ignored by previous versions, that synchronizes versions between subprojectstest,docs, andbenchmark.Added traits:
is_proximable = trueadded toSqrNormL2is_positively_homogeneous = trueadded toSumPositiveis_locally_smooth = trueadded toLogBarrieris_locally_smooth = trueadded toNormL2is_locally_smooth(T{W}) = is_locally_smooth(W)added where W is the wrapped function:PostcomposePrecomposePrecomposeDiagonalRegularizedSeparableSumSlicedSeparableSumSumTiltTranslateImplements part of #151