On 7/31/2011 9:41 AM, Robert Dodier wrote:
> Yup, that's a good list.
> I've just taken one step -- maybe someone else wants to keep going.
>
> best
>
> Robert Dodier
>
>
I've thought about this some more, and I think it would be too messy to
introduce CL complex in any central
way in Maxima.
1. The CL notion is of a pair of reals. But Maxima has another real
type, namely bigfloat, which is
not acceptable as part of a CL complex. So the CL notion is inadequate
for even numerical use
in Maxima.
2. The notion of number in Maxima is extended further, to symbols and
symbolic expressions.
The CL complex notation is not adequate for pairs of arbitrary expressions.
3. It might make sense (or, at least, not much difference) to use
internally #c(0 1) instead of $%i.
Input and Output would be modified to show %i as before.
note that in a+b*%i there is no a priori requirement that a and b be
real or real-valued. So
extending CL complex to allow symbolic real and imaginary parts would
not be so great...
realpart(a+b*%i) is not necessarily a . etc.
4, nothing much is gained. Maybe saving a little memory occasionally??
If you want to package complex numbers for operations done in Fortran or
C, that can be done at
that interface, as appropriate.
After further thought, my view is now:
The list I gave in an earlier message should not be construed as a menu
of what to do, but
as a list of reasons that doing it would be so messy as to be a bad
idea. Mathematica has
a Complex number data type and even today it breaks many things to have
it around.
RJF