comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: Larger matrices
Date: Fri, 08 Aug 2008 17:40:16 +0200
Date: 2008-08-08T17:40:17+02:00	[thread overview]
Message-ID: <489c68e1$0$12941$9b4e6d93@newsspool2.arcor-online.net> (raw)
In-Reply-To: <1d0ueuhuo8z2e.ewzvifms2lau$.dlg@40tude.net>

Dmitry A. Kazakov schrieb:

> They are not. Lisp is a list-oriented language, Prolog is a logical
> inference language.

Lisp and Prolog with FFI(!) are not universal? Come on.


>> This notion of "purpose" is not very specific.
>> Let me put is this way: Ada has to be especially good at
>> systems programming, hence it has to be fairly low level.
> 
> Wrong. Where that follows from? Systems programming need not to be
> low-level.

A systems programming language must provide for the low
level.  A language that does not provide for the low level
is not a systems programming language.  Ada has many features
that provide for low level programming.  It lacks a numer of
features used in higher level programming (E.g. function
environments, unbounded numbers, ...).  Systems programming
is not the same as low level programming or high level programming;
rather, the set of objects is typically not as abstract as
some mathematical N-array of numbers.  The set of objects in
a systems programming language is more like a real N-array
of numbers: storage cells of well defined meaning, with just
one layer of abstraction above the storage cells.

>> What hardware?
> 
> Vector processors.

OK, I wasn't aware that the LA packages were made for vector
processors only.


>> Assume data flow hardware, and assume a way
>> to put the function result in the input box of the next processing unit.
>> What now?
> 
> Nothing, Ada.Numerics.Generic_Real_Arrays was not designed in order to
> support this hardware.

Aha?   I see that GNAT delegates to Fortran libraries. Traditionally,
Fortran is certainly an associate of non-PC hardware.


> Which is the point. Ada is not low-level,

Ada is fairly low-level.


>> I don't see how prototyping a hypertext graph algorithm
>> requires a maximally efficient implementation of matrix
>> computations.
> 
> Because of the problem size. Incidence matrices grow as O(n**2), i.e.
> extremely fast.

O(N**2) is not extremely fast; many non-extreme algorithms
are in this class.  The case discussed hits some memory barrier
at n = 5_000 and that's it. We get elaborate array indexing support
in some array programming languages.  If chosing one of those
PLs costs me a constant factor of 10, I get all the indexing
stuff in return, it seems worth the cost during prototyping.



>> A production system may require increased
>> efficiency. At that stage you have to pay attention to
>> the tiny bits, possibly redesigning the algorithm.
> 
> Numerics is all about algorithms.

Numerics is about numbers (or about numeric control, depending).


> This BTW is exactly the problem OP has. He has "prototyped" the thing using
> Ada.Numerics.Generic_Real_Arrays. Now, he faces the problem that the
> prototype does not scale due to stack overflow. The consequence is a need
> in full redesign. Ergo, prototyping was time wasting.

Nice rhetoric logic error.


--
Georg Bauhaus
Y A Time Drain  http://www.9toX.de



  reply	other threads:[~2008-08-08 15:40 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-06 13:32 Larger matrices amado.alves
2008-08-06 14:29 ` Georg Bauhaus
2008-08-06 15:01   ` amado.alves
2008-08-06 17:29     ` amado.alves
2008-08-06 17:58       ` Dmitry A. Kazakov
2008-08-06 18:40         ` amado.alves
2008-08-07  7:44           ` Dmitry A. Kazakov
2008-08-06 18:44       ` Jeffrey R. Carter
2008-08-06 19:12         ` amado.alves
2008-08-06 23:33           ` amado.alves
2008-08-07  3:02             ` Randy Brukardt
2008-08-07  6:30             ` Georg Bauhaus
2008-08-07  8:01               ` amado.alves
2008-08-07  8:55                 ` Egil Høvik
2008-08-07 19:13                 ` Jeffrey R. Carter
2008-08-08  9:59                   ` amado.alves
2008-08-08 10:38                     ` Dmitry A. Kazakov
2008-08-08 11:29                     ` Jean-Pierre Rosen
2008-08-08 13:15                       ` Jeffrey Creem
2008-08-08 13:32                         ` Dmitry A. Kazakov
2008-08-08 11:35                     ` Georg Bauhaus
2008-08-08 12:11                       ` Dmitry A. Kazakov
2008-08-08 14:11                         ` Georg Bauhaus
2008-08-08 14:36                           ` Dmitry A. Kazakov
2008-08-08 15:40                             ` Georg Bauhaus [this message]
2008-08-08 16:37                               ` Dmitry A. Kazakov
2008-08-08 17:37                                 ` Georg Bauhaus
2008-08-08 17:42                                   ` Georg Bauhaus
2008-08-08 19:51                                   ` Dmitry A. Kazakov
2008-08-09  7:44                                     ` Georg Bauhaus
2008-08-09 10:33                                       ` Dmitry A. Kazakov
2008-08-11 11:51                                         ` amado.alves
2008-08-11 13:51                                           ` Peter C. Chapin
2008-08-11 15:37                                             ` amado.alves
2008-08-13 14:03                                           ` John B. Matthews
2008-08-07 11:28             ` johnscpg
2008-08-07 12:35 ` Alex R. Mosteo
2008-08-07 13:40   ` amado.alves
2008-08-07 15:12     ` Alex R. Mosteo
2008-08-07 16:25       ` amado.alves
2008-08-07 18:21         ` amado.alves
replies disabled

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