optim.Tikhonov

Contents

optim.Tikhonov#

class bartorch.optim.Tikhonov#

Bases:

Quadratic penalty \(w \| G x - b \|^2\) for CG.

Generalized Tikhonov regularization. CG stacks the terms under the encoding, so the problem stays linear least squares, the normal operator is \(A^H A + \sum_i w_i G_i^H G_i\), and a Toeplitz encoding keeps its point-spread-function convolution.

Parameters:
  • weight (float) – \(w\), the weight of the squared norm (not its square root); at least zero.

  • operator (LinearOperator, default=None) – \(G\), with domain A.ishape; the identity when omitted.

  • bias (tensor, default=None) – \(b\), of operator.oshape; zero when omitted.

Raises:

ValueError – weight is negative.

Examples

Pull towards a prior image rather than towards zero:

>>> CG(terms=Tikhonov(0.1, bias=prior))(y, A)

Penalize the first differences (quadratic total variation):

>>> CG(terms=Tikhonov(0.1, operator=linop.Gradient(A.ishape, (-1, -2))))(y, A)