Skip to content

Conversation

@arnavk23
Copy link

@arnavk23 arnavk23 commented Oct 27, 2025

This PR successfully generalizes shifted proximal operators from Binf (L∞-ball) constraints to Box constraints, enabling support for arbitrary box bounds [l, u] while maintaining backward compatibility with symmetric constraints [-Δ, Δ].

Key Changes

Enhanced existing Box variants (ShiftedIndBallL0Box, ShiftedGroupNormL2Box) with dual signature support for both general and symmetric constraints
Added backward compatibility layer that automatically returns Box variants for legacy Binf signatures
Updated test references and type expectations to match the new Box variant signatures

Continues from #144, #148, #147
Fixes #88

arnavk23 and others added 30 commits October 1, 2025 19:32
-    @test @wrappedallocs(prox!(y, ϕ, x, ν)) == 0
+    @test @wrappedallocs(prox!(y, ϕ, x, ν)) <= 8
        @test @wrappedallocs(prox!(y, ϕ, x, ν, dims=1)) <= 8
        @test @wrappedallocs(prox!(y, ϕ, x, ν, dims=2)) <= 8
    end
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
…ocations in group prox implementations; update includes and tests (follow PR JuliaSmoothOptimizers#104 pattern)
Co-authored-by: Copilot <[email protected]>
…perations with in-place loops and explicit χ-norm projection; fix prox! to avoid temporaries and ensure robust root-bracketing.
…by renaming c!/J! to c_allocs!/J_allocs! in allocs tests to avoid method overwrites
@arnavk23
Copy link
Author

@dpo please review this pr.

@arnavk23 arnavk23 changed the title Generalization Operators from Binf to Box constraints Oct 27, 2025
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.

Generalize Binf → Box

1 participant