diff -r aca9c90f151c -r 74b1a9f0c35e src/AlgorithmDualScaling.jl --- a/src/AlgorithmDualScaling.jl Thu Apr 25 11:16:24 2024 -0500 +++ b/src/AlgorithmDualScaling.jl Thu Apr 25 11:14:41 2024 -0500 @@ -51,15 +51,16 @@ iterate = AlgTools.simple_iterate, params::NamedTuple) where DisplacementT - ################################ + ################################ # Extract and set up parameters - ################################ + ################################ α, ρ = params.α, params.ρ R_K² = ∇₂_norm₂₂_est² γ = 1.0 Λ = params.Λ τ₀, σ₀ = params.τ₀, params.σ₀ + ds = DualScaling(params.ds_exponent, params.ds_threshold) τ = τ₀/γ @assert(1+γ*τ ≥ Λ) @@ -91,7 +92,7 @@ init_data = false end - pdflow!(x, Δx, y, Δy, v_known, DualScaling()) + pdflow!(x, Δx, y, Δy, v_known, ds) ############ # PDPS step @@ -108,7 +109,7 @@ ################################ # Give function value if needed ################################ - v = verbose() do + v = verbose() do ∇₂!(Δy, x) value = norm₂²(b-x)/2 + params.α*γnorm₂₁(Δy, params.ρ) value, x, [NaN, NaN], nothing