comp.lang.ada
 help / color / mirror / Atom feed
From: Ada novice <ycalleecharan@gmx.com>
Subject: Re: ANN: Ada 2005 Math Extensions, 20100901 release
Date: Sun, 5 Sep 2010 04:38:14 -0700 (PDT)
Date: 2010-09-05T04:38:14-07:00	[thread overview]
Message-ID: <63159fd1-a53c-4b60-9fff-47fdf8391350@y11g2000yqm.googlegroups.com> (raw)
In-Reply-To: 513c30f4-55f7-49de-8b17-9f932e726f36@d8g2000yqf.googlegroups.com

On Sep 5, 2:32 am, jonathan <johns...@googlemail.com> wrote:
> 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

Did you change the occurrences of the dots in the files :
ada-numerics-generic_arrays.ad(b,s)?

>
> I got around to attaching my suite of test matrices to
> the new LAPACK binding.  

This is exciting news.

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.

Yes I did propose that earlier.


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:

I'm not currently working with so large matrices. It was interesting
to
read how large matrices needed different methods. On a related note,
in
Finite Element Analysis (FEM), usually we end up with sparse matrices.
Does Ada makes provision for such type of matrices? I didn't come
across
other sources mentioning sparse matrices except in Feldman's Software
Construction and Data Structures with Ada 95 textbook.

>
> 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.

Thanks for your efforts.


cheers
YC



  reply	other threads:[~2010-09-05 11:38 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
2010-09-05 11:38             ` Ada novice [this message]
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