Optimization¶
The pygsp.optimization
module provides tools to solve convex
optimization problems on graphs.
- pygsp.optimization.prox_tv(x, gamma, G, A=None, At=None, nu=1, tol=0.001, maxit=200, use_matrix=True)[source]¶
Total Variation proximal operator for graphs.
This function computes the TV proximal operator for graphs. The TV norm is the one norm of the gradient. The gradient is defined in the function
pygsp.graphs.Graph.grad()
. This function requires the PyUNLocBoX to be executed.This function solves:
\(sol = \min_{z} \frac{1}{2} \|x - z\|_2^2 + \gamma \|x\|_{TV}\)
- Parameters
- x: int
Input signal
- gamma: ndarray
Regularization parameter
- G: graph object
Graphs structure
- A: lambda function
Forward operator, this parameter allows to solve the following problem: \(sol = \min_{z} \frac{1}{2} \|x - z\|_2^2 + \gamma \| A x\|_{TV}\) (default = Id)
- At: lambda function
Adjoint operator. (default = Id)
- nu: float
Bound on the norm of the operator (default = 1)
- tol: float
Stops criterion for the loop. The algorithm will stop if : \(\frac{n(t) - n(t - 1)} {n(t)} < tol\) where \(n(t) = f(x) + 0.5 \|x-y\|_2^2\) is the objective function at iteration \(t\) (default = \(10e-4\))
- maxit: int
Maximum iteration. (default = 200)
- use_matrix: bool
If a matrix should be used. (default = True)
- Returns
- sol: solution