Code covered by the BSD License
 app_hh(A,beta,v)
APP_HH Apply a Householder transformation.
 art.m
 baart(n)BAART Test problem: Fredholm integral equation of the first kind.
 bidiag(A)BIDIAG Bidiagonalization of an mtimesn matrix with m >= n.
 blur(N,band,sigma)BLUR Test problem: digital image deblurring.
 cgls(A,b,k,reorth,s)CGLS Conjugate gradient algorithm applied implicitly to the normal equations.
 cgsvd(A,L)CGSVD Compact generalized SVD of a matrix pair in regularization problems.
 corner(rho,eta,fig)
CORNER Find corner of discrete Lcurve via adaptive pruning algorithm.
 csvd(A,tst)CSVD Compact singular value decomposition.
 deriv2(n,example)DERIV2 Test problem: computation of the second derivative.
 discrep(U,s,V,b,delta,x_0)DISCREP Discrepancy principle criterion for choosing the reg. parameter.
 dsvd(U,s,V,b,lambda)DSVD Damped SVD and GSVD regularization.
 fil_fac(s,reg_param,metho...FIL_FAC Filter factors for some regularization methods.
 foxgood(n)FOXGOOD Test problem: severely illposed problem.
 gcv(U,s,b,method)GCV Plot the GCV function and find its minimum.
 gcvfun(lambda,s2,beta,del...
 gen_form(L_p,x_s,A,b,K,M)GEN_FORM Transform a standardform problem back to the generalform setting.
 gen_hh(x)GEN_HH Generate a Householder transformation.
 get_l(n,d)GET_L Compute discrete derivative operators.
 gravity(n,example,a,b,d)
GRAVITY Test problem: 1D gravity surveying model problem
 heat(n,kappa)HEAT Test problem: inverse heat equation.
 i_laplace(n,example)I_LAPLACE Test problem: inverse Laplace transformation.
 l_corner(rho,eta,reg_para...L_CORNER Locate the "corner" of the Lcurve.
 l_curve(U,sm,b,method,L,V)L_CURVE Plot the Lcurve and find its "corner".
 lagrange(U,s,b,more)LAGRANGE Plot the Lagrange function for Tikhonov regularization.
 lanc_b(A,p,k,reorth)LANC_B Lanczos bidiagonalization.
 lcfun(lambda,s,beta,xi,fi...Auxiliary routine for l_corner; computes the NEGATIVE of the curvature.
 lsolve(L,y,W,T)LSOLVE Utility routine for "preconditioned" iterative methods.
 lsqi.m
 lsqr_b(A,b,k,reorth,s)LSQR_B Solution of least squares problems by Lanczos bidiagonalization.
 ltsolve(L,y,W,T)LTSOLVE Utility routine for "preconditioned" iterative methods.
 maxent(A,b,lambda,w,x0)MAXENT Maximum entropy regularization.
 mr2(A,b,k,reorth)MR2 Solution of symmetric indefinite problems by the MRII algorithm
 mtsvd(U,s,V,b,k,L)MTSVD Modified truncated SVD regularization.
 ncp(U,s,b,method)NCP Plot the NCPs and find the one closest to a straight line.
 ncpfun(lambda,s,beta,U,ds...
 nu(A,b,k,nu,s)NU Brakhage's numethod.
 parallax(n)PARALLAX Stellar parallax problem with 28 fixed, real observations.
 pcgls(A,L,W,b,k,reorth,sm)PCGLS "Precond." conjugate gradients appl. implicitly to normal equations.
 phillips(n)PHILLIPS Test problem: Phillips' "famous" problem.
 picard(U,s,b,d)PICARD Visual inspection of the Picard condition.
 pinit(W,A,b)PINIT Utility init.procedure for "preconditioned" iterative methods.
 plot_lc(rho,eta,marker,ps...PLOT_LC Plot the Lcurve.
 plsqr_b(A,L,W,b,k,reorth,sm)PLSQR_B "Precond." version of the LSQR Lanczos bidiagonalization algorithm.
 pmr2(A,L,N,b,k,reorth)PMR2 Preconditioned MRII algorithm for symmetric indefinite problems
 pnu(A,L,W,b,k,nu,sm)PNU "Preconditioned" version of Brakhage's numethod.
 prrgmres(A,L,N,b,k)
PRRGMRES Preconditioned RRGMRES algorithm for square inconsistent systems
 quasifun(lambda,s,xi,dsvd)
 quasiopt(U,s,b,method)QUASIOPT Quasioptimality criterion for choosing the reg. parameter
 regutm(m,n,s)REGUTM Test matrix for regularization methods.
 rrgmres(A,b,k)
RRGMRES Rangerestricted GMRES algorithm for square inconsistent systems
 shaw(n)SHAW Test problem: onedimensional image restoration model.
 spikes(n,t_max)SPIKES Test problem with a "spiky" solution.
 spleval(f)SPLEVAL Evaluation of a spline or spline curve.
 splsqr(A,L,b,lambda,Vsp,m...SPLSQR Subspace preconditioned LSQR for discrete illposed problems.
 splsqr(A,b,lambda,Vsp,max...SPLSQR Subspace preconditioned LSQR for discrete illposed problems.
 std_form(A,L,b,W)STD_FORM Transform a generalform reg. problem into one in standard form.
 tgsvd(U,sm,X,b,k)TGSVD Truncated GSVD regularization.
 tikhonov(U,s,V,b,lambda,x_0)TIKHONOV Tikhonov regularization.
 tomo(N,f)
TOMO Create a 2D tomography test problem
 tsvd(U,s,V,b,k)TSVD Truncated SVD regularization.
 ttls(V1,k,s1)TTLS Truncated TLS regularization.
 ursell(n)URSELL Test problem: integral equation wiht no square integrable solution.
 wing(n,t1,t2)WING Test problem with a discontinuous solution.
 Contents.mRegularization Tools.
 regudemo.mREGUDEMO Tutorial script for Regularization Tools.

View all files
regtools
by
Per Christian Hansen
16 Apr 1998
(Updated
18 Mar 2008)
Analysis and Solution of Discrete IllPosed Problems.

Contents.m 
% Regularization Tools.
% Version 4.1 9march08.
% Copyright (c) 1993 and 1998 by Per Christian Hansen and IMM.
%
% Demonstration.
% regudemo  Tutorial introduction to Regularization Tools.
%
% Test problems.
% baart  Fredholm integral equation of the first kind.
% blur  Image deblurring test problem with structured matrix.
% deriv2  Computation of the second derivative.
% foxgood  Severely illposed problem.
% gravity  Onedimensional gravity surveying problem.
% heat  Inverse heat equation.
% i_laplace  Inverse Laplace transformation.
% parallax  Stellar parallax problem with 28 fixed observations.
% phillips  Philips' "famous" test problem.
% shaw  Onedimensional image restoration problem.
% spikes  Test problem with a "spiky" solution.
% tomo  Twodimensional tomography problem with sparse matrix.
% ursell  Integral equation with no square integrable solution.
% wing  Test problem with a discontinuous solution.
%
% SVD and GSVDbased regularization routines.
% discrep  Minimizes the solution (semi)norm subject to an upper
% bound on the residual norm (discrepancy principle).
% dsvd  Computes the damped SVD/GSVD solution.
% lsqi  Minimizes the residual norm subject to an upper bound
% on the (semi)norm of the solution.
% mtsvd  Computes the modified TSVD solution.
% tgsvd  Computes the truncated GSVD solution.
% tikhonov  Computes the Tikhonov regularized solution.
% tsvd  Computes the truncated SVD solution.
% ttls  Computes the truncated TLS solution.
%
% Iterative regularization routines.
% art  Algebraic reconstruction technique (Kaczmarz's method).
% cgls  Computes the least squares solution based on k steps
% of the conjugate gradient algorithm.
% lsqr_b  Computes the least squares solution based on k steps
% of the LSQR algorithm (Lanczos bidiagonalization).
% maxent  Computes the maximum entropy regularized solution.
% mr2  Variant of MINRES with starting vector Ab.
% nu  Computes the solution based on k steps of Brakhage's
% iterative numethod.
% pcgls  Same as cgls, but for generalform regularization.
% plsqr_b  Same as lsqr, but for generalform regularization.
% pmr2  Same as mr2, but for generalform regularization.
% pnu  Same as nu, but for generalform regularization.
% prrgmres  Same as rrgmres, but for generalform regularization.
% rrgmres  Variant of GMRES with starting vector Ab.
% splsqr  Computes an approximate Tikhonov solution via the
% subspace preconditioned LSQR algorithm.
%
% Analysis routines.
% corner  Locates the corner of a discrete Lcurve.
% fil_fac  Computes filter factors for some regularization methods.
% gcv  Plots the GCV function and computes its minimum.
% l_corner  Locates the Lshaped corner of the Lcurve.
% l_curve  Computes the Lcurve, plots it, and computes its corner.
% lagrange  Plots the Lagrange function Axb^2 + lambda^2*Lx^2,
% and its derivative.
% ncp  Plots normalized cumulative periodograms (NCPs) and finds
% the one closest to a straight line.
% picard  Plots the (generalized) singular values, the Fourier
% coefficient for the righthand side, and a (smoothed curve
% of) the solution's Fouriercoefficients.
% plot_lc  Plots an Lcurve.
% quasiopt  Plots the quasioptimality function and computes its minimum.
%
% Routines for transforming a problem in general form into one in
% standard form, and back again.
% gen_form  Transforms a standardform solution back into the
% generalform setting.
% std_form  Transforms a generalform problem into one in
% standard form.
%
% Utility routines.
% bidiag  Bidiagonalization of a matrix by Householder transformations.
% cgsvd  Computes the compact generalized SVD of a matrix pair.
% csvd  Computes the compact SVD of an mbyn matrix.
% get_l  Produces a pbyn matrix which is the discrete
% approximation to the d'th order derivative operator.
% lanc_b  Performs k steps of the Lanczos bidiagonalization
% process with/without reorthogonalization.
% regutm  Generates random test matrices for regularization methods.
%
% Auxiliary routines required by some of the above routines.
% app_hh  Applies a Householder transformation from the left.
% gen_hh  Generates a Householder transformation.
% lsolve  Inversion with Aweighted generalized inverse of L.
% ltsolve  Inversion with transposed Aweighted inverse of L.
% pinit  Initialization for treating generalform problems.
% spleval  Computes points on a spline or spline curve.
% The following four routines are not documented, since they are only used
% internally by gcv, l_corner, and quasiopt, respectively. They cannot be
% located as private functions.
% gcvfun  Computes the GCV function
% lcfun  Computes the curvature of the Lcurve
% ncpfun  Computes the NCP's distance to a straight line.
% quasifun  Computes the quasioptimality function.
%
% For backward compatibility, the function l_corner uses the Spline
% Toolbox when available, otherwise is used the new function corner.


Contact us