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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,ab436e97ff76821f X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Received: by 10.66.84.41 with SMTP id v9mr1276861pay.43.1343569198671; Sun, 29 Jul 2012 06:39:58 -0700 (PDT) Path: c10ni49000pbw.0!nntp.google.com!news2.google.com!postnews.google.com!d6g2000pbt.googlegroups.com!not-for-mail From: Robin Vowels Newsgroups: comp.lang.ada,comp.lang.pl1 Subject: Re: Does Ada need elemental functions to make it suitable for scientific work? Date: Sun, 29 Jul 2012 06:39:58 -0700 (PDT) Organization: http://groups.google.com Message-ID: <0a4d8d8d-834b-4851-9a3a-f7867e779ebe@d6g2000pbt.googlegroups.com> References: <18c77859-480c-41f5-bb1c-df7ad067f4f3@googlegroups.com> <637de084-0e71-4077-a1c5-fc4200cad3cf@googlegroups.com> <1wqz1wr8wto96.1fwpyip6ct1z9.dlg@40tude.net> <3e3487d1-c6e8-47d2-b75b-f9aedafed4ff@googlegroups.com> NNTP-Posting-Host: 123.2.70.40 Mime-Version: 1.0 X-Trace: posting.google.com 1343569198 19843 127.0.0.1 (29 Jul 2012 13:39:58 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sun, 29 Jul 2012 13:39:58 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: d6g2000pbt.googlegroups.com; posting-host=123.2.70.40; posting-account=S_MdrwoAAAD7T2pxG2e393dk6y0tc0Le User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0.1,gzip(gfe) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2012-07-29T06:39:58-07:00 List-Id: On Jul 12, 5:12=A0pm, "Dmitry A. Kazakov" wrote: > On Wed, 11 Jul 2012 17:31:33 -0700 (PDT), rrrrrrr@gmail.com wrote: > >> It is ill-defined. E.g. exp(A), where A is a matrix. Is exp(A) a matri= x of > >> exponents or exponent matrix? > > > In languages that provide whole array operations (i.e., > > element-by-element operations -- such as PL/I and Fortran), > > it is the former. > > > BTW., I think you mean matrix exponential, which is a far > > less common operation than exp(A) or e**A(i) for i =3D 1 to n, > > In linear algebra, provided matrices mean matrices, per-element operation > just does not make any sense. Element-by-element operations are required routinely in numerical work. They have been demanded and have been available since at least 1955. > Exp(A), as well as power series are fairly > common in spectral analysis. > > > and would be written MATRIX_EXPONENTIAL or some such, > > just as matrix multiplication would be written MATRIX_MULT > > or some such, to distinguish it from the more common > > element-by-element product. > > My FORTRAN and PL/1 are quite rusty, but even these incredibly poor > languages did not define multiplication for matrices that way. PL/I defined multiplication for matrices as an element-by-element product, as I said before. Back then, FORTRAN did not offer such operations on matrices, however it now does, and has done so since Fortran 90. > In fact they > just had no matrices last time I used either. Back then, both PL/I and FORTRAN offered matrices (and still do). For that matter, both offered multi-dimensional arrays (and still do). > I remember one library for sparse matrices in FORTRAN-IV, doing LU > decomposition and other stuff. It was quite fun. The library was in fact > very well-designed, but since FORTRAN-IV lacked even elementary data type= s, FORTRAN always has had elementary data types. > they did all memory management required using INTEGER*4 as an index in on= e > huge REAL*4 array, serving as a memory pool. That's because FORTRAN IV did not have dynamic arrays. PL/I did, of course, from the first compilers in c. 1966.