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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,80532c203ced41ef X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!193.201.147.78.MISMATCH!feeder.news-service.com!94.75.214.39.MISMATCH!aioe.org!.POSTED!not-for-mail From: "Nasser M. Abbasi" Newsgroups: comp.lang.ada Subject: Re: Ann: Mathpaqs, release Feb. 2011 Date: Fri, 25 Feb 2011 16:21:17 -0800 Organization: Aioe.org NNTP Server Message-ID: References: <838f49da-9a83-49d1-b42e-64b45f9b2917@x13g2000vbe.googlegroups.com> <1ib2wlicecaim$.1o25nuvllws3i.dlg@40tude.net> <1raralz4504m2$.1mwiu22cgxle0.dlg@40tude.net> <46b2df60-5b87-44f3-8c2d-22b830749c50@y31g2000prd.googlegroups.com> Reply-To: nma@12000.org NNTP-Posting-Host: tUYQ4Ty9mMw9Pdc8TJRFQA.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 X-Notice: Filtered by postfilter v. 0.8.2 Xref: g2news2.google.com comp.lang.ada:18576 Date: 2011-02-25T16:21:17-08:00 List-Id: On 2/25/2011 1:09 PM, Simon Wright wrote: > "comp.lang.php" writes: > >> A good method is UMFPACK >> http://www.cise.ufl.edu/research/sparse/umfpack/ , it is written in C >> and Ada bindings are possible. > > Very interesting. > > I'm wondering whether -- in the spirit of competition -- to have a go at > including a binding in Ada 2005 Math extensions, even though it's > somewhat outside the scope as I'd seen it. > > I can see a problem writing a general binding for code like this > (umf_solve.h): > > GLOBAL Int UMF_solve > ( > Int sys, > const Int Ap [ ], > const Int Ai [ ], > const double Ax [ ], > double Xx [ ], > const double Bx [ ], > #ifdef COMPLEX > const double Az [ ], > double Xz [ ], > const double Bz [ ], > #endif > NumericType *Numeric, > Int irstep, > double Info [UMFPACK_INFO], > Int Pattern [ ], > double SolveWork [ ] > ) ; Someone more skilled than me, and with time, can probably implement the whole thing in just Ada (the matrix storage, and the solver). There are few standard formats for sparse storage that are known, wiki describes them, here I found an intel page which also describes storage in more details http://software.intel.com/sites/products/documentation/hpc/mkl/webhelp/appendices/mkl_appA_SMSF.html Ada is good language, but what is important, is not how good the language is, but what you can do with it. I'd love to use Ada for my numerical projects at school, but every time I try, I find it is missing things I need, so I give up, and go back to using other systems, even though those do not produce robust software as would be with Ada, but at least, I can get the HW done with them, even if it takes longer to debug things. Looking at many languages out there, they all now have huge amount of numerical libraries now, all written in that language: Java, Python, C/C++, Fortran, etc... I am actually now thinking of using Java for numerical work. At least Java is closer to Ada in terms of having a better typing system than say C/C++ family. The New modern Fortran looks to me so messed up and convoluted. They threw so many things to it, they broke it. When it comes to Ada, which is probably the best language to write large numerical software in due to its strong typing and robustness, there is so little numerical software and libraries for it. --Nasser