Code covered by the BSD License
APP_HH Apply a Householder transformation.
ART Algebraic reconstruction technique (Kaczmarz's method).
- baart(n)BAART Test problem: Fredholm integral equation of the first kind.
- bidiag(A)BIDIAG Bidiagonalization of an m-times-n 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 Find corner of discrete L-curve 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 ill-posed problem.
- gcv(U,s,b,method)GCV Plot the GCV function and find its minimum.
- gen_form(L_p,x_s,A,b,K,M)GEN_FORM Transform a standard-form problem back to the general-form setting.
- gen_hh(x)GEN_HH Generate a Householder transformation.
- get_l(n,d)GET_L Compute discrete derivative operators.
GRAVITY Test problem: 1-D 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 L-curve.
- l_curve(U,sm,b,method,L,V)L_CURVE Plot the L-curve 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(U,s,V,b,alpha,x_0)LSQI Least squares minimizaiton with a quadratic inequality constraint.
- 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 MR-II 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.
- nu(A,b,k,nu,s)NU Brakhage's nu-method.
- 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 L-curve.
- 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 MR-II algorithm for symmetric indefinite problems
- pnu(A,L,W,b,k,nu,sm)PNU "Preconditioned" version of Brakhage's nu-method.
PRRGMRES Preconditioned RRGMRES algorithm for square inconsistent systems
- quasiopt(U,s,b,method)QUASIOPT Quasi-optimality criterion for choosing the reg. parameter
- regutm(m,n,s)REGUTM Test matrix for regularization methods.
RRGMRES Range-restricted GMRES algorithm for square inconsistent systems
- shaw(n)SHAW Test problem: one-dimensional 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 ill-posed problems.
- splsqr(A,b,lambda,Vsp,max...SPLSQR Subspace preconditioned LSQR for discrete ill-posed problems.
- std_form(A,L,b,W)STD_FORM Transform a general-form 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 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.
View all files
16 Apr 1998
(Updated 18 Mar 2008)
Analysis and Solution of Discrete Ill-Posed Problems.
% Regularization Tools.
% Version 4.1 9-march-08.
% Copyright (c) 1993 and 1998 by Per Christian Hansen and IMM.
% 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 ill-posed problem.
% gravity - One-dimensional 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 - One-dimensional image restoration problem.
% spikes - Test problem with a "spiky" solution.
% tomo - Two-dimensional tomography problem with sparse matrix.
% ursell - Integral equation with no square integrable solution.
% wing - Test problem with a discontinuous solution.
% SVD- and GSVD-based 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 nu-method.
% pcgls - Same as cgls, but for general-form regularization.
% plsqr_b - Same as lsqr, but for general-form regularization.
% pmr2 - Same as mr2, but for general-form regularization.
% pnu - Same as nu, but for general-form regularization.
% prrgmres - Same as rrgmres, but for general-form 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 L-curve.
% fil_fac - Computes filter factors for some regularization methods.
% gcv - Plots the GCV function and computes its minimum.
% l_corner - Locates the L-shaped corner of the L-curve.
% l_curve - Computes the L-curve, plots it, and computes its corner.
% lagrange - Plots the Lagrange function ||Ax-b||^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 right-hand side, and a (smoothed curve
% of) the solution's Fourier-coefficients.
% plot_lc - Plots an L-curve.
% quasiopt - Plots the quasi-optimality 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 standard-form solution back into the
% general-form setting.
% std_form - Transforms a general-form 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 m-by-n matrix.
% get_l - Produces a p-by-n 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 A-weighted generalized inverse of L.
% ltsolve - Inversion with transposed A-weighted inverse of L.
% pinit - Initialization for treating general-form 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 L-curve
% ncpfun - Computes the NCP's distance to a straight line.
% quasifun - Computes the quasi-optimality function.
% For backward compatibility, the function l_corner uses the Spline
% Toolbox when available, otherwise is used the new function corner.