CVS difference for ais/ai-00296.txt

Differences between 1.8 and version 1.9
Log of other versions for file ais/ai-00296.txt

--- ais/ai-00296.txt	2003/07/24 23:05:47	1.8
+++ ais/ai-00296.txt	2003/07/26 03:26:01	1.9
@@ -1815,3 +1815,80 @@
+From: John Barnes
+Sent: Friday, July 25, 2003  2:29 AM
+I have created two new versions of this AI and Randy has put
+them on the database (he tells me I had some spurious CRs
+which he had to edit and so he warns that perhaps they are
+not perfect in that respect).
+The first (version 03) incorporates various minor changes
+agreed at Toulouse but does not include LU decomposition.
+The second (version 04) includes LU decomposition.
+The ZIP file only contains 04. Randy tells me so you will
+have to go to the database directly for 03. (I always use
+the database directly so maybe that's no problem.)
+You may recall (or then you may not) that LU decomposition
+enables a square matrix to be held in a form which is faster
+for operations such as invert, solve and eigenvalues.  It is
+of value when several operations have to be performed on the
+same matrix because time is saved by not repeating some
+common operations.
+This was important when hardware was slow. But hardware is
+so fast now that it can hardly matter in most circumstances.
+Perhaps it might matter in a tight loop when the same matrix
+is being used to solve a set of more than 100 equations
+repeatedly. But does this ever happen?  Seems doubtful and
+if it did a real numerical analyst needs to be called in
+Note that large banded matrices do occur in differential
+equations but that is specialized stuff anyway which we are
+not addressing.
+Moreover adding LU adds complexity to the RM and an
+irritating visibility problem explained in the AI
+Since our goal here I believe is to provide some simple
+useful facilities for the common programmer (while still
+providing a base which can be used through child packages to
+provide other stuff) it all now seems too much to me.
+As a programmer nearly half a century ago, I used to invert
+lots of smallish matrices and never used LU decomposition
+(maybe it hadn't been discovered/invented).  Maybe there is
+some partial analogy with all those wonderful algorithms for
+dealing with large matrices held on several magnetic tapes.
+All in the past surely. Of course LU has some nice
+mathematics behind it but not every Ada programmer needs to
+be exposed to such things.
+I am sure that any professional numerical analyst will say
+that LU is a must have. But that could be more out of
+professional pride, habit and rectitude rather than
+practical need.
+I am also sure that if presented with the sort of numerical
+problems I dabble with from time to time I would never
+bother with the LU forms because the straightforward ones
+would do the job adequately. Another point is that the
+existence of the LU forms might make life harder for
+software maintenance by obscuring what is going on.
+Perhaps I should add that my colleagues in the UK who have
+looked at this are moving to the view that LU is
+unnecessary. And discussions with Pascal before he went on
+vacation were going that way as well.
+We can discuss it in Sydney. But any thoughts before then
+might be welcome. I suppose I will have to do the wording
+for downward closures now - groan.

Questions? Ask the ACAA Technical Agent