10/30/90	Removed spurious TABs from "startv.f" and "opsimon.f".
		Removed spurious trailing BLANKs, added SAVE statement
		to improve portability and removed some unneeded variables
		from "random.f".

06/03/89	Introduce OP(N,P,Q,R) in place of OPK(N,A,B) to better
		accommodate the "standard" mode.  Affected files: "diag.f",
		"diag0.f", "landr.f", "lanso.f", "main.f", "op.f", "opsimon.f",
		"startv.f", "std.f", "stpone.f", "trivia.f".

05/19/89	Fix a serious bug in "lanso.f" where immediately after a
		restart, the very Lanczos step should be the same as STPONE,
		i.e. the subtraction of RNM*q[j-1] from R _must_ be omitted.

05/19/89	Correctly model ETA(J-1) (.i.e. 1) when RNM.EQ.0 in "ortbnd.f".

05/18/89	Removed IERR from STPONE's dummy parameter list, this affects
		"stpone.f" and "lanso.f".
		Removed N from ORTBND's dummy parameter list, this affects
		"ortbnd.f" and "lanso.f".
		Removed RNM from RITVEC's dummy parameter list, this affects
		"ritvec.f" and "landr.f".
		Removed IERR from STARTV's actual parameter list and removed
		test for IERR from "stpone.f".
		Removed the unused variable "ONE" from "startv.f".
		(all the above from nagjdc@vax.oxford.ac.uk)

05/16/89	We now use the term "effective" condition number for M since
		M can be singular.  Affects "landr.f", "README".

05/11/89	LANSO v1.0(05/11/89) Released.

05/10/89	Set TOL to N*EPS*ANORM in "lanso.f" and "stpone.f".
		EPSN := N*EPS added to /RDATA/, affected files:
		"landr.f", "lanso.f", "stpone.f", "ortbnd.f", "purge.f".
		%RTT% /rdata/ changes affects "ritvec.f".

05/10/89	Added "diag.f" as suggested by nagaab@vax.oxford.ac.uk.

05/10/89	Improved the recurrence error term modeling in "ortbnd.f" for
		cases where RNM is 0 or tiny; in particular, the recurrence
		error term should be modeled as RCEPS1*ANORM/RNM instead of
		just RCEPS1; the recurrence error term cannot be ignored
		for OLDETA(J-1).

05/10/89	Fixed a bug in "purge.f" where IDAMAX should run from LL+1
		to J-(LL+1) instead of J-(LL+2); only ETA(J) can be safely
		ignored.

05/10/89	Added a comment to "stpone.f".

05/09/89	Correctly handle N.EQ.1 case in LANSO (nagaab@vax.oxford.ac.uk).

05/09/89	In "ritvec.f" added test for J.GT.1 before calling DCOPY(J-1,.
		In "lanso.f" added test for I.GT.L before calling DCOPY(I-L,.
		(nagaab@vax.oxford.ac.uk).

05/09/89	Switched to use explicit TQL (TQLB in "lanso.f" and TQL2
		in "ritvec.f"); "Makefile" modified accordingly.  Lowered
		TOL in LANSO and STPONE to EPS*ANORM to ensure validity
		of Simon's recurrence.  PURGE now always do the reorth.
		from 1 (instead of just from LL+1) to account for G-S
		inaccuracies caused by not calling OPM to form correct
		Mr and repeat the G-S process again when necessary in
		LANSO Re the DO I = 1,MIN(LL,J-2) reorth. loop.

05/08/89	"startv.f" modified to always do G-S twice to get a clean
		random vector upon restart; each component of the random
		starting vector is uniform[-0.5,0.5].

05/06/89	"RHSFMT" removed from "decomp.f" to avoid IBM/3090's END OF
		FILE error message at run-time.  Picky picky picky...

05/05/89	"startv.f" modified to attempt to restart 3 times and the
		reorthogonalization portion moved *into* the DO I = 1,3
		loop to make sure bad luck doesn't strike us in such a way
		that the randomly generated starting vector is spanned by
		all known Lanczos vectors. (nagjdc@vax.oxford.ac.uk)
		"startv.f" modified so that random starting vector is
		uniform(-1/2,1/2); IERR removed from STARTV's parameter
		list in "startv.f", "lanso.f" modified to the corresponding
		calling sequence.

05/05/89	"ortbnd.f" modified to take one more parameter RCEPS1 for
		more accurately modelling the roundoff generated by the
		3-term recurrence.
		One more item added to COMMON/RDATA/, namely RCEPS1 :=
		SQRT(cond(M))*EPS1; "landr.f", "lanso.f", "purge.f" and
		"stpone".f are affected.
		%RTT% The common/rdata/ change also affects "ritvec.f".
		One more parameter CONDM added to the calling sequence of
		LANDR containing the user-supplied cond(M) estimate.
		"main.f", "std.f" and "decomp.f" trivially modified to
		conform to the new calling sequence.

05/05/89	"main.f", "std.f" and "decomp.f" modified to explicitly
		initialize W to the 0 vector instead of calling DSCAL.
		Calling DSCAL with DA = 0.0D0 as a means of generating
		0 vectors failed miserably on the ICL. ("unassigned
		variable" error, nagjdc@vax.oxford.ac.uk).

05/03/89	Replaced non-intrinsic function names by their intrinsic
		counterparts.  This affects "imtql2.f", "imtqlb.f",
		"pythag.f" and "random.f".

05/03/89	Removed 2 redundant lines from "dtos"
		and added 2 format conversion lines for RTT version.

05/02/89	Modified "ortbnd.f" to make the sign of estimated roundoff
		term (EPS1) the same as the rest (SIGN(EPS1,OLDETA(I)).

04/29/89	LANSO v1.0(4/29/89) released.

04/29/89	%RTT% Changed output format for MACHAR-computed quantities
		%RTT% from D42.33 to E27.19E3.

04/29/89	Broke Ritz value output header formatting in "main.f" into 2
		lines for easier automatic D->Q conversion.

04/29/89	%RTT% Broke RTT header formatting in "lanso.f" into 2 lines
		%RTT% for easier automatic D->Q conversion.

04/29/89	%RTT% Got rid of TABs in "landr.f" and "debug.f".

04/29/89	%RTT% Modified "purge.f" to avoid divide-by-zero when passing
		%RTT% TR/((new)RNM*REPS1) to PRANGL.

04/29/89	Got rid of TABs in "main.f", "purge.f" and "std.f".

04/29/89	Moved IF (RNM.GT.TOL) conditional to inside of DO LOOP = 1,2
		in "purge.f" to avoid one unnecessary PURGE sweep.

04/28/89	%RTT% Modified "debug.f" to avoid divide-by-zero in ANGLES;
		%RTT% teach PRANGL to print out changes in q and r divided
		%RTT% by REPS1 and (new)RNM*REPS1 respectively.

04/28/89	Fixed deficiency in PURGE where occasionally one PURGE sweep
		doesn't make r orthogonal to Q due to our way of performing
		G-S (i.e. Mr stayed unchanged 'til the end).  Now the code
		monitors the changes in r and q, if either the change in r
		exceeded (new)RNM*REPS1 or the change in q exceeded REPS1,
		one more PURGE sweep is done.

04/28/89	Fixed bug in "ortbnd.f" which stopped PRO from ever taking
		place with the SNI207 case because RNM is less than EPS1,
		which makes MAX(RNM,EPS1) *always* EPS1.

04/28/89	IE -> EV in the "main.f" checking code.  Stupid slip...

04/28/89	Fixed "unassigned variable" bug in IMTQLB when IMTQLB
		invoked with N.EQ.1. (nagjdc@vax.oxford.ac.uk)

04/26/89	Modified "decomp.f" so that KAPPA gets passed to LANDR as a
		variable.  Modified "README" to stress the point that KAPPA
		must be passed as a variable.  (simon@orville.nas.nasa.gov)

04/24/89	Added stand-alone "loadev.f" to help users load eigenvectors
		back into memory when they need to.
		Modified "Makefile" to make sure "loadev.f" and "CHANGELOG"
		get copied over to the distribution tree.

04/19/89	Modified "doit" to accommodate Alliant FX/8's FORTRAN I/O
		channel naming convention ("for011.dat").
