LAPACK with maxima



Hi Ray,
  Here is the output of an attempt to load lapack on a Fedora Core 4
  system.

Thanks for working on the port.

-sen

(%i4) build_info();

Maxima version: 5.11.0
Maxima build date: 1:31 12/24/2006
host type: i686-pc-linux-gnu
lisp-implementation-type: CMU Common Lisp
lisp-implementation-version: 19c Fedora Extras release 4.fc4 (19C)

(%o4)
(%i5) load("lapack");
; Compilation aborted after 0:00:00.

; Compilation unit aborted.


; Compilation unit aborted.


; Compilation unit aborted.


Load failed for /usr/local/src/maxima/share/lapack/load-lapack.lisp
  -- an error.  To debug this try debugmode(true);







On Sun, 24 Dec 2006, Raymond Toy wrote:

> Valery Pipin wrote:
>> Dear Ray,
>>
>> Raymond Toy wrote:
>>
>>> Daniel Lakeland wrote:
>>>
>>>> On Fri, Dec 22, 2006 at 01:24:37PM -0500, Raymond Toy wrote:
>>>>
>>>>> Raymond Toy wrote:
>>>>>
>>>>>> As mentioned before in another thread, maxima lacks numerical
>>>>>> computation of eigenvalues and eigenvectors.
>>>>>>
>>>>> I have this basically working and roughly integrated with maxima.  Is
>>>>> any one interested in this?
>>>>>
>>>> I am sure if it were available people would find good uses for it.
>>>>
>>> It's just very big, that's all.  I haven't and don't plan on creating
>>> interfaces to all the functions.  Eigenvalue/eigenvector and SVD seem
>>> useful, so I've done those.
>>>
>>> Perhaps it can be a share or contrib package, but I'm not even sure it
>>> should be checked into maxima at all.
>>>
>>>
>> Could you please put  it to some public place.
> You can find a copy at http://common-lisp.net/~rtoy/lapack-maxima.tar.bz2.
>
> It's not in the best shape but it should be usable.  To install, cd to
> the share directory and untar this file.  You'll get an lapack directory
> that contains everything.  You'll have to add share/lapack to maxima's
> file search path.
>
> Once you've done that, you should be able to do load("lapack");  This
> will compile and load up all of lapack (that I've converted so far).
> This may take some time.
>
> Once that's done, you have direct access to dgeev and dgesvd.  dgeev
> takes 1 arg and 2 optional args.  The first arg is a maxima matrix.  If
> the second arg is true, the right eigenvectors are returned.  If the
> third arg is true, the left eigenvectors are returned.  The output is a
> list of 3 items:  a list of the eigenvalues, the matrix of right
> eigenvectors, and the matrix of left eigenvectors, if selected.
>
> For dgesvd, there are 3 args.  The first is the matrix.  If the second
> arg is true, then U matrix is returned.  If the third arg is true, then
> V^T is returned, where A = U * S * V^T.  A list is returned consisting
> of a list of the diagonal elements of S, the matrix U, and the matrix V^T.
>
> There are probably bugs here, but it's a start.
>
> Ray
> _______________________________________________
> 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                |
  ---------------------------------------------------------------------------