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 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329
|
----------------------------------------------------------------------
SPARSKIT Revision History
------------------------------------------------------------------------
May 9, 1994 (Version 2)
Warning:
The interface for gen57pt has changed.
The interface for csrbnd has changed.
The interface for bsrcsr has changed.
New or rearranged modules:
ITSOL/ilut.f -- four preconditioners (old UNSUPP/SOLVERS plus ilutp)
ITSOL/iters.f -- nine iterative solvers using reverse communication
MATGEN -- rearranged into three subdirectories: FDIF, FEM, MISC.
MATGEN/MISC/sobel.f-- generate matrices from a statistical application
ORDERINGS/ccn -- routines for strongly connected components
ORDERINGS/color.f -- coloring based routines for reordering
ORDERINGS/levset.f -- level set based routines for reordering
UNSUPP/PLOTS -- many routines have been moved to the INOUT module
New format: VBR (Variable block row)
------------------------------------------------------------------------
May 25, 1994
Fixed a bug in FORMATS/unary.f/levels, found by Aart J.C. Bik, Leiden.
------------------------------------------------------------------------
June 3, 1994
The symmetric and nonsymmetric carpenter square format has been renamed
to the symmetric and unsymmetric sparse skyline format. This is simply
a name change for the functions:
csrucs to csruss
ucscsr to usscsr
csrscs to csrsss
scscsr to ssscsr
This is a new format that was not in version 1 of SPARSKIT.
------------------------------------------------------------------------
June 27, 1994
The function ssrcsr has changed, to make it more flexible (K. Wu, UMN).
The old version will still be available in xssrcsr, but may be deleted
in the near future. Please let us know of any bugs, or errors in the
code documentation.
The interface to msrcsr has changed, to make the function in place
(R. Bramley, Indiana).
A number of minor bug fixes to the INOUT module (R. Bramley, Indiana).
ICOPY in ccn.f was renamed to CCNICOPY to eliminate name conflicts
with other libraries.
Very minor typographical fixes were made to the paper.* documentation.
------------------------------------------------------------------------
August 3, 1994
dinfo13.f was modified very slightly to handle skew-symmetric matrices.
------------------------------------------------------------------------
August 8, 1994
Bug fixed in usscsr (D. Su).
Bug fixed in ssrcsr (K. Wu).
------------------------------------------------------------------------
August 18, 1994
New, more efficient version of cooell. The old version will still be
available in xcooell, but may be deleted in the near future. (K. Wu)
Bug fixed in INFO/infofun/ansym. (K. Wu)
------------------------------------------------------------------------
September 22, 1994
Bug fixed in FORMATS/unary/getdia. (John Red-horse, Sandia)
Changes to ITSOL/iters.f:
Bug fix in TFQMR; initialization of workspace; number of matrix-vector
multiplications reported now includes those done in initialization;
added routine FOM (Full Orthogonalization Method). (K. Wu)
This version has only been tested on Solaris, and the test script
output is in out.new. The other outputs are somewhat out of date.
The changes have not been major; please let us know if you find
any incompatibilities. Thanks. (E. Chow)
------------------------------------------------------------------------
October 10, 1994
formats.f: revised ssrcsr to be able to sort the column of the matrix
produced, revised cooell to fill the unused entries in AO,JAO with zero
diagonal elements. (K. Wu)
unary.f: new routine clncsr for removing duplicate entries, sorting
columns of the input matrix, it requires less work space than csort.
(K. Wu)
iters.f: bug fix in fom. (K. Wu)
chkfmt1.f (test program): bug fix in call to ssrcsr.
dotests script: slight modification when running fmt.ex
matvec.f: added atmuxr, Tranpose(A) times a vector, where A is rectangular
in CSR format. Also useful for A times a vector, where A is rectangular
in CSC format. Very similar to atmux. (E. Chow)
------------------------------------------------------------------------
October 17, 1994
Minor fix to ilut.f, proper stopping when maxits is a multiple of the
Krylov subspace size.
A number of changes to iters.f:
(1) add reorthgonalization to the Modified Gram-Schmidt procedures;
(2) check number of matrix-vector multiplications used at the end of
evey Arnoldi step;
(3) in the initialization stage of the iterative solvers, clear fpar
elements to zero.
------------------------------------------------------------------------
November 16, 1994
Selective reorthogonalization replaces reorthogonalization change
of Oct. 17, 1994.
------------------------------------------------------------------------
November 23, 1994
Added csrcsc2, a minor variation on csrcsc for rectangular matrices.
csrcsc now calls csrcsc2.
Removed a useless line in infofun.f that could give a compiler warning.
In the ILUT preconditioner, lfil-1 new fill-ins for rows in the
strictly upper part was used. This has been changed to lfil,
to be consistent with the strictly lower part.
Replaced levset.f with dsepart.f, which adds a number of new partitioners:
rdis, dse2way, dse, in addition to the original dblstr.
The new perphn subroutine no longer takes the iperm array.
------------------------------------------------------------------------
January 3, 1995
FORMATS/formats.f:ellcsr ia(1) was not set. (Reported by J. Schoon.)
------------------------------------------------------------------------
January 30, 1995
BLASSM/blassm.f:amub fixed the documentation. (Reported by D. O'Leary.)
------------------------------------------------------------------------
February 27, 1995
iters.f: the reverse communication protocol has been augmented to make
performing users own convergence test easier. minor bug fixes.
unary.f: subroutine clncsr is slightly changed so that it will remove
zero entries. also minor corrections to its documentation.
formats.f: subroutine ssrcsr is slightly changed so it may optionally
remove zero entries. also minor corrections to its documentation.
infofun.f: subroutine ansym is rewritten to compute the Frobineus norm
of the pattern-nonsymmetric part directly insead of computing it from
the difference between the Frobineus of the whole matrix and its
pattern-symmetric part. This should make the answer of 'FAN' more
reliable.
------------------------------------------------------------------------
March 21, 1995
Bug fix in iters.f:fom.
Also, FOM, GMRES, FGMRES modified so that if a zero pivot is
encountered in the triangular solve part of the algorithm,
the solve is truncated.
The latest output of the dotests script as run on a solaris 2 machine
is in out.sol2.
------------------------------------------------------------------------
March 27, 1995
Fixes to ILUT and ILUTP.
Backed out of the change of Nov. 23, 1994. The original code was
correct (lenu includes the diagonal).
A smaller drop tolerance than prescribed was used (namely, by
the 1-norm of the row); this has now been fixed.
------------------------------------------------------------------------
April 12, 1995
Minor fix in rilut.f. A duplicate call to ilut has been removed.
------------------------------------------------------------------------
April 21, 1995
Cleaner versions of ILUT and ILUTP. Note that the interface has been
changed slightly (workspace parameters have been coalesced), and the
definition of lfil has changed.
ILUK, the standard level ILU(k), has been added to ilut.f.
Due to these changes, ilut.f, and rilut.f have changed.
Also, riters.f riter2.f have changed where they call ilut.
The Block Sparse Row (BSR) format has changed, so that entries are
stored in A(ni,ni,nnz), rather than A(nnz,ni,ni), where the blocks
are ni by ni, and there are nnz blocks. This stores the entries of
the blocks contiguously so that they may be passed to other subroutines.
As a result of this change, the following codes have changed:
FORMATS/formats.f:bsrcsr - additionally takes extra workspace
FORMATS/formats.f:csrbsr
MATGEN/FDID/genmat.f:gen57bl - output n is now block dimension
FORMATS/chkfmt1.f
FORMATS/rvbr.f
MATGEN/FDIF/rgenblk.f
BLASSM/rmatvec.f
The latest output of the dotests script from our Solaris machines here
is in out.04-21-95.
------------------------------------------------------------------------
April 22, 1995
Now you can ask csrbsr to tell you the number of block nonzeros beforehand.
Also, a minor fix if job.eq.0.
------------------------------------------------------------------------
April 25, 1995
csrbsr cleaned up even more.
------------------------------------------------------------------------
May 22, 1995
iters.f - fixed rare bug in bcg and bcgstab: termination test not done
properly if they breakdown on the first step.
------------------------------------------------------------------------
July 27, 1995
Fixed a bug in the header documentation for csrcsc(), describing
the appending of data structures. Detected by Dan Stanescu, Concordia.
Fixed compilation errors in UNSUPP/PLOTS/texgrid1.f for IBM machines,
detected by Regis Gras, Laboratoire CEPHAG.
------------------------------------------------------------------------
Sept. 22, 1995
Fixed a bug in the ILUT/ILUTP routines -- found by Larry Wigton
[Boeing] This bug caused small elements to be stored in L factor
produced by ILUT. Recall that the ILUT codes have been revised on
April 21 line above and there are changes in meanings of the
parameters and calling sequences. The drop strategy used has also
been modified slightly.
We also added two new preconditioning routines named ILUD and ILUDP
[The difference between these and ILUT is that there is no control of
storage. Drop strategy is controled by only one parameter (tol). [This
should be bigger than in ILUT in general.]
-----------------------------------------------------------------------
Sept. 26, 1995
infofun.f:ansym was improved again.
-----------------------------------------------------------------------
Feb 17th, 1996:
Bug fix in getdia (bug reported by Norm Fuchs, Purdue).
-----------------------------------------------------------------------
August 13th, 1996
1. A few more fixes to ILUT, ILUTP [ILUTP did not give the same result as
ILUT when pivoting is not done. This is now fixed.
2. Small bug in (SPARSKIT2/ITSOL/iters.f) subroutine tidycg reported
by Laura Dutto.
3. documentation error in minor (SPARSKIT2/ITSOL/iters.f) subroutine
FGMRES requires more storage than stated.
Sep. 6, 1997
one routine (dperm1) has been added to FORMATS/unary.f
(slightly modified from PSPARSIB).. YS
Nov. 20, 1997
Implicit none caused some minor compilation problems because of
order of declarations [reported by Stefan Nilsson (Chalmers) and
Christer Andersson (NADA, Sweden)]. Fixed by changing order of
declarations. YS
-----------------------------------------------------------------------
Aug. 16th, 1998.
removed useless argument in function mindom (ORDERINGS/dsepart.f)
added one option to gen57pt in MATGEN/FDIF/matgen.f
Sept. 2nd 1998,
- fixed yet other compiler problems with double declarations of
integer n in ilut.f -- these show up with gnu f77.
- fixed an incorrect declaration of arraw iwk in coicsr in
FORMATS/formats (reported by Dan Lee -- bmw)
- removed unnecessary declaration of stopbis in tfqmr
- lenr was not initialized in nonz() in infofun (reported by Massino
Caspari).
- a spurious "g" character was inadvertantly introduced in the previous
version. [reported by Mike Botchev (CWI, NL)..
Sept. 30th, 1998
- fixed a bug in routine apldia (in BLASSM/blassm.f). The code worked
only for in place cases.
-----------------------------------------------------------------------
June 16, 1999
- the finite element matrix generation suite has been updated
(I. Moulistas) - three files have changed elmtlib2.f femgen.f meshes.f
in the directory MATGEN/FEM
- the finite difference matrix generation routione matgen.f has been
changed [SPARSKIT2/MATGEN/FDIF/genmat.f] - bug reported by David
Hyson and corrected by Kesheng John Wu..
- Adoption of the GNU general public licencing - GNU licence agreement
added and terms in the main README file changed..
March 3, 2001: fix documentation glitch regarding size of w in ilut routine.
July 12, 2001: iband was not initialized in bandwidth -- warning: quite
a few bugs found so far in infofun!
July 24, 2001: another bug in infofun (in ansym).. no fun YS.
-----------------------------------------------------------------------
Sep 2003: fixed returned nrhs in readmtc
Dec. 29th, 03 -- it looks like the March 3, 2001 correction was not done
[mishandled versions!] -- put new version..
Mar. 08, 2005: revamping of the old files in DOC - contributed by
Daniel Heiserer (Thanks!)
Mar. 08, 2005: Moved to the Lesser GNU license instead of GNU -
Oct. 20, 2005: a few bug fixes reported by E. Canot (irisa).
Nov. 18, 2009: a bug in csort [made assumption that ncol<nrow]
reported by L. M. Baker.
-----------------------------------------------------------------------
|