Skip to content

Conversation

@mrava87
Copy link
Contributor

@mrava87 mrava87 commented Nov 24, 2025

No description provided.

mrava87 and others added 30 commits December 11, 2024 15:24
Merge pull request #193 from PyLops/dev
doc: fix minor mistake in HuberCircular docstring
feat: added gfirst to ADMML2
feat: added grad of Moreau envelope to grad method of ProxOperator
fix: changed L01Ball into L10Ball
The current implementation of the L0 norm (__call__ of L0) counts
the values above sigma, however this should be 0. This
is now fixed and tests for the L0 operator are added.
bug: fix bug in L0 __call__ and add tests
minor: fix comment of ValueError in _PrecompositionOperator
mrava87 and others added 29 commits September 3, 2025 17:30
First attempt to add support for initializing also the auxiliary variable in various solvers,
and modified logic for internal initialization based on whether x0 or z0/y0 is provided.
- old: (x > self.lower) & (x < self.upper): this is an open set, which violates the assumption of the convex projection
- fix (x >= self.lower) & (x <= self.upper): this is a closed convex set.

also add a test for this logic.
feat[BREAKING]: initial guess of auxiliary variable
 - move and change lines  to be consistent with other tests
fix the Box indicator function
- DykstrasProjection
  - (Parallel) Dykstra's projection algorithm computing convex projection to the intersection of convex sets
- DykstrasProjectionProx
  - The corresponding indicator function (prox)
- DykstraLikeProximal
  - (Parallel) Dykstra-like proximal algorithm computing prox of the sum of convex functions

Add tests in a separate test file.
- test_dykstra.py
- minor fix in test_dykstras_projection()
- change np to ncp with get_array_module()
- improve docstring and comments in DykstraLikeProximal.py
- refactoring DykstraLikeProximal.__call()__ for readability
- refactoring DykstraLikeProximal._parallel_dykstra_like_proximal_algorithm() for reducing the cyclomatic complexity to pass the CI during PR
- to pass the CI during PR
- rename classes
  - DykstrasProjectionProj --> GenericIntersectionProj
  - DykstrasProjectionProx --> GenericIntersectionProx
  - DykstraLikeProximal --> Sum
- separate core algorithms to _dykstra_core.py to reduce duplication
- docstring improved
- add examples to dykstra.py
feat: Add Dykstra's algorithms and tests.
ci: try to bring back macos into GA
@mrava87 mrava87 merged commit b03104d into main Nov 24, 2025
18 of 19 checks passed
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.

3 participants