pylops_gpu.optimization.leastsquares.NormalEquationsInversion

pylops_gpu.optimization.leastsquares.NormalEquationsInversion(Op, Regs, data, Weight=None, dataregs=None, epsI=0, epsRs=None, x0=None, returninfo=False, device='cpu', **kwargs_cg)[source]

Inversion of normal equations.

Solve the regularized normal equations for a system of equations given the operator Op, a data weighting operator Weight and a list of regularization terms Regs

Parameters:
Op : pylops_gpu.LinearOperator

Operator to invert

Regs : list

Regularization operators (None to avoid adding regularization)

data : torch.Tensor

Data

Weight : pylops_gpu.LinearOperator, optional

Weight operator

dataregs : list, optional

Regularization data (must have the same number of elements as Regs)

epsI : float, optional

Tikhonov damping

epsRs : list, optional

Regularization dampings (must have the same number of elements as Regs)

x0 : torch.Tensor, optional

Initial guess

returninfo : bool, optional

Return info of CG solver

device : str, optional

Device to be used

**kwargs_cg

Arbitrary keyword arguments for pylops_gpu.optimization.leastsquares.cg solver

Returns:
xinv : numpy.ndarray

Inverted model.

Notes

Refer to pylops..optimization.leastsquares.NormalEquationsInversion for implementation details.

Examples using pylops_gpu.optimization.leastsquares.NormalEquationsInversion