Changes.txt 5.87 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
************************************************************************
*      This is Version 4.1 of Regularization Tools for Matlab 7.3      *
*----------------------------------------------------------------------*
*                      Per Christian Hansen, IMM                       *
************************************************************************

Revisions in Version 1.1

07/14/92
Fixed a bug in l_curve (beta2 was not computed correct).
Fixed the same bug in gcv and lagrange.
Fixed a bug in mtsvd (beta was never computed).

09/11/92
Fixed a typo in l_curve.
Added more pause statements in regudemo as a courtesy to PC users.

Revisions in Version 1.2

09/17/92
Fixed non-standard use of zeros and ones.
Added more comments to the test problems.

Revisions in Version 1.3

11/05/92
Changed routines cg and pcg, based on an algorithm from Louis's book,
to routines cgls and pcgls based on an algorithm from Bjorck's book.

02/09/93
New subroutine names: changed cg, pcg, and tls to cgls, pcgls, and ttls.

02/26/93
Minor bug in fil_fac corrected.

03/12/93:
Fixed minor bug in plot_lc.

03/16/93:
Added H1 lines to all routines.
Renamed squire to foxgood.
Routine ttls now computes the correct TLS residual. 
Hold state is now restored after all plots. 
Error messages in l_corner and l_curve if Spline Toolbox is not available. 
 
04/21/93: 
Modified gen_form and std_form. 
 
05/26/93: 
Modified input chech in lanc_b, lsqr, and plsqr. 
Changed to sparse storage of L. 
 
06/12/93: 
Fixed bug in gen_form for square L_p. 
 
06/23/93: 
Added ttls filter factors to fil_fac. 
 
10/29/93: 
Added 10 dummy subroutines for the case when Spline Toolbox is not installed. 
 
--------------------------------------------------------------------- 
|      Changes after Regu Tools 2.0 has appeared in NumerAlgo.      | 
--------------------------------------------------------------------- 
 
02/01/94: 
Fixed bug in cgls (s -> s2). 
 
08/03/94: 
Expanded stopping criterion in newton. 
 
08/09/94: 
Revised comment lines in maxent. 
 
10/07/94: 
Removed superfluorus statements in mtsvd. 
 
11/01/94: 
Modified get_l slightly such that the sign of L*x is correct. 
 
02/09/95: 
Revised qr in csd, l_curve and mtsvd to compute "economy size" decomposition. 
Renamed csd to csdecomp (csd is now a function in the Signal Proc. Toolbox). 
Revised gsvd to call csdecomp. 
 
11/08/95: 
Fixed bug in csdecomp when p=1. 
 
03/22/96: 
Changed tsvd and tgsvd to allow k=0. 
 
10/08/96: 
Changed tgsvd to allow a square L. 
 
10/22/96: 
Changed tikhonov to allow a square L. 
 
04/17/97: 
Replaced (..==NaN) with isnan(..) in bsvd. 
Added initialization of U2t in csdecomp. 
 
04/21/97: 
Changed variable name "case" to "example" in deriv2. 
Changed meshdom to meshgrid in spikes, and deleted the flipud command. 
Changed variable xi to eta in picard. 
 
06/30/97: 
Removed function bsvd (obsolete with sparse format of bidiagonal matrices). 
Changed to sparse format of bidiagonal matrix in bidiag. 
Changed to sparse format of bidiagonal matrix in lanc_b. 
Added function regutm. 
 
07/02/97: 
Added reorthogonalization of normal eq. residual vectors to cgls and pcgls. 
Fixed bug in pcgls when computing filter factors. 
 
07/29/97: 
Changed variable name in pinit. 
Modified lsolve, ltsolve, and std_form according to simpler formulas. 
 
09/18/97: 
Added blur test problem. 
Deleted mgs, and included the MGS process in get_l. 
 
11/11/97: 
Modified gen_hh to compensate for Matlab's signum function. 
 
12/22/97: 
Replaced gsvd with cgsvd, and deleted csdecomp. 
Added more output arguments to dsvd, mtsvd, tgsvd, tikhonov, and tsvd. 
Added method = 'ttls' to fil_fac. 
Improved the plots in gcv, lagrange, picard, plot_lc, and quasiopt. 
Added input parameter x_0 to tikhonov. 
 
12/29/97: 
Added call to fmin in gcv, l_curve, and quasiopt. 
Corrected bugs in discrep and lsqi. 
Modified heb_new and newton to work with lambda instead of lambda squared. 
 
02/05/98: 
Added d==0 to get_l. 
 
04/16/98: 
Modified l_corner and spleval to be consistent with Spline Toolbox v. 2.0. 
 
--------------------------------------------------------------------- 
|      Changes after Regu Tools 3.0 has appeared in NumerAlgo.      | 
--------------------------------------------------------------------- 
 
04/30/99: 
Fixed bug in l_corner (nargin==8).

02/21/01, compatibility changes to Matlab 6:
Changed fmin to fminbnd in gcv, l_corner and quasiopt.
Changed gcv, lagrange, lcfun, l_curve and plot_lc to work correct 
   for complex problems. 
Changed the use of exist in l_corner and l_curve. 
Renamed lsqr and plsqr to lsqr_b and plsqr_b, respectively. 
Changed regudemo accordingly.

09/13/01:
Corrected help lines in heat and l_curve.
Removed option reorth=2 in lsqr_b and plsqr_b.
Changed bidiag, gen_hh, lanc_b, lsqr_b and plsqr_b to work correct
   for complex problems.

12/12/02:
Fixed bug in l_corner (for m>n and p<n).

04/14/03:
Changed eta to solution seminorm in dsvd and tikhonov in the
   general-form case.
Changed eta to solution seminorm in tgsvd.
Changed cgsvd, dsvd, tgsvd and tikhonov to allow for an underdetermined
   A matrix.
   
12/16/03:
Fixed a bug i gcv.

10/21/06:
Fixed NaN-problem in ilaplace.

04/19/07:
Fixed a bug in tgsvd.

07/23/07:
Fixed a bug in reorthogonalization procedure in cgls.

09/21/07:
Added new test problems: gravity and tomo.
Added new parameter-choice methods: corner and ncp.
Added new iterative regularization methods: art, mr2, pmr2, prrgmres,
   rrgmres, and splsqr.
Changed l_curve and l_corner to use the new function corner if the
   Spline Toolbox is not available.
Incorporated heb_new and newton as subfunctions in lsqi and discrep.
Removed the function pythag and changed lsqr_b and plsqr_b accordingly.
Changed discrep and lsqi to allow for an underdetermined A matrix.

02/24/08:
Fixed bugs in gcvfun and tgsvd.

03/09/08:
Renamed ilaplace to i_laplace (to avoid name overlap with the
   Symbolic Math Toolbox).
Added output argument W to cgsvd.