From f4f9b1abdadd243e1c5ea232a7cbb8679468ead2 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Tue, 26 Nov 2024 15:53:34 +0000 Subject: [PATCH] build based on 30a7fc0 --- dev/.documenter-siteinfo.json | 2 +- dev/API/regularization/index.html | 6 +- dev/API/solvers/index.html | 14 ++-- .../examples/compressed_sensing/1405d532.png | Bin 0 -> 62590 bytes .../examples/compressed_sensing/2c4e4ab0.png | Bin 62507 -> 0 bytes .../examples/compressed_sensing/60f52727.png | Bin 0 -> 33819 bytes .../examples/compressed_sensing/7fb3e75a.png | Bin 33663 -> 0 bytes .../examples/compressed_sensing/index.html | 66 ++++++++-------- .../examples/computed_tomography/index.html | 2 +- .../examples/getting_started/index.html | 2 +- .../explanations/regularization/index.html | 2 +- dev/generated/howto/callbacks/03173a28.png | Bin 0 -> 180936 bytes dev/generated/howto/callbacks/32b1ce77.png | Bin 179745 -> 0 bytes dev/generated/howto/callbacks/index.html | 40 +++++----- .../howto/efficient_kaczmarz/index.html | 66 ++++++++-------- .../howto/gpu_acceleration/99f8bbf3.png | Bin 0 -> 15647 bytes .../howto/gpu_acceleration/d10dcde8.png | Bin 15965 -> 0 bytes .../howto/gpu_acceleration/index.html | 72 +++++++++--------- .../howto/multi_threading/index.html | 4 +- .../howto/normal_operator/index.html | 64 ++++++++-------- dev/generated/howto/plug-and-play/index.html | 32 ++++---- dev/generated/howto/weighting/index.html | 2 +- dev/index.html | 2 +- dev/objects.inv | Bin 1588 -> 1588 bytes dev/solvers/index.html | 2 +- 25 files changed, 189 insertions(+), 189 deletions(-) create mode 100644 dev/generated/examples/compressed_sensing/1405d532.png delete mode 100644 dev/generated/examples/compressed_sensing/2c4e4ab0.png create mode 100644 dev/generated/examples/compressed_sensing/60f52727.png delete mode 100644 dev/generated/examples/compressed_sensing/7fb3e75a.png create mode 100644 dev/generated/howto/callbacks/03173a28.png delete mode 100644 dev/generated/howto/callbacks/32b1ce77.png create mode 100644 dev/generated/howto/gpu_acceleration/99f8bbf3.png delete mode 100644 dev/generated/howto/gpu_acceleration/d10dcde8.png diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 14ac288..8f1ac5c 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-26T15:52:26","documenter_version":"1.8.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-26T15:53:28","documenter_version":"1.8.0"}} \ No newline at end of file diff --git a/dev/API/regularization/index.html b/dev/API/regularization/index.html index 55475cc..e26b369 100644 --- a/dev/API/regularization/index.html +++ b/dev/API/regularization/index.html @@ -1,5 +1,5 @@ -Regularization Terms · RegularizedLeastSquares.jl

API for Regularizers

This page contains documentation of the public API of the RegularizedLeastSquares. In the Julia REPL one can access this documentation by entering the help mode with ?

RegularizedLeastSquares.L21RegularizationType
L21Regularization

Regularization term implementing the proximal map for group-soft-thresholding.

Arguments

  • λ - regularization paramter

Keywords

  • slices=1 - number of elements per group
source
RegularizedLeastSquares.LLRRegularizationType
LLRRegularization

Regularization term implementing the proximal map for locally low rank (LLR) regularization using singular-value-thresholding.

Arguments

  • λ - regularization paramter

Keywords

  • shape::Tuple{Int} - dimensions of the image
  • blockSize::Tuple{Int}=(2,2) - size of patches to perform singular value thresholding on
  • randshift::Bool=true - randomly shifts the patches to ensure translation invariance
  • fullyOverlapping::Bool=false - choose between fully overlapping block or non-overlapping blocks
source
RegularizedLeastSquares.NuclearRegularizationType
NuclearRegularization

Regularization term implementing the proximal map for singular value soft-thresholding.

Arguments:

  • λ - regularization paramter

Keywords

  • svtShape::NTuple - size of the underlying matrix
source
RegularizedLeastSquares.TVRegularizationType
TVRegularization

Regularization term implementing the proximal map for TV regularization. Calculated with the Condat algorithm if the TV is calculated only along one real-valued dimension and with the Fast Gradient Projection algorithm otherwise.

Reference for the Condat algorithm: https://lcondat.github.io/publis/Condat-fast_TV-SPL-2013.pdf

Reference for the FGP algorithm: A. Beck and T. Teboulle, "Fast Gradient-Based Algorithms for Constrained Total Variation Image Denoising and Deblurring Problems", IEEE Trans. Image Process. 18(11), 2009

Arguments

  • λ::T - regularization parameter

Keywords

  • shape::NTuple - size of the underlying image
  • dims - Dimension to perform the TV along. If Integer, the Condat algorithm is called, and the FDG algorithm otherwise.
  • iterationsTV=20 - number of FGP iterations
source

Projection Regularization

Nested Regularization

RegularizedLeastSquares.innerregMethod
innerreg(reg::AbstractNestedRegularization)

return the inner regularization term of reg. Nested regularization terms also implement the iteration interface.

source

Scaled Regularization

Misc. Nested Regularization

RegularizedLeastSquares.MaskedRegularizationType
MaskedRegularization

Nested regularization term that only applies prox! and norm to elements of x for which the mask is true.

Examples

julia> positive = PositiveRegularization();
+Regularization Terms · RegularizedLeastSquares.jl

API for Regularizers

This page contains documentation of the public API of the RegularizedLeastSquares. In the Julia REPL one can access this documentation by entering the help mode with ?

RegularizedLeastSquares.L21RegularizationType
L21Regularization

Regularization term implementing the proximal map for group-soft-thresholding.

Arguments

  • λ - regularization paramter

Keywords

  • slices=1 - number of elements per group
source
RegularizedLeastSquares.LLRRegularizationType
LLRRegularization

Regularization term implementing the proximal map for locally low rank (LLR) regularization using singular-value-thresholding.

Arguments

  • λ - regularization paramter

Keywords

  • shape::Tuple{Int} - dimensions of the image
  • blockSize::Tuple{Int}=(2,2) - size of patches to perform singular value thresholding on
  • randshift::Bool=true - randomly shifts the patches to ensure translation invariance
  • fullyOverlapping::Bool=false - choose between fully overlapping block or non-overlapping blocks
source
RegularizedLeastSquares.NuclearRegularizationType
NuclearRegularization

Regularization term implementing the proximal map for singular value soft-thresholding.

Arguments:

  • λ - regularization paramter

Keywords

  • svtShape::NTuple - size of the underlying matrix
source
RegularizedLeastSquares.TVRegularizationType
TVRegularization

Regularization term implementing the proximal map for TV regularization. Calculated with the Condat algorithm if the TV is calculated only along one real-valued dimension and with the Fast Gradient Projection algorithm otherwise.

Reference for the Condat algorithm: https://lcondat.github.io/publis/Condat-fast_TV-SPL-2013.pdf

Reference for the FGP algorithm: A. Beck and T. Teboulle, "Fast Gradient-Based Algorithms for Constrained Total Variation Image Denoising and Deblurring Problems", IEEE Trans. Image Process. 18(11), 2009

Arguments

  • λ::T - regularization parameter

Keywords

  • shape::NTuple - size of the underlying image
  • dims - Dimension to perform the TV along. If Integer, the Condat algorithm is called, and the FDG algorithm otherwise.
  • iterationsTV=20 - number of FGP iterations
source

Projection Regularization

Nested Regularization

RegularizedLeastSquares.innerregMethod
innerreg(reg::AbstractNestedRegularization)

return the inner regularization term of reg. Nested regularization terms also implement the iteration interface.

source

Scaled Regularization

Misc. Nested Regularization

RegularizedLeastSquares.MaskedRegularizationType
MaskedRegularization

Nested regularization term that only applies prox! and norm to elements of x for which the mask is true.

Examples

julia> positive = PositiveRegularization();
 
 julia> masked = MaskedRegularization(reg, [true, false, true, false]);
 
@@ -8,11 +8,11 @@
   0.0
  -1.0
   0.0
- -1.0
source
RegularizedLeastSquares.TransformedRegularizationType
TransformedRegularization(reg, trafo)

Nested regularization term that applies prox! or norm on z = trafo * x and returns (inplace) x = adjoint(trafo) * z.

Example

julia> core = L1Regularization(0.8)
 L1Regularization{Float64}(0.8)
 
 julia> wop = WaveletOp(Float32, shape = (32,32));
 
 julia> reg = TransformedRegularization(core, wop);
 
-julia> prox!(reg, randn(32*32)); # Apply soft-thresholding in Wavelet domain
source
RegularizedLeastSquares.PlugAndPlayRegularizationType
    PlugAndPlayRegularization

Regularization term implementing a given plug-and-play proximal mapping. The actual regularization term is indirectly defined by the learned proximal mapping and as such there is no norm implemented.

Arguments

  • λ - regularization paramter

Keywords

  • model - model applied to the image
  • shape - dimensions of the image
  • input_transform - transform of image before model
source

Miscellaneous Functions

RegularizedLeastSquares.prox!Method
prox!(reg::AbstractParameterizedRegularization, x)

perform the proximal mapping defined by reg on x. Uses the regularization parameter defined for reg.

source
RegularizedLeastSquares.prox!Method
prox!(regType::Type{<:AbstractParameterizedRegularization}, x, λ; kwargs...)

construct a regularization term of type regType with given λ and kwargs and apply its prox! on x

source
LinearAlgebra.normMethod
norm(reg::AbstractParameterizedRegularization, x)

returns the value of the reg regularization term on x. Uses the regularization parameter defined for reg.

source
LinearAlgebra.normMethod
norm(regType::Type{<:AbstractParameterizedRegularization}, x, λ; kwargs...)

construct a regularization term of type regType with given λ and kwargs and apply its norm on x

source
+julia> prox!(reg, randn(32*32)); # Apply soft-thresholding in Wavelet domain
source
RegularizedLeastSquares.PlugAndPlayRegularizationType
    PlugAndPlayRegularization

Regularization term implementing a given plug-and-play proximal mapping. The actual regularization term is indirectly defined by the learned proximal mapping and as such there is no norm implemented.

Arguments

  • λ - regularization paramter

Keywords

  • model - model applied to the image
  • shape - dimensions of the image
  • input_transform - transform of image before model
source

Miscellaneous Functions

RegularizedLeastSquares.prox!Method
prox!(reg::AbstractParameterizedRegularization, x)

perform the proximal mapping defined by reg on x. Uses the regularization parameter defined for reg.

source
RegularizedLeastSquares.prox!Method
prox!(regType::Type{<:AbstractParameterizedRegularization}, x, λ; kwargs...)

construct a regularization term of type regType with given λ and kwargs and apply its prox! on x

source
LinearAlgebra.normMethod
norm(reg::AbstractParameterizedRegularization, x)

returns the value of the reg regularization term on x. Uses the regularization parameter defined for reg.

source
LinearAlgebra.normMethod
norm(regType::Type{<:AbstractParameterizedRegularization}, x, λ; kwargs...)

construct a regularization term of type regType with given λ and kwargs and apply its norm on x

source
diff --git a/dev/API/solvers/index.html b/dev/API/solvers/index.html index 8450ba9..d1a0efc 100644 --- a/dev/API/solvers/index.html +++ b/dev/API/solvers/index.html @@ -40,10 +40,10 @@ end plot_trace (generic function with 1 method) -julia> x_approx = solve!(S, b; callbacks = [conv, plot_trace]);

The keyword callbacks allows you to pass a (vector of) callable objects that takes the arguments solver and iteration and prints, stores, or plots intermediate result.

See also StoreSolutionCallback, StoreConvergenceCallback, CompareSolutionCallback for a number of provided callback options.

source
RegularizedLeastSquares.init!Method
init!(solver::AbstractLinearSolver, b; kwargs...)

Prepare the solver for iteration based on the given data vector b and kwargs.

source
RegularizedLeastSquares.init!Method
init!(solver::AbstractLinearSolver, state::AbstractSolverState, b::AbstractMatrix; scheduler = SequentialState, kwargs...)

Initialize the solver with each column of b and pass the corresponding states to the scheduler.

source

ADMM

RegularizedLeastSquares.ADMMType
ADMM(A; AHA = A'*A, precon = Identity(), reg = L1Regularization(zero(real(eltype(AHA)))), regTrafo = opEye(eltype(AHA), size(AHA,1)), normalizeReg = NoNormalization(), rho = 1e-1, vary_rho = :none, iterations = 10, iterationsCG = 10, absTol = eps(real(eltype(AHA))), relTol = eps(real(eltype(AHA))), tolInner = 1e-5, verbose = false)
-ADMM( ; AHA = ,     precon = Identity(), reg = L1Regularization(zero(real(eltype(AHA)))), regTrafo = opEye(eltype(AHA), size(AHA,1)), normalizeReg = NoNormalization(), rho = 1e-1, vary_rho = :none, iterations = 10, iterationsCG = 10, absTol = eps(real(eltype(AHA))), relTol = eps(real(eltype(AHA))), tolInner = 1e-5, verbose = false)

Creates an ADMM object for the forward operator A or normal operator AHA.

Required Arguments

  • A - forward operator

OR

  • AHA - normal operator (as a keyword argument)

Optional Keyword Arguments

  • AHA - normal operator is optional if A is supplied
  • precon - preconditionner for the internal CG algorithm
  • reg::AbstractParameterizedRegularization - regularization term; can also be a vector of regularization terms
  • regTrafo - transformation to a space in which reg is applied; if reg is a vector, regTrafo has to be a vector of the same length. Use opEye(eltype(AHA), size(AHA,1)) if no transformation is desired.
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • rho::Real - penalty of the augmented Lagrangian
  • vary_rho::Symbol - vary rho to balance primal and dual feasibility; options :none, :balance, :PnP
  • iterations::Int - maximum number of (outer) ADMM iterations
  • iterationsCG::Int - maximum number of (inner) CG iterations
  • absTol::Real - absolute tolerance for stopping criterion
  • relTol::Real - relative tolerance for stopping criterion
  • tolInner::Real - relative tolerance for CG stopping criterion
  • verbose::Bool - print residual in each iteration

ADMM differs from ISTA-type algorithms in the sense that the proximal operation is applied separately from the transformation to the space in which the penalty is applied. This is reflected by the interface which has reg and regTrafo as separate arguments. E.g., for a TV penalty, you should NOT set reg=TVRegularization, but instead use reg=L1Regularization(λ), regTrafo=RegularizedLeastSquares.GradientOp(Float64; shape=(Nx,Ny,Nz)).

See also createLinearSolver, solve!.

source

CGNR

RegularizedLeastSquares.CGNRType
CGNR(A; AHA = A' * A, reg = L2Regularization(zero(real(eltype(AHA)))), normalizeReg = NoNormalization(), iterations = 10, relTol = eps(real(eltype(AHA))))
-CGNR( ; AHA = ,       reg = L2Regularization(zero(real(eltype(AHA)))), normalizeReg = NoNormalization(), iterations = 10, relTol = eps(real(eltype(AHA))))

creates an CGNR object for the forward operator A or normal operator AHA.

Required Arguments

  • A - forward operator

OR

  • AHA - normal operator (as a keyword argument)

Optional Keyword Arguments

  • AHA - normal operator is optional if A is supplied
  • reg::AbstractParameterizedRegularization - regularization term; can also be a vector of regularization terms
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • iterations::Int - maximum number of iterations
  • relTol::Real - tolerance for stopping criterion

See also createLinearSolver, solve!.

source

Kaczmarz

RegularizedLeastSquares.KaczmarzType
Kaczmarz(A; reg = L2Regularization(0), normalizeReg = NoNormalization(), randomized=false, subMatrixFraction=0.15, shuffleRows=false, seed=1234, iterations=10)

Creates a Kaczmarz object for the forward operator A.

Required Arguments

  • A - forward operator

Optional Keyword Arguments

  • reg::AbstractParameterizedRegularization - regularization term
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • randomized::Bool - randomize Kacmarz algorithm
  • subMatrixFraction::Real - fraction of rows used in randomized Kaczmarz algorithm
  • shuffleRows::Bool - randomize Kacmarz algorithm
  • seed::Int - seed for randomized algorithm
  • iterations::Int - number of iterations

See also createLinearSolver, solve!.

source

FISTA

RegularizedLeastSquares.FISTAType
FISTA(A; AHA=A'*A, reg=L1Regularization(zero(real(eltype(AHA)))), normalizeReg=NoNormalization(), iterations=50, verbose = false, rho = 0.95 / power_iterations(AHA), theta=1, relTol=eps(real(eltype(AHA))), restart = :none)
-FISTA( ; AHA=,     reg=L1Regularization(zero(real(eltype(AHA)))), normalizeReg=NoNormalization(), iterations=50, verbose = false, rho = 0.95 / power_iterations(AHA), theta=1, relTol=eps(real(eltype(AHA))), restart = :none)

creates a FISTA object for the forward operator A or normal operator AHA.

Required Arguments

  • A - forward operator

OR

  • AHA - normal operator (as a keyword argument)

Optional Keyword Arguments

  • AHA - normal operator is optional if A is supplied
  • precon - preconditionner for the internal CG algorithm
  • reg::AbstractParameterizedRegularization - regularization term; can also be a vector of regularization terms
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • rho::Real - step size for gradient step; the default is 0.95 / max_eigenvalue as determined with power iterations.
  • theta::Real - parameter for predictor-corrector step
  • relTol::Real - tolerance for stopping criterion
  • iterations::Int - maximum number of iterations
  • restart::Symbol - :none, :gradient options for restarting
  • verbose::Bool - print residual in each iteration

See also createLinearSolver, solve!.

source

OptISTA

RegularizedLeastSquares.OptISTAType
OptISTA(A; AHA=A'*A, reg=L1Regularization(zero(real(eltype(AHA)))), normalizeReg=NoNormalization(), iterations=50, verbose = false, rho=0.95 / power_iterations(AHA), theta=1, relTol=eps(real(eltype(AHA))))
-OptISTA( ; AHA=,     reg=L1Regularization(zero(real(eltype(AHA)))), normalizeReg=NoNormalization(), iterations=50, verbose = false, rho=0.95 / power_iterations(AHA), theta=1, relTol=eps(real(eltype(AHA))))

creates a OptISTA object for the forward operator A or normal operator AHA. OptISTA has a 2x better worst-case bound than FISTA, but actual performance varies by application. It stores 2 extra intermediate variables the size of the image compared to FISTA.

Reference:

  • Uijeong Jang, Shuvomoy Das Gupta, Ernest K. Ryu, "Computer-Assisted Design of Accelerated Composite Optimization Methods: OptISTA," arXiv:2305.15704, 2023, [https://arxiv.org/abs/2305.15704]

Required Arguments

  • A - forward operator

OR

  • AHA - normal operator (as a keyword argument)

Optional Keyword Arguments

  • AHA - normal operator is optional if A is supplied
  • reg::AbstractParameterizedRegularization - regularization term
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • rho::Real - step size for gradient step; the default is 0.95 / max_eigenvalue as determined with power iterations.
  • theta::Real - parameter for predictor-corrector step
  • relTol::Real - tolerance for stopping criterion
  • iterations::Int - maximum number of iterations
  • verbose::Bool - print residual in each iteration

See also createLinearSolver, solve!.

source

POGM

RegularizedLeastSquares.POGMType
POGM(A; AHA = A'*A, reg = L1Regularization(zero(real(eltype(AHA)))), normalizeReg = NoNormalization(), iterations = 50, verbose = false, rho = 0.95 / power_iterations(AHA), theta = 1, sigma_fac = 1, relTol = eps(real(eltype(AHA))), restart = :none)
-POGM( ; AHA = ,     reg = L1Regularization(zero(real(eltype(AHA)))), normalizeReg = NoNormalization(), iterations = 50, verbose = false, rho = 0.95 / power_iterations(AHA), theta = 1, sigma_fac = 1, relTol = eps(real(eltype(AHA))), restart = :none)

Creates a POGM object for the forward operator A or normal operator AHA. POGM has a 2x better worst-case bound than FISTA, but actual performance varies by application. It stores 3 extra intermediate variables the size of the image compared to FISTA. Only gradient restart scheme is implemented for now.

References:

  • A.B. Taylor, J.M. Hendrickx, F. Glineur, "Exact worst-case performance of first-order algorithms for composite convex optimization," Arxiv:1512.07516, 2015, SIAM J. Opt. 2017 [http://doi.org/10.1137/16m108104x]

  • Kim, D., & Fessler, J. A. (2018). Adaptive Restart of the Optimized Gradient Method for Convex Optimization. Journal of Optimization Theory and Applications, 178(1), 240–263. [https://doi.org/10.1007/s10957-018-1287-4]

    Required Arguments

    • A - forward operator

    OR

    • AHA - normal operator (as a keyword argument)

    Optional Keyword Arguments

    • AHA - normal operator is optional if A is supplied
    • reg::AbstractParameterizedRegularization - regularization term
    • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
    • rho::Real - step size for gradient step; the default is 0.95 / max_eigenvalue as determined with power iterations.
    • theta::Real - parameter for predictor-corrector step
    • sigma_fac::Real - parameter for decreasing γ-momentum ∈ [0,1]
    • relTol::Real - tolerance for stopping criterion
    • iterations::Int - maximum number of iterations
    • restart::Symbol - :none, :gradient options for restarting
    • verbose::Bool - print residual in each iteration

See also createLinearSolver, solve!.

source

SplitBregman

RegularizedLeastSquares.SplitBregmanType
SplitBregman(A; AHA = A'*A, precon = Identity(), reg = L1Regularization(zero(real(eltype(AHA)))), regTrafo = opEye(eltype(AHA), size(AHA,1)), normalizeReg = NoNormalization(), rho = 1e-1, iterations = 10, iterationsInner = 10, iterationsCG = 10, absTol = eps(real(eltype(AHA))), relTol = eps(real(eltype(AHA))), tolInner = 1e-5, verbose = false)
-SplitBregman( ; AHA = ,     precon = Identity(), reg = L1Regularization(zero(real(eltype(AHA)))), regTrafo = opEye(eltype(AHA), size(AHA,1)), normalizeReg = NoNormalization(), rho = 1e-1, iterations = 10, iterationsInner = 10, iterationsCG = 10, absTol = eps(real(eltype(AHA))), relTol = eps(real(eltype(AHA))), tolInner = 1e-5, verbose = false)

Creates a SplitBregman object for the forward operator A or normal operator AHA.

Required Arguments

  • A - forward operator

OR

  • AHA - normal operator (as a keyword argument)

Optional Keyword Arguments

  • AHA - normal operator is optional if A is supplied
  • precon - preconditionner for the internal CG algorithm
  • reg::AbstractParameterizedRegularization - regularization term; can also be a vector of regularization terms
  • regTrafo - transformation to a space in which reg is applied; if reg is a vector, regTrafo has to be a vector of the same length. Use opEye(eltype(AHA), size(AHA,1)) if no transformation is desired.
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • rho::Real - weights for condition on regularized variables; can also be a vector for multiple regularization terms
  • iterations::Int - maximum number of outer iterations. Set to 1 for unconstraint split Bregman (equivalent to ADMM)
  • iterationsInner::Int - maximum number of inner iterations
  • iterationsCG::Int - maximum number of (inner) CG iterations
  • absTol::Real - absolute tolerance for stopping criterion
  • relTol::Real - relative tolerance for stopping criterion
  • tolInner::Real - relative tolerance for CG stopping criterion
  • verbose::Bool - print residual in each iteration

This algorithm solves the constraint problem (Eq. (4.7) in Tom Goldstein and Stanley Osher), i.e. ||R(x)||₁ such that ||Ax -b||₂² < σ². In order to solve the unconstraint problem (Eq. (4.8) in Tom Goldstein and Stanley Osher), i.e. ||Ax -b||₂² + λ ||R(x)||₁, you can either set iterations=1 or use ADMM instead, which is equivalent (iterations=1 in SplitBregman in implied in ADMM and the SplitBregman variable iterationsInner is simply called iterations in ADMM)

Like ADMM, SplitBregman differs from ISTA-type algorithms in the sense that the proximal operation is applied separately from the transformation to the space in which the penalty is applied. This is reflected by the interface which has reg and regTrafo as separate arguments. E.g., for a TV penalty, you should NOT set reg=TVRegularization, but instead use reg=L1Regularization(λ), regTrafo=RegularizedLeastSquares.GradientOp(Float64; shape=(Nx,Ny,Nz)).

See also createLinearSolver, solve!.

source

Miscellaneous

RegularizedLeastSquares.solverstateFunction
solverstate(solver::AbstractLinearSolver)

Return the current state of the solver

source
RegularizedLeastSquares.solversolutionFunction
solversolution(solver::AbstractLinearSolver)

Return the current solution of the solver

source
solversolution(state::AbstractSolverState)

Return the current solution of the solver's state

source
RegularizedLeastSquares.solverconvergenceFunction
solverconvergence(solver::AbstractLinearSolver)

Return a named tuple of the solvers current convergence metrics

source
RegularizedLeastSquares.StoreSolutionCallbackType
StoreSolutionCallback(T)

Callback that accumlates the solvers solution per iteration. Results are stored in the solutions field.

source
RegularizedLeastSquares.StoreConvergenceCallbackType
StoreConvergenceCallback()

Callback that accumlates the solvers convergence metrics per iteration. Results are stored in the convMeas field.

source
RegularizedLeastSquares.CompareSolutionCallbackType
CompareSolutionCallback(ref, cmp)

Callback that compares the solvers current solution with the given reference via cmp(ref, solution) per iteration. Results are stored in the results field.

source
RegularizedLeastSquares.linearSolverListFunction

Return a list of all available linear solvers

source
RegularizedLeastSquares.createLinearSolverFunction
createLinearSolver(solver::AbstractLinearSolver, A; kargs...)

This method creates a solver. The supported solvers are methods typically used for solving regularized linear systems. All solvers return an approximate solution to Ax = b.

TODO: give a hint what solvers are available

source
RegularizedLeastSquares.applicableSolverListFunction
applicable(args...)

list all solvers that are applicable to the given arguments. Arguments are the same as for isapplicable without the solver type.

See also isapplicable, linearSolverList.

source
RegularizedLeastSquares.isapplicableFunction
isapplicable(solverType::Type{<:AbstractLinearSolver}, A, x, reg)

return true if a solver of type solverType is applicable to system matrix A, data x and regularization terms reg.

source
+julia> x_approx = solve!(S, b; callbacks = [conv, plot_trace]);

The keyword callbacks allows you to pass a (vector of) callable objects that takes the arguments solver and iteration and prints, stores, or plots intermediate result.

See also StoreSolutionCallback, StoreConvergenceCallback, CompareSolutionCallback for a number of provided callback options.

source
RegularizedLeastSquares.init!Method
init!(solver::AbstractLinearSolver, b; kwargs...)

Prepare the solver for iteration based on the given data vector b and kwargs.

source
RegularizedLeastSquares.init!Method
init!(solver::AbstractLinearSolver, state::AbstractSolverState, b::AbstractMatrix; scheduler = SequentialState, kwargs...)

Initialize the solver with each column of b and pass the corresponding states to the scheduler.

source

ADMM

RegularizedLeastSquares.ADMMType
ADMM(A; AHA = A'*A, precon = Identity(), reg = L1Regularization(zero(real(eltype(AHA)))), regTrafo = opEye(eltype(AHA), size(AHA,1)), normalizeReg = NoNormalization(), rho = 1e-1, vary_rho = :none, iterations = 10, iterationsCG = 10, absTol = eps(real(eltype(AHA))), relTol = eps(real(eltype(AHA))), tolInner = 1e-5, verbose = false)
+ADMM( ; AHA = ,     precon = Identity(), reg = L1Regularization(zero(real(eltype(AHA)))), regTrafo = opEye(eltype(AHA), size(AHA,1)), normalizeReg = NoNormalization(), rho = 1e-1, vary_rho = :none, iterations = 10, iterationsCG = 10, absTol = eps(real(eltype(AHA))), relTol = eps(real(eltype(AHA))), tolInner = 1e-5, verbose = false)

Creates an ADMM object for the forward operator A or normal operator AHA.

Required Arguments

  • A - forward operator

OR

  • AHA - normal operator (as a keyword argument)

Optional Keyword Arguments

  • AHA - normal operator is optional if A is supplied
  • precon - preconditionner for the internal CG algorithm
  • reg::AbstractParameterizedRegularization - regularization term; can also be a vector of regularization terms
  • regTrafo - transformation to a space in which reg is applied; if reg is a vector, regTrafo has to be a vector of the same length. Use opEye(eltype(AHA), size(AHA,1)) if no transformation is desired.
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • rho::Real - penalty of the augmented Lagrangian
  • vary_rho::Symbol - vary rho to balance primal and dual feasibility; options :none, :balance, :PnP
  • iterations::Int - maximum number of (outer) ADMM iterations
  • iterationsCG::Int - maximum number of (inner) CG iterations
  • absTol::Real - absolute tolerance for stopping criterion
  • relTol::Real - relative tolerance for stopping criterion
  • tolInner::Real - relative tolerance for CG stopping criterion
  • verbose::Bool - print residual in each iteration

ADMM differs from ISTA-type algorithms in the sense that the proximal operation is applied separately from the transformation to the space in which the penalty is applied. This is reflected by the interface which has reg and regTrafo as separate arguments. E.g., for a TV penalty, you should NOT set reg=TVRegularization, but instead use reg=L1Regularization(λ), regTrafo=RegularizedLeastSquares.GradientOp(Float64; shape=(Nx,Ny,Nz)).

See also createLinearSolver, solve!.

source

CGNR

RegularizedLeastSquares.CGNRType
CGNR(A; AHA = A' * A, reg = L2Regularization(zero(real(eltype(AHA)))), normalizeReg = NoNormalization(), iterations = 10, relTol = eps(real(eltype(AHA))))
+CGNR( ; AHA = ,       reg = L2Regularization(zero(real(eltype(AHA)))), normalizeReg = NoNormalization(), iterations = 10, relTol = eps(real(eltype(AHA))))

creates an CGNR object for the forward operator A or normal operator AHA.

Required Arguments

  • A - forward operator

OR

  • AHA - normal operator (as a keyword argument)

Optional Keyword Arguments

  • AHA - normal operator is optional if A is supplied
  • reg::AbstractParameterizedRegularization - regularization term; can also be a vector of regularization terms
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • iterations::Int - maximum number of iterations
  • relTol::Real - tolerance for stopping criterion

See also createLinearSolver, solve!.

source

Kaczmarz

RegularizedLeastSquares.KaczmarzType
Kaczmarz(A; reg = L2Regularization(0), normalizeReg = NoNormalization(), randomized=false, subMatrixFraction=0.15, shuffleRows=false, seed=1234, iterations=10)

Creates a Kaczmarz object for the forward operator A.

Required Arguments

  • A - forward operator

Optional Keyword Arguments

  • reg::AbstractParameterizedRegularization - regularization term
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • randomized::Bool - randomize Kacmarz algorithm
  • subMatrixFraction::Real - fraction of rows used in randomized Kaczmarz algorithm
  • shuffleRows::Bool - randomize Kacmarz algorithm
  • seed::Int - seed for randomized algorithm
  • iterations::Int - number of iterations

See also createLinearSolver, solve!.

source

FISTA

RegularizedLeastSquares.FISTAType
FISTA(A; AHA=A'*A, reg=L1Regularization(zero(real(eltype(AHA)))), normalizeReg=NoNormalization(), iterations=50, verbose = false, rho = 0.95 / power_iterations(AHA), theta=1, relTol=eps(real(eltype(AHA))), restart = :none)
+FISTA( ; AHA=,     reg=L1Regularization(zero(real(eltype(AHA)))), normalizeReg=NoNormalization(), iterations=50, verbose = false, rho = 0.95 / power_iterations(AHA), theta=1, relTol=eps(real(eltype(AHA))), restart = :none)

creates a FISTA object for the forward operator A or normal operator AHA.

Required Arguments

  • A - forward operator

OR

  • AHA - normal operator (as a keyword argument)

Optional Keyword Arguments

  • AHA - normal operator is optional if A is supplied
  • precon - preconditionner for the internal CG algorithm
  • reg::AbstractParameterizedRegularization - regularization term; can also be a vector of regularization terms
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • rho::Real - step size for gradient step; the default is 0.95 / max_eigenvalue as determined with power iterations.
  • theta::Real - parameter for predictor-corrector step
  • relTol::Real - tolerance for stopping criterion
  • iterations::Int - maximum number of iterations
  • restart::Symbol - :none, :gradient options for restarting
  • verbose::Bool - print residual in each iteration

See also createLinearSolver, solve!.

source

OptISTA

RegularizedLeastSquares.OptISTAType
OptISTA(A; AHA=A'*A, reg=L1Regularization(zero(real(eltype(AHA)))), normalizeReg=NoNormalization(), iterations=50, verbose = false, rho=0.95 / power_iterations(AHA), theta=1, relTol=eps(real(eltype(AHA))))
+OptISTA( ; AHA=,     reg=L1Regularization(zero(real(eltype(AHA)))), normalizeReg=NoNormalization(), iterations=50, verbose = false, rho=0.95 / power_iterations(AHA), theta=1, relTol=eps(real(eltype(AHA))))

creates a OptISTA object for the forward operator A or normal operator AHA. OptISTA has a 2x better worst-case bound than FISTA, but actual performance varies by application. It stores 2 extra intermediate variables the size of the image compared to FISTA.

Reference:

  • Uijeong Jang, Shuvomoy Das Gupta, Ernest K. Ryu, "Computer-Assisted Design of Accelerated Composite Optimization Methods: OptISTA," arXiv:2305.15704, 2023, [https://arxiv.org/abs/2305.15704]

Required Arguments

  • A - forward operator

OR

  • AHA - normal operator (as a keyword argument)

Optional Keyword Arguments

  • AHA - normal operator is optional if A is supplied
  • reg::AbstractParameterizedRegularization - regularization term
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • rho::Real - step size for gradient step; the default is 0.95 / max_eigenvalue as determined with power iterations.
  • theta::Real - parameter for predictor-corrector step
  • relTol::Real - tolerance for stopping criterion
  • iterations::Int - maximum number of iterations
  • verbose::Bool - print residual in each iteration

See also createLinearSolver, solve!.

source

POGM

RegularizedLeastSquares.POGMType
POGM(A; AHA = A'*A, reg = L1Regularization(zero(real(eltype(AHA)))), normalizeReg = NoNormalization(), iterations = 50, verbose = false, rho = 0.95 / power_iterations(AHA), theta = 1, sigma_fac = 1, relTol = eps(real(eltype(AHA))), restart = :none)
+POGM( ; AHA = ,     reg = L1Regularization(zero(real(eltype(AHA)))), normalizeReg = NoNormalization(), iterations = 50, verbose = false, rho = 0.95 / power_iterations(AHA), theta = 1, sigma_fac = 1, relTol = eps(real(eltype(AHA))), restart = :none)

Creates a POGM object for the forward operator A or normal operator AHA. POGM has a 2x better worst-case bound than FISTA, but actual performance varies by application. It stores 3 extra intermediate variables the size of the image compared to FISTA. Only gradient restart scheme is implemented for now.

References:

  • A.B. Taylor, J.M. Hendrickx, F. Glineur, "Exact worst-case performance of first-order algorithms for composite convex optimization," Arxiv:1512.07516, 2015, SIAM J. Opt. 2017 [http://doi.org/10.1137/16m108104x]

  • Kim, D., & Fessler, J. A. (2018). Adaptive Restart of the Optimized Gradient Method for Convex Optimization. Journal of Optimization Theory and Applications, 178(1), 240–263. [https://doi.org/10.1007/s10957-018-1287-4]

    Required Arguments

    • A - forward operator

    OR

    • AHA - normal operator (as a keyword argument)

    Optional Keyword Arguments

    • AHA - normal operator is optional if A is supplied
    • reg::AbstractParameterizedRegularization - regularization term
    • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
    • rho::Real - step size for gradient step; the default is 0.95 / max_eigenvalue as determined with power iterations.
    • theta::Real - parameter for predictor-corrector step
    • sigma_fac::Real - parameter for decreasing γ-momentum ∈ [0,1]
    • relTol::Real - tolerance for stopping criterion
    • iterations::Int - maximum number of iterations
    • restart::Symbol - :none, :gradient options for restarting
    • verbose::Bool - print residual in each iteration

See also createLinearSolver, solve!.

source

SplitBregman

RegularizedLeastSquares.SplitBregmanType
SplitBregman(A; AHA = A'*A, precon = Identity(), reg = L1Regularization(zero(real(eltype(AHA)))), regTrafo = opEye(eltype(AHA), size(AHA,1)), normalizeReg = NoNormalization(), rho = 1e-1, iterations = 10, iterationsInner = 10, iterationsCG = 10, absTol = eps(real(eltype(AHA))), relTol = eps(real(eltype(AHA))), tolInner = 1e-5, verbose = false)
+SplitBregman( ; AHA = ,     precon = Identity(), reg = L1Regularization(zero(real(eltype(AHA)))), regTrafo = opEye(eltype(AHA), size(AHA,1)), normalizeReg = NoNormalization(), rho = 1e-1, iterations = 10, iterationsInner = 10, iterationsCG = 10, absTol = eps(real(eltype(AHA))), relTol = eps(real(eltype(AHA))), tolInner = 1e-5, verbose = false)

Creates a SplitBregman object for the forward operator A or normal operator AHA.

Required Arguments

  • A - forward operator

OR

  • AHA - normal operator (as a keyword argument)

Optional Keyword Arguments

  • AHA - normal operator is optional if A is supplied
  • precon - preconditionner for the internal CG algorithm
  • reg::AbstractParameterizedRegularization - regularization term; can also be a vector of regularization terms
  • regTrafo - transformation to a space in which reg is applied; if reg is a vector, regTrafo has to be a vector of the same length. Use opEye(eltype(AHA), size(AHA,1)) if no transformation is desired.
  • normalizeReg::AbstractRegularizationNormalization - regularization normalization scheme; options are NoNormalization(), MeasurementBasedNormalization(), SystemMatrixBasedNormalization()
  • rho::Real - weights for condition on regularized variables; can also be a vector for multiple regularization terms
  • iterations::Int - maximum number of outer iterations. Set to 1 for unconstraint split Bregman (equivalent to ADMM)
  • iterationsInner::Int - maximum number of inner iterations
  • iterationsCG::Int - maximum number of (inner) CG iterations
  • absTol::Real - absolute tolerance for stopping criterion
  • relTol::Real - relative tolerance for stopping criterion
  • tolInner::Real - relative tolerance for CG stopping criterion
  • verbose::Bool - print residual in each iteration

This algorithm solves the constraint problem (Eq. (4.7) in Tom Goldstein and Stanley Osher), i.e. ||R(x)||₁ such that ||Ax -b||₂² < σ². In order to solve the unconstraint problem (Eq. (4.8) in Tom Goldstein and Stanley Osher), i.e. ||Ax -b||₂² + λ ||R(x)||₁, you can either set iterations=1 or use ADMM instead, which is equivalent (iterations=1 in SplitBregman in implied in ADMM and the SplitBregman variable iterationsInner is simply called iterations in ADMM)

Like ADMM, SplitBregman differs from ISTA-type algorithms in the sense that the proximal operation is applied separately from the transformation to the space in which the penalty is applied. This is reflected by the interface which has reg and regTrafo as separate arguments. E.g., for a TV penalty, you should NOT set reg=TVRegularization, but instead use reg=L1Regularization(λ), regTrafo=RegularizedLeastSquares.GradientOp(Float64; shape=(Nx,Ny,Nz)).

See also createLinearSolver, solve!.

source

Miscellaneous

RegularizedLeastSquares.solverstateFunction
solverstate(solver::AbstractLinearSolver)

Return the current state of the solver

source
RegularizedLeastSquares.solversolutionFunction
solversolution(solver::AbstractLinearSolver)

Return the current solution of the solver

source
solversolution(state::AbstractSolverState)

Return the current solution of the solver's state

source
RegularizedLeastSquares.solverconvergenceFunction
solverconvergence(solver::AbstractLinearSolver)

Return a named tuple of the solvers current convergence metrics

source
RegularizedLeastSquares.StoreSolutionCallbackType
StoreSolutionCallback(T)

Callback that accumlates the solvers solution per iteration. Results are stored in the solutions field.

source
RegularizedLeastSquares.StoreConvergenceCallbackType
StoreConvergenceCallback()

Callback that accumlates the solvers convergence metrics per iteration. Results are stored in the convMeas field.

source
RegularizedLeastSquares.CompareSolutionCallbackType
CompareSolutionCallback(ref, cmp)

Callback that compares the solvers current solution with the given reference via cmp(ref, solution) per iteration. Results are stored in the results field.

source
RegularizedLeastSquares.linearSolverListFunction

Return a list of all available linear solvers

source
RegularizedLeastSquares.createLinearSolverFunction
createLinearSolver(solver::AbstractLinearSolver, A; kargs...)

This method creates a solver. The supported solvers are methods typically used for solving regularized linear systems. All solvers return an approximate solution to Ax = b.

TODO: give a hint what solvers are available

source
RegularizedLeastSquares.applicableSolverListFunction
applicable(args...)

list all solvers that are applicable to the given arguments. Arguments are the same as for isapplicable without the solver type.

See also isapplicable, linearSolverList.

source
RegularizedLeastSquares.isapplicableFunction
isapplicable(solverType::Type{<:AbstractLinearSolver}, A, x, reg)

return true if a solver of type solverType is applicable to system matrix A, data x and regularization terms reg.

source
diff --git a/dev/generated/examples/compressed_sensing/1405d532.png b/dev/generated/examples/compressed_sensing/1405d532.png new file mode 100644 index 0000000000000000000000000000000000000000..460562cae89854dbd55558fd187c91ae54d4de81 GIT binary patch literal 62590 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 F{{vdW`T_s| literal 0 HcmV?d00001 diff --git a/dev/generated/examples/compressed_sensing/2c4e4ab0.png b/dev/generated/examples/compressed_sensing/2c4e4ab0.png deleted file mode 100644 index 585ac80a1509066705326d9f7dc742a954caa8bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62507 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 diff --git a/dev/generated/examples/compressed_sensing/60f52727.png b/dev/generated/examples/compressed_sensing/60f52727.png new file mode 100644 index 0000000000000000000000000000000000000000..2fc1d1b9c368f2bf796d619ad964ebdb0c10e2b6 GIT binary patch literal 33819 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 ZLdj>CDmezizd*pBjD(_im8fyh{{epWV3q&? diff --git a/dev/generated/examples/compressed_sensing/index.html b/dev/generated/examples/compressed_sensing/index.html index c48bec3..3181501 100644 --- a/dev/generated/examples/compressed_sensing/index.html +++ b/dev/generated/examples/compressed_sensing/index.html @@ -5,26 +5,26 @@ size(image)
(256, 256)

This produces a 256x256 image of a Shepp-Logan phantom.

In this example, we consider a problem in which we randomly sample a third of the pixels in the image. Such a problem and the corresponding measurement can be constructed with the packages LinearOperatorCollection and Random:

We first randomly shuffle the indices of the image and then select the first third of the indices to sample.

using Random, LinearOperatorCollection
 randomIndices = shuffle(eachindex(image))
 sampledIndices = sort(randomIndices[1:div(end, 3)])
21845-element Vector{Int64}:
+     2
+     3
      4
+     5
+     6
      7
-     9
-    11
-    15
-    18
-    20
-    25
-    26
+    13
+    19
+    22
     27
      ⋮
- 65492
- 65500
+ 65510
+ 65513
+ 65514
  65516
- 65522
+ 65519
  65523
  65524
- 65528
  65530
- 65535

Afterwards we build a sampling operator which samples the image at the selected indices.

A = SamplingOp(eltype(image), pattern = sampledIndices , shape = size(image));

Then we apply the sampling operator to the vectorized image to obtain the sampled measurement vector

b = A*vec(image);

To visualize our image we can use CairoMakie:

using CairoMakie
+ 65531

Afterwards we build a sampling operator which samples the image at the selected indices.

A = SamplingOp(eltype(image), pattern = sampledIndices , shape = size(image));

Then we apply the sampling operator to the vectorized image to obtain the sampled measurement vector

b = A*vec(image);

To visualize our image we can use CairoMakie:

using CairoMakie
 function plot_image(figPos, img; title = "", width = 150, height = 150)
   ax = CairoMakie.Axis(figPos; yreversed=true, title, width, height)
   hidedecorations!(ax)
@@ -36,30 +36,30 @@
 samplingMask[sampledIndices] .= true
 plot_image(fig[1,2], image .* samplingMask, title = "Sampled Image")
 resize_to_layout!(fig)
-fig
Example block output

As we can see in the right image, only a third of the pixels are sampled. The goal of the inverse problem is to recover the original image from this measurement vector.

Solving the Inverse Problem

To recover the image from the measurement vector, we solve the TV-regularized least squares problem:

\[\begin{equation} +figExample block output

As we can see in the right image, only a third of the pixels are sampled. The goal of the inverse problem is to recover the original image from this measurement vector.

Solving the Inverse Problem

To recover the image from the measurement vector, we solve the TV-regularized least squares problem:

\[\begin{equation} \underset{\mathbf{x}}{argmin} \frac{1}{2}\vert\vert \mathbf{A}\mathbf{x}-\mathbf{b} \vert\vert_2^2 + \lambda\vert\vert\mathbf{x}\vert\vert_{\text{TV}} . \end{equation}\]

For this purpose we build a TV regularizer with regularization parameter $λ=0.01$

using RegularizedLeastSquares
 reg = TVRegularization(0.01; shape=size(image));

We will use the Fast Iterative Shrinkage-Thresholding Algorithm (FISTA) to solve our inverse problem. Thus, we build the corresponding solver

solver = createLinearSolver(FISTA, A; reg=reg, iterations=20);

and apply it to our measurement vector

img_approx = solve!(solver,b)
65536-element Vector{Float32}:
- 4.475941f-19
- 9.203197f-19
- 2.1954707f-18
- 5.0659254f-18
- 1.1152266f-17
- 2.390461f-17
- 5.0998504f-17
- 1.070807f-16
- 2.1490663f-16
- 4.1222092f-16
+ 7.5375277f-19
+ 1.4254111f-18
+ 3.4523988f-18
+ 8.367589f-18
+ 1.9255124f-17
+ 4.2910904f-17
+ 9.2002786f-17
+ 1.8753667f-16
+ 3.830775f-16
+ 8.49308f-16
  ⋮
- 2.364637f-16
- 1.1878623f-16
- 5.4425447f-17
- 2.3837499f-17
- 1.1017589f-17
- 5.440978f-18
- 2.628318f-18
- 1.2022713f-18
- 6.2830215f-19

To visualize the reconstructed image, we need to reshape the result vector to the correct shape. Afterwards we can use CairoMakie again:

img_approx = reshape(img_approx,size(image));
+ 2.435243f-16
+ 1.2161483f-16
+ 5.90744f-17
+ 2.7788742f-17
+ 1.2509881f-17
+ 5.4832657f-18
+ 2.4100902f-18
+ 1.1232092f-18
+ 6.593036f-19

To visualize the reconstructed image, we need to reshape the result vector to the correct shape. Afterwards we can use CairoMakie again:

img_approx = reshape(img_approx,size(image));
 plot_image(fig[1,3], img_approx, title = "Reconstructed Image")
 resize_to_layout!(fig)
-fig
Example block output

This page was generated using Literate.jl.

+figExample block output

This page was generated using Literate.jl.

diff --git a/dev/generated/examples/computed_tomography/index.html b/dev/generated/examples/computed_tomography/index.html index 84703ed..e8ba3a2 100644 --- a/dev/generated/examples/computed_tomography/index.html +++ b/dev/generated/examples/computed_tomography/index.html @@ -62,4 +62,4 @@ 0.0

To visualize the reconstructed image, we need to reshape the result vector to the correct shape. Afterwards we can use CairoMakie again:

img_approx = reshape(img_approx,size(image));
 plot_image(fig[1,4], img_approx, title = "Reconstructed Image")
 resize_to_layout!(fig)
-fig
Example block output

This page was generated using Literate.jl.

+figExample block output

This page was generated using Literate.jl.

diff --git a/dev/generated/examples/getting_started/index.html b/dev/generated/examples/getting_started/index.html index 57ad664..180eaba 100644 --- a/dev/generated/examples/getting_started/index.html +++ b/dev/generated/examples/getting_started/index.html @@ -9,4 +9,4 @@ \underset{\mathbf{x}}{argmin} \frac{1}{2}\vert\vert \mathbf{A}\mathbf{x}-\mathbf{b} \vert\vert_2^2 + \lambda\vert\vert\mathbf{x}\vert\vert^2_2 . \end{equation}\]

The corresponding solver can be built with the $l^2_2$-regularization term:

solver = createLinearSolver(CGNR, A; reg = L2Regularization(0.0001), iterations=32);
 x_approx = solve!(solver, b)
-isapprox(x, x_approx, rtol = 0.001)
true

This page was generated using Literate.jl.

+isapprox(x, x_approx, rtol = 0.001)
true

This page was generated using Literate.jl.

diff --git a/dev/generated/explanations/regularization/index.html b/dev/generated/explanations/regularization/index.html index 51b8246..9d78088 100644 --- a/dev/generated/explanations/regularization/index.html +++ b/dev/generated/explanations/regularization/index.html @@ -55,4 +55,4 @@ plot_image(fig[1,4], img_prox_wavelet, title = "Reg. Wavelet Domain") resize_to_layout!(fig) figExample block output

Generally, regularization terms can be nested arbitrarly deep, adding new functionality with each layer. Each nested regularization term can return its inner regularization term. Furthermore, all regularization terms implement the iteration interface to iterate over the nesting. The innermost regularization term of a nested term must be a core regularization term and it can be returned by the sink function:

RegularizedLeastSquares.innerreg(reg) == core
true
sink(reg) == core
true
foreach(r -> println(nameof(typeof(r))), reg)
TransformedRegularization
-L1Regularization

This page was generated using Literate.jl.

+L1Regularization

This page was generated using Literate.jl.

diff --git a/dev/generated/howto/callbacks/03173a28.png b/dev/generated/howto/callbacks/03173a28.png new file mode 100644 index 0000000000000000000000000000000000000000..3f722121de6dc7ee9b62f7915d3f6775d3d96fac GIT binary patch literal 180936 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