From: Ken Thomas on
On Apr 18, 5:30 am, Gautier <gaut...(a)fakeaddress.nil> wrote:
> amado.al...(a)gmail.com:
>
> > The eigenvector solvers in Ada.Numerics.Generic_Real_Arrays require
> > *symmetric* matrices! This is extremely silly. The world is full of
> > nonsymmetric matrices. I've got a bunch of them to solve. Some very
> > large, e.g. 1000x1000. Suggestions welcome. Thanks a lot.
>
> As other people answered, solving a symmetric matrix is another science than a
> asymmetric one. But also when the matrices get big, other storages (than array
> (Integer range <>, Integer range <>) of...) can be a better solution, like band
> or sparse matrices. In some areas a 10_000 x 10_000 matrix is a toy one, for
> testing small examples (e.g. solving a physics equation on a 100x100 grid)....
> ______________________________________________________________
> Gautier         --http://www.mysunrise.ch/users/gdm/index.htm
> Ada programming --http://www.mysunrise.ch/users/gdm/gsoft.htm
>
> NB: For a direct answer, e-mail address on the Web site!

What you can do is write an interface to the LAPACK routine _GEEV (or
similar); it means needing an installation of LAPACK and BLAS. But if
you are using Generic_Real_Arrays you will need to link up with these
libraries anyway.

Duncan Sands produced bindings to BLAS and I extended some to cover
the LAPACK material I needed. They are not complete just created on
demand. I could send these if they would help.

Ada is very good in the way it can define interfaces to numerical
software.



From: amado.alves on
Thanks all for the excellent replies.

Incidentally, I found out that I do *not* have Generic_Real_Arrays on
my GNAT GPL 2006 on Mac OS X 10.4 anyway, so now I have the added
problem of installing GPL 2007 in the hopes... (I have other problems
that I can solve with the Solve function, and eventually I may
reformat the eigenproblem likewise, or work with two symmetric
matrices in lieu of one nonsymmetric).

Or else I shall try the BLAS or another tool suggested here.

For the record, the matrices are of real numbers, they represent
hypertexts, and normally the large matrices are sparse.

Thanks a lot.
From: amado.alves on
> "Moreover, the eigenvalues and vectors of
> nonsymmetric, non-Hermitian matrices have been removed because of
> potential
> computational difficulties." (Barnes)
>
> I have no idea what all this means, but it doesn't sound silly to me. (Adam)

Continues to sound silly to me (ok maybe not extremely;-) Yes for
certain matrices the eigenproblem is hard, but there are methods to
solve it satisfactorily for other certain matrices including large
ones e.g. the "power method."

And computing the determinant can also be very hard but the function
is there! To use with caution!--which approach should extend to eigen.

Hey, this reminds me, I think there is a way to solve eigen using
determinants, so problem solved... if I had the library in the first
place (GPL 2007 does not seem to have it)... arg!"#$%&/()=
From: amado.alves on
> Duncan Sands produced bindings to BLAS and I extended some to cover
> the LAPACK material I needed. They are not complete  just created on
> demand. I could send these if they would help.

You're my saviour! No need to send material, but I'd really appreciate
pointers to the required material and how to edit it and link in on
Mac Os X. I've got a file here named "libLAPACK.dylib" shouldn't that
be it? How do I link? I tried

gnatmake example1 -l/Developer/SDKs/MacOSX10.4u.sdk/System/Library/
Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/
Versions/A/libLAPACK.dylib

But still got:

Undefined symbols:
_isamax_
_sasum_
_saxpy_
...

Thanks.
From: Jerry on
On Apr 18, 8:19 am, amado.al...(a)gmail.com wrote:
> Thanks all for the excellent replies.
>
> Incidentally, I found out that I do *not* have Generic_Real_Arrays on
> my GNAT GPL 2006 on Mac OS X 10.4 anyway, so now I have the added
> problem of installing GPL 2007 in the hopes... (I have other problems
> that I can solve with the Solve function, and eventually I may
> reformat the eigenproblem likewise, or work with two symmetric
> matrices in lieu of one nonsymmetric).
>
> Or else I shall try the BLAS or another tool suggested here.
>
> For the record, the matrices are of real numbers, they represent
> hypertexts, and normally the large matrices are sparse.
>
> Thanks a lot.

By the way, you may encounter problems getting the Vector-Matrix
(Annex G.3) stuff to working on OS X. The problem has been worked out
but is not yet part of the installer. I recommend that you check out
macada.org; join the list or just check the archives for April 15,
2008, where this was most recently discussed.

Jerry