comp.lang.ada
 help / color / mirror / Atom feed
From: "Nasser Abbasi" <nma@12000.org>
Subject: Re: Interested about number crunching in Ada
Date: Wed, 15 Aug 2007 23:43:02 -0700
Date: 2007-08-15T23:43:02-07:00	[thread overview]
Message-ID: <ZlSwi.47515$xx1.37834@newsfe09.phx> (raw)
In-Reply-To: 1187235764.909133.180650@19g2000hsx.googlegroups.com


"holst" <henrikholst80@gmail.com> wrote in message 
news:1187235764.909133.180650@19g2000hsx.googlegroups.com...
> Hi!
>
> I have stumbled upon Ada95 and I have found that a recent addition was
> made to the language standard [1]. An addition I, a student of
> scientific computing, are highly interested in.
>
> What is the best online resource to get into the core of the new high
> performance vector and matrix features? Does there exist some book
> (yet) which covers this area? Or any other field which might be
> related to me (concurrency, Fortran bindings etc.)? I know C and
> Pascal good and I have a good start into Fortran 90/95.
>
> I applicate your time and help. I hope that, with a push in the right
> direction I will be a productive "Ada numerics hacker" in a near
> future. :-)
>
> [1] http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/AI-00296.TXT
>
> --
> Henrik Holst, Sweden
> http://www.nada.kth.se/~holst/contact.shtml
> Number of productive hours in C++: <zero> of <too many>
>

I am also interested in this subject. Check Numeric Annex for Ada 2005
http://www.adaic.org/standards/05rat/html/Rat-7-6.html

It seems to have support for Vector and Matrix objects, and the following 
operations: (there is a version for real and complex)

function Unit_Vector
function Transpose
function Solve
function Inverse
function Determinant
function Eigenvalues
procedure Eigensystem
function Unit_Matrix

This is an old paper called "Can Ada replace FORTRAN for numerical 
computation?" published in 1981 !
http://portal.acm.org/citation.cfm?id=954262.954264

Dr Dr. Martin J. Stift, uses Ada for Astrophysics
http://archive.adaic.com/docs/flyers/astro.html

Here is some Finite elements code in Ada
http://www.csee.umbc.edu/~squire/cs455_l32.html

Just few days ago, I also wrote short Ada program (even though my Ada is 
VERY dusty as I use Mathematica mostly these days and also Matlab and 
Maple), I wrote an Ada program to solve a simple second order ode using 
finite elements using the new Ada2005 Solve function. I wrote the same code 
in Mathematica and then in Ada (and also in Maple).  Item #6 on this page 
below. It worked great and was very fast as expected. One nice thing about 
Ada as always, is that once one gets a clean compile, most likely than not, 
the code will run without problems. With other languages/systems, this is 
not the case. With the Ada program, once I get a clean compile, that was it. 
Using the other systems, I had to spend more time debugging run time errors 
and go back fix the code, and run again and fix errors, etc... So the Ada 
program was completed much faster than the others at the end.

http://12000.org/my_courses/FULLERTON_COURSES/summer_2007/Math_503/HW/HW12/HW12_computer_part/index.htm

If you google around, you'll find some Ada package for matrix/vector 
operations and more scientific code in Ada (such as fast Fourier transforms, 
etc..)

I think Ada as a language is great for numerical and scientific programming. 
These were number of discussion on this vs Fortran on the net, check this 
one thread: (in which yours truly is guilty of starting :)
http://groups.google.com/group/comp.lang.ada/browse_thread/thread/c4cb2c432feebd9d/98f0d411bf1cf408?lnk=st&q=Ada+Fortran+nasser&rnum=1&hl=en#98f0d411bf1cf408

I just do not think the current Ada 2005 numeric annex contain enough 
functionality.

One can always link to BLAS and linpack/lapack libraries (which are written 
in Fortran), I just googled around for ada binding to blas, here is link
http://topo.math.u-psud.fr/~sands/Programs/BLAS/index.html

Here is a question I have: Why is there no standard binding to all of these 
libraries (blas, linpack, lapack) as part of the standard? or is there? Will 
Ada numeric annex be extended to do that? I think the current Numeric annex 
is too small.

I have no idea why any one would choose C or C++ over Ada for numerical 
work.  It is simply beyond my understanding.

I can understand one choosing Fortran over Ada, simply due to the inertia 
that Fortran has in this domain, and the huge amount of existing Fortran 
code out there. But from a language point of view, I think Ada is definitely 
better for numerical work than Fortran, but having a better language is not 
enough in the real world.

Nasser





  reply	other threads:[~2007-08-16  6:43 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-16  3:42 Interested about number crunching in Ada holst
2007-08-16  6:43 ` Nasser Abbasi [this message]
2007-08-16  9:16   ` Colin Paul Gloster
2007-08-17  9:43   ` Jerry
2007-08-16 11:17 ` anon
2007-08-16 18:59   ` Gautier
2007-08-17  4:44     ` anon
2007-08-17  7:24       ` Gautier
2007-08-17 23:42         ` anon
2007-08-18 11:22           ` Gautier
2007-08-18 11:40           ` Markus E.L. 2
2007-08-20 22:31             ` To Markus anon
2007-08-17  8:23       ` Interested about number crunching in Ada Markus E.L. 2
2007-08-17  9:01       ` Stuart
2007-08-17  9:39         ` Martin Krischik
2007-08-18  0:47         ` anon
2007-08-18 11:58           ` Markus E.L. 2
2007-08-19  6:43             ` anon
2007-08-19 16:14               ` Markus E.L. 2
2007-08-19 16:23               ` Markus E.L. 2
2007-08-20  8:46           ` Stuart
2007-08-21  1:06             ` Randy Brukardt
2007-08-21  1:28             ` Gary Scott
2007-08-21  8:14               ` History of Ada - was " Stuart
2007-08-22  7:13                 ` anon
2007-08-23 11:24                   ` Stuart
2007-08-23 21:51                     ` Gautier
2007-08-24 13:04                       ` History of Ada - and about the NYU DOS version anon
2007-08-24 16:25                         ` Georg Bauhaus
2007-08-25 11:49                           ` History of Ada - to answer your question anon
2007-11-02 13:51                         ` History of Ada - and about the NYU DOS version adaworks
2007-08-17  1:24   ` Interested about number crunching in Ada Gary Scott
2007-08-16 22:55 ` Jerry
2007-08-17  9:21 ` Nasser Abbasi
2007-08-17  9:52   ` Jerry
2007-08-17 14:35     ` Gautier
replies disabled

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