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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c3d0e99376a4f379 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!postnews.google.com!i38g2000prf.googlegroups.com!not-for-mail From: Jerry Newsgroups: comp.lang.ada Subject: Re: Interested about number crunching in Ada Date: Thu, 16 Aug 2007 15:55:06 -0700 Organization: http://groups.google.com Message-ID: <1187304906.573371.64360@i38g2000prf.googlegroups.com> References: <1187235764.909133.180650@19g2000hsx.googlegroups.com> NNTP-Posting-Host: 75.171.43.152 Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-Trace: posting.google.com 1187304907 21139 127.0.0.1 (16 Aug 2007 22:55:07 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 16 Aug 2007 22:55:07 +0000 (UTC) In-Reply-To: <1187235764.909133.180650@19g2000hsx.googlegroups.com> User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/420+ (KHTML, like Gecko, Safari/420) OmniWeb/v607.17,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: i38g2000prf.googlegroups.com; posting-host=75.171.43.152; posting-account=ps2QrAMAAAA6_jCuRt2JEIpn5Otqf_w0 Xref: g2news2.google.com comp.lang.ada:1465 Date: 2007-08-16T15:55:06-07:00 List-Id: On Aug 15, 8:42 pm, holst wrote: > 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. The new numerical aspects of Ada (Annex G.3) are excellent, providing a number of types and function overloads. The new facilities are rather basic as far as actual algorithms, but see a very recent discussion regarding linking to BLAS and LAPACK, if your installation doesn't already do that. (It seems that BLAS and LAPACK are quasi- officially recommended --the Ada designers weren't foolish enough to ignore these venerable numerical packages.) More broadly as to the appropriateness of using Ada for numerical work, I personally haven't run across a better solution. I'm a relatively new user of Ada and am stunned at how well it works for numerical work. I have used Fortran, Pascal, Matlab/Octave, Mathematica, Maple, Igor Pro, and some others too obscure to mention or remember. Ada tops them all for programming. (Mathematica, Maple, Igor Pro e.g. have many other reasons to recommend them.) What I (and many others) have done is to write some overloaded procs and functions to handle vector-matrix things and whatever other structures your work requires (For example, vectors and matrices of transfer functions for signal processing and control systems.) With a few overloaded functions, you can write concise yet clear code that Matlab aspires to but doesn't entirely succeed at. And you can do better than Matlab thanks to Ada's strong typing. If you have a vector x, Matlob will not allow you to compute 1.0/x but Ada will (with an overload). I'd be glad to share my collection of overloads that allow mixing arithmetic between Integers, Long_Floats, Complex, and real and complex vectors and matrices. I know that there are a lot of combinations to fully flesh out all of these, but I've found that not all are required; and if I run across one that I don't have yet, it's just a couple of minutes to write it. Jerry