comp.lang.ada
 help / color / mirror / Atom feed
From: jonathan <johnscpg@googlemail.com>
Subject: Re: ANN: Ada 2005 Math Extensions, 20100901 release
Date: Sat, 4 Sep 2010 17:32:57 -0700 (PDT)
Date: 2010-09-04T17:32:57-07:00	[thread overview]
Message-ID: <513c30f4-55f7-49de-8b17-9f932e726f36@d8g2000yqf.googlegroups.com> (raw)
In-Reply-To: 5c42e8bf-b12d-4c92-9eb6-5b056832352a@l20g2000yqe.googlegroups.com

On Sep 4, 12:12 pm, Ada novice <ycalleecha...@gmx.com> wrote:

> I tried compiling test_extensions.adb but I get an error message:
>
>     20. with Ada.Numerics.Generic_Complex_Arrays;
>     21. with Ada.Numerics.Generic_Arrays;
>              |
>         >>> "Ada.Numerics.Generic_Arrays" is not a predefined library
> unit
>
> ...
> YC

Don't worry, I got the same error message, knew I would
not be smart enough to fix it, and just replaced all
the dots with underscores. Now my version is named
ada_numerics_generic_arrays.adb

I got around to attaching my suite of test matrices to
the new LAPACK binding.  A few rambling observations..
First the good news is that the binding seems to work
the way it's supposed to .. no problems to report there.
This is good news because it is much easier to fill in
missing LAPACK routines now that Simon has shown us how
to do it. In particular I seem to recall that you (YC)
requested a routine for generalized Eigen systems:
   A*v = lambda*B*v
for matrices A and B. That should be easy to add to
the present interface. The not-so-good news is that I
tested Lapack's eigendecomposition for real general
(non-symmetric) matrices, dgeev, and I was surprized
to see it fail catastrophically on 3
or 4 matrices in the test suite, and perform poorly
on another 7 or 8.  It worked fine on small matrices
(N x N = 16 x 16) but degraded rapidly for larger N,
so I don't think I am misinterpreting the test results.
This was so surprizing I dusted off an Ada translation of
the ancient EISPACK hqr2.f I did a while ago. It never
worked very well either, so I decided to throw out the
EISPACK Hessenberg reduction and replace it with one based
on Givens rotations. Now it works correctly on all the
matrices in the test suite. I've tested it up to
2901 x 2901 matrices without problem (it took mere 18.3
hours on 60 matrices). I've always liked Givens rotations!
The package is called Peters_Eigen, (after the original
author) and I put it in a public directory:

http://web.am.qub.ac.uk/users/j.parker/miscellany/eig_stuff/

It's quickly written and lightly tested, but you may want
to play with it... instructions for compiling the test/
demo routine peters_eigen_test_1.adb with gnatmake on the
command line are in the README ... no LAPACK, very easy.
I did a test on 787 x 787 matrices comparing LAPACK with
Peters_Eigen. Results are in the file bench1.txt in the
public directory.  The LAPACK test procedure is identical
to the Peters_Eigen test procedure.  The LAPACK run
took 550 seconds on the 60 matrices. Peters_Eigen took
676 seconds.

J.





  parent reply	other threads:[~2010-09-05  0:32 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-01 20:13 ANN: Ada 2005 Math Extensions, 20100901 release Simon Wright
2010-09-02 15:40 ` Ada novice
2010-09-02 22:12   ` jonathan
2010-09-03  2:08     ` John B. Matthews
2010-09-03  5:58       ` Simon Wright
2010-09-03 13:48         ` John B. Matthews
2010-09-03 23:32       ` jonathan
2010-09-04 11:12         ` Ada novice
2010-09-04 15:23           ` Simon Wright
2010-09-04 17:03             ` Simon Wright
2010-09-04 17:03             ` Ada novice
2010-09-04 18:19               ` Simon Wright
2010-09-05  0:32           ` jonathan [this message]
2010-09-05 11:38             ` Ada novice
2010-09-07 16:01               ` jonathan
2010-09-07 17:16                 ` Nasser M. Abbasi
2010-09-06 19:49             ` Simon Wright
2010-09-06 21:04               ` jonathan
2010-09-07  7:45               ` Ada novice
2010-09-07 12:45                 ` sjw
2010-09-22 11:50               ` Ada novice
2010-09-22 12:08                 ` AdaMagica
2010-09-22 12:49                   ` Ada novice
2010-09-23 20:26                 ` Simon Wright
2010-09-24 10:18                   ` Ada novice
2010-09-28 20:46                     ` Ada novice
2010-10-02 18:29                       ` Simon Wright
2010-10-02 20:51                         ` Ada novice
2010-10-02 22:27                           ` Nasser M. Abbasi
2010-10-03 11:14                             ` Brian Drummond
2010-10-04 19:17                             ` Simon Wright
2010-09-07 12:56             ` sjw
2010-09-07 15:51               ` jonathan
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox