Maxima Digest, Vol 4, Issue 58 [Why numerics?]



I will try to provide the conventional answers to your questions/assertions.
You may or may not agree with the reasoning, but in fact "steering" an
open-source project is not done by reasoning so much as by what individuals
are willing and able to contribute.

> -----Original Message-----
> From: maxima-bounces at math.utexas.edu [mailto:maxima-
> bounces at math.utexas.edu] On Behalf Of Keith Weinman
> Sent: Friday, December 01, 2006 1:28 AM
> To: maxima at math.utexas.edu
> Subject: Re: [Maxima] Maxima Digest, Vol 4, Issue 58
> 
> Re: Maxima and LAPACK issues
> 
> 1)  Why is this an issue - Numerical computation of Eigensystems etc is
> allready done fairly well with ARPACK etc etc.

The goal of most CAS is to be the single point of contact between the user
(engineer, scientist, mathematician, student) and the computer. Look at how
much effort is put into NON-symbolic computation  [namely numeric,
graphical, data-analysis] in Maple and Mathematica.  Look at the efforts of
people doing Matlab and Mathcad in incorporating symbolic computation in
their products.

> 2)   Maxima should concentrate on Symbolic computations, equation
> manipulation and reduction, tensor forms,  etc etc  - it is, after all,
> a CAS.

Presumably anyone who wants to concentrate on symbolic computations will do
so. (or is already doing so).

> 3)   If you folks really want to support numerical computations it makes
> more sense to improve interfaces to existing libs etc

Yes

>        under tools such as Texmacs etc etc. 
Apparently not convincing.  Texmacs has not taken hold, though I don't know
exactly why. I know why I don't use it. It is inconvenient to load up under
windows, and I have encountered bugs that made it unusable for my purposes.
I do not even recall what bugs they were -- I'd have to look at my old
email.

 If I need to compute
> numerics then I will go first to an established library - I will not use
> Maxima

That is assuming you have access to such a library and you know how to use
it and that the original information you are computing with is numerical.
If the information is generated from symbolic computation you might want a
simple bridge from one to another.  Many users ask questions about reading
and writing numeric data to files. This conversion would be unnecessary if
the CAS were in charge.   Besides which, with a modest amount of work one
can generally load in to a lisp system any library.  The trick is to do it
in such a way that it works for ANY of the several lisp systems and ANY of
the operating systems and ANY of the hardware platforms using one
"conditionalized" file.

>        for any solid number crunching exercise - this is allmost
> cetainly what maxima is not intended for.

The nature of open source (etc) is that anyone is free to use anything for
any purpose.  The original (1966) intentions for Macsyma predated the
world-wide web, the wide-spread use of graphical displays, or even the
internet (ARPAnet). So the original intentions are not much guide.  I'm not
sure how to assert anyone else's intentions as being governing anyone else.

   And since I could not  see
> anybody
>        writing   Lisp solver for large systems of algebraic equations
> (due to better design of other languages in this respect)  the point of
> implementing
>        numerical solvers (even for small systems) in Maxima seems rather
> pointless apart from being a nice programming exercise.

If what you mean is that people have not spent years of their lives writing
programs for Grobner basis computations for Maxima, that is true. It is not
obvious that this is due to better designs of other languages. I would
attribute it in part to (a) people having better ideas of how to spend their
lives, (b) the clear possibility of attaching some other system (e.g.
Singular) to Maxima, should it appear useful, and (c) the reality that the
border between "solvable in reasonable time" and "not solvable" is different
for different systems, but does not matter, since the "not solvable" systems
are easy to encounter, even with the "fastest" system.  Much more
interesting is to figure out how not to reduce your application to such a
problem.
> 
> I really think that it is more useful to concentrate on getting the
> intended functionality in Maxima correct and investing effort there.

Making Maxima correct is certainly a good idea. Sometimes people disagree
about what the correct behavior is.

> What is currently
> in CVS is not bug free and I would hate to see a very usefull tool
> stagnate because its caretakers  have extended the functionality of
> Maxima without having the resources and manpower to
> effective manage and maintain what is allready existing. Without wishing
> to be rude it is better to be a master of a small area than a very poor
> global generalist.

Any time you wish to contribute a program that is master of a small area, it
will probably be happily incorporated into Maxima.  Given the fact that the
whole operation is done by volunteers, it is not even possible to eliminate
wholesale duplication of facilities. For example, rival front ends. There is
no prospect for some authority figure to tell someone that he cannot extend
Maxima but should instead fix bugs. 

I hope this clarifies what (I think) is going on.   Of course I am not an
authority figure either, and so people can disagree with me!

RJF