Why I think lapack matrices should not be converted to list-of-lists.



This brings up another question.

Is it reasonable to set some kind of switch, maybe at compile time, so
that some routines loaded in can be run in a given preset precision?

Perhaps there could be an option to create two "maxima" packages. One
as it now is, and one where all computations in certain routines can
be run with a preset precision.  Initially, the user would be responsible for
conversion problems.

I realize that this might be of low priority for now, but it is just
an idea.

-sen



at On Wed, 3 Jan 2007, sen1 at math.msu.edu wrote:

> If it is not too silly, I think it would be good to have both floats
> and bigfloats supported, perhaps in separate packages. It might take
> a lot longer to run, but, in some cases, the user might be willing to wait.
>
>  There are a number of applications of moderate size, say matrices of
>   order up to 500x500 where knowing the bigfloat answers might be
>   useful.
>
> -sen
>
>
>   On Wed, 3 Jan 2007, Richard Fateman wrote:
>
>>
>>
>>> -----Original Message-----
>>> From: maxima-bounces at math.utexas.edu [mailto:maxima-
>>> bounces at math.utexas.edu] On Behalf Of Raymond Toy
>> ....>
>>>     Robert> I think the Lisp arrays should be copied back into Maxima
>>> matrices.
>>>
>>
>>
>> Just to point out what may help inform this discussion:
>>
>> It is not at all that hard -- and in fact is done in Mathematica, I believe
>> -- to support another type of matrix (or more...). Namely large numerical
>> matrices are stored in Mathematica NOT at lists of lists. This makes it
>> possible to mimic  programs like matlab at full speed (in fact, as fast as
>> matlab or faster).
>>
>> A full commitment to numerical matrix computation would provide the full
>> complement of representation possibilities, including triangular,
>> tridiagonal, symmetric, sparse, ...  double, complex
>>
>> I suggest the following:
>>
>> (a) a new maxima "head" or "operator"  which would be (say) ddmatrix for
>> dense matrix of real double floats, e.g.  ((ddmatrix 10 20 simp) <a lisp
>> matrix compatible with C>)
>> (b) display programs for this. Naturally it would be unusual to see ALL of a
>> large matrix in a 2-D display, since the typical entry would itself take 16+
>> character spaces.
>> (c) setting and accessing functions ... i.e.  a[p,q] as a value and a[p,q]:
>> ...
>>
>> (d) conversion to and from ddmatrix to list-of-lists.
>>
>>
>> Note that (d) at least must be written anyway.
>>
>>
>> Also some policy that might automatically convert to a ddmatrix --when
>> possible-- for the first use of a matrix in lapack functions etc,  and
>> automatic conversion to a list-of-lists when necessary by setting a location
>> to a symbol.
>>
>> What is the payoff, since conversion is in any case linear time and the
>> lapack stuff is quadratic or worse?  Well, the overhead of converting each
>> matrix repeatedly inside a loop or even inside a single matrix expression
>> like A.B.transpose(A) ... would be painful.
>>
>> And if you want Maxima to compete head-on with Matlab, you can do it this
>> way.
>>
>> _______________________________________________
>> Maxima mailing list
>> Maxima at math.utexas.edu
>> http://www.math.utexas.edu/mailman/listinfo/maxima
>>
>
>

-- 
  ---------------------------------------------------------------------------
  | Sheldon E. Newhouse            |    e-mail: sen1 at math.msu.edu           |
  | Mathematics Department         |       				   |
  | Michigan State University      | telephone: 517-355-9684                |
  | E. Lansing, MI 48824-1027 USA  |       FAX: 517-432-1562                |
  ---------------------------------------------------------------------------