lcurve.m

From Spinach Documentation Wiki
Jump to: navigation, search

L-curve analysis function. Returns the regularisation parameter at the point of the maximum curvature of the L-curve.

Syntax

    lam_opt=lcurve(lam,err,reg,mode)

Parameters

       lam - row vector of regularisation parameters, must
             be positive and in ascending order

       err - row vector of least squares errors, must be
             positive and increasing with lam

       reg - row vector of regularisation functional values,
             must be positive and decreasing with lam. This
             is the regularisation functional itself, not the
             penalty term of the error functional: when the
             optimiser reports lam*||L*x||^2, divide it by lam
             once before calling this function

      mode - 'log' for logarithmic coordinates and 'linear'
             for linear ones; 'log' is recommended

Outputs

   lam_opt - the regularisation parameter at the point
             of the maximum curvature of the L-curve

Notes

The corner is the point of the greatest curvature, which for a smooth asymmetric bend is not the intersection of the asymptotes; the criterion locates the regularisation parameter to within a factor of a few and is not convergent in the zero noise limit (Vogel, SIAM J. Numer. Anal. 34, 1996). Treat the answer as an order of magnitude estimate and inspect the plotted curve.

The curvature maximum must fall inside the sampled interval; if it falls on either end, the corner is outside the range and this function refuses to return the endpoint as an answer.

This function requires the Curve Fitting Toolbox.

See also

tikhonov.m, tikhoind.m, ipcs.m, autoexec.m, bos_product_table.m, fft_freq_axis.m, fwhm2rlx.m, icm2hz.m, ifft_time_axis.m, intrep.m, istraceless.m, kq2lin.m, kronm.m, lin2kq.m, min_int_type.m, prune_subgraphs.m, redfield_integral_async.m, redfield_integral_serial.m, repcols.m, reprows.m, serpentine.m, st_product_table.m, tikhol1n.m, unihash.m, which_subst.m, xyz2hfc.m, Kernel_utilities, Pseudocontact_shift_analysis

Version 1.9, authors: Ilya Kuprov