tikhonov.m

From Spinach Documentation Wiki
Jump to: navigation, search

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

Notes

For best numerical performance, scale K to have approximately unit 2-norm, and y to have approximately unit 1-norm.

See also

Miscellaneous data processing


Version 2.8, authors: Anupama Acharya, Ilya Kuprov