--- ais/ai-00296.txt 2003/06/05 00:34:14 1.4 +++ ais/ai-00296.txt 2003/06/18 00:12:23 1.5 @@ -1557,3 +1557,109 @@ **************************************************************** +From: John Barnes +Sent: Tuesday, June 10, 2003 4:42 AM + +Vectors and matrices + +At the last ARG meeting I was asked to add material for +matrix inversion, solution of linear equations, +determinants, and eigenvalues and vectors. We very briefly +considered a couple of other topics but dismissed them as +tricky. + +I have updated AI-296 as instructed and sent it to Randy so +I assume it is now on the database. [Editor's note: This is +version /02 of the AI.] + +I put the linear equations, invert and determinant in the +main packages (one for reals and one for complex). I put the +eigenvalues and vectors in child packages because they +seemed a bit different - also they were more complex than I +had remembered (I hadn't looked at this stuff for nearly +half a century) and maybe they are more elaborate than we +need. + +There are a number of queries embedded in the text +concerning accuracy etc. + +However, there are a number of other matters which ought to +be discussed. I visited NAG (National Algorithms Group). +They did a lot of Ada 83 numerics stuff once although they +no longer sell it. They did implement 13813. + +They put the invert stuff in separate packages but it is +much more elaborate than my humble proposal. For example +they have options on whether to invert just once or to +iterate on the residuals until they are acceptable. But then +of course one has to give the accuracy required (although +they do have defaults). Moreover the LU decomposition is +made visible. + +Now as a user, I don't really want to know about how it is +done (in a sense it breaks the abstraction), I just want the +answer. They have provided what the numerical analyst +specialist would want and I don't really think that is +appropriate for a simple standard but maybe I am wrong. Thus +their subprograms have some 10 parameters whereas in my +proposal they are the minimal one or two. For instance their +determinant has eight parameters whereas mine has one. + +In the case of eigenvalues and vectors, they had options to +select just the largest or smallest or all those in a +certain range. No doubt because of timing considerations for +large matrices. + +We also considered other topics which might provide +candidates for a standard. +The trouble with many topics is that techniques are still +evolving and it is unclear that a unique worthy proposal +would be easy. + +Curve and surface fitting. There is lots of choice here. +Cubic splines are fashionable. Chebychev polynolmials are a +long established technique. But both require significant +user knowledge and it is easy to misuse them. + +Maximization/minimization. Lots of options here and real +problems have constraints. The techniques are heuristic and +still evolving so this looks really hard and can be +eliminated. + +Partial differential equations seem too much for the casual +user. In any event there is a huge variety of parameters and +constraints. + +Ordinary differential equations and quadrature (integration) +are perhaps more promising. Again there are quite a lot of +options. But this might be worth exploring. + +Roots of general non-linear equations. An evolving subject +still. Very heuristic and prone to chaotic difficulties. + +Roots of polynomial equations. This seemed more likely . It +appears that the subject is static and a well-established +technique devised by Laguerre is typically used. (But it is +outside my domain of knowledge.) + +I have also contemplated my 20 year old HP pocket +calculator. I had a vague feeling that Ada should be able to +do what it can do. It can do the following: + +The usual trigonometric and hyperbolic functions. + +Real and complex matrices, linear equations, inversion and +determinants (reveals the LU decomposition). It does not do +eigenvalues. + +Random number generation. A whole heap of statistical stuff. + +Integration (quadrature) of a function of one variable. + +Solution of a non-linear equation in one variable. + +So where do we go from here? It is a slippery slope and I +fear that I am not an expert. + +**************************************************************** +

Questions? Ask the ACAA Technical Agent