# tikhonov.m

Tikhonov regularised solution to K*x=y with a positivity constraint on x using regularised Newton-Raphson method.

## Syntax

```    [x,err,reg]=tikhonov(K,D,KtK,DtD,H,y,lambda)
```

## Arguments

```   K      - kernel matrix, may be complex, may be non-square

D      - regularisation matrix, leave empty to use finite
difference second derivative matrix

KtK    - K'*K, for repeated calls it may be faster to pre-
compute this quantity, leave empty otherwise

DtD    - D'*D, for repeated calls it may be faster to pre-
compute this quantity, leave empty otherwise

H      - Tikhonov Hessian 2*real(KtK+lambda*DtD), for re-
peated calls it may be faster to precompute this
quantity, leave empty otherwise

y      - a column vector, may be complex

lambda - Tikhonov regularisation parameter
```

## Outputs

```   x      - a real vector, a minimum (subject to positivity)
of norm(K*x-y,2)^2+lambda*norm(D*x,2)^2

err    - error signal norm(K*x-y,2)^2

reg    - regularisation signal norm(D*x,2)^2
```