From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,31c8255073b2d349 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!postnews.google.com!y11g2000yqm.googlegroups.com!not-for-mail From: Ada novice Newsgroups: comp.lang.ada Subject: Re: ANN: Ada 2005 Math Extensions, 20100901 release Date: Sun, 5 Sep 2010 04:38:14 -0700 (PDT) Organization: http://groups.google.com Message-ID: <63159fd1-a53c-4b60-9fff-47fdf8391350@y11g2000yqm.googlegroups.com> References: <889c1e51-cd27-4e7e-b5ae-b9e2c1c5b644@u6g2000yqh.googlegroups.com> <5c42e8bf-b12d-4c92-9eb6-5b056832352a@l20g2000yqe.googlegroups.com> <513c30f4-55f7-49de-8b17-9f932e726f36@d8g2000yqf.googlegroups.com> NNTP-Posting-Host: 193.11.22.91 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1283686694 18192 127.0.0.1 (5 Sep 2010 11:38:14 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sun, 5 Sep 2010 11:38:14 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: y11g2000yqm.googlegroups.com; posting-host=193.11.22.91; posting-account=Rr9I-QoAAACS-nOzpA-mGxtAlZ46Nb6I User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:13952 Date: 2010-09-05T04:38:14-07:00 List-Id: On Sep 5, 2:32=A0am, jonathan wrote: > On Sep 4, 12:12=A0pm, Ada novice wrote: > > > I tried compiling test_extensions.adb but I get an error message: > > > =A0 =A0 20. with Ada.Numerics.Generic_Complex_Arrays; > > =A0 =A0 21. with Ada.Numerics.Generic_Arrays; > > =A0 =A0 =A0 =A0 =A0 =A0 =A0| > > =A0 =A0 =A0 =A0 >>> "Ada.Numerics.Generic_Arrays" is not a predefined l= ibrary > > 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. =A0 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: > =A0 =A0A*v =3D 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. =A0It worked fine on small matrices > (N x N =3D 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. =A0The LAPACK test procedure is identical > to the Peters_Eigen test procedure. =A0The LAPACK run > took 550 seconds on the 60 matrices. Peters_Eigen took > 676 seconds. > > J. Thanks for your efforts. cheers YC