From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Larger matrices
Date: Fri, 8 Aug 2008 16:36:07 +0200
Date: 2008-08-08T16:36:07+02:00 [thread overview]
Message-ID: <1d0ueuhuo8z2e.ewzvifms2lau$.dlg@40tude.net> (raw)
In-Reply-To: 489c542e$0$12944$9b4e6d93@newsspool2.arcor-online.net
On Fri, 08 Aug 2008 16:11:57 +0200, Georg Bauhaus wrote:
> Dmitry A. Kazakov schrieb:
>> On Fri, 08 Aug 2008 13:35:04 +0200, Georg Bauhaus wrote:
>
>>> Ada is a systems programming language.
>
>> What?! Ada is a universal purpose language.
>
> Assembly language is universal,
It is Turing complete.
> too, as are Lisp and Prolog with FFI,
> and so on.
They are not. Lisp is a list-oriented language, Prolog is a logical
inference language.
> 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. It has to have abstractions close to ones typical for "systems."
There is no obvious connection between these. For example, Ada offers the
notion of protected action in order represent a systems-domain specific
concept of interrupt. It is a fairly high-level abstraction.
>> But an efficient or hardware-close implementation was certainly not the
>> concern of the Ada.Numerics.Generic_Real_Arrays design. Otherwise it would
>> not use functions at all.
>
> What hardware?
Vector processors.
> 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. Which is the point. Ada is not low-level, and its
design goals are not focused solely on efficiency, but on usability,
portability and maintainability.
> 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.
> A production system may require increased
> efficiency. At that stage you have to pay attention to
> the tiny bits, possibly redesigning the algorithm.
So, what was prototyped then? Numerics is all about algorithms. Changing
matrix representation has a huge impact on the implementation of the
operations. Technically it means that you have to re-write everything.
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.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2008-08-08 14:36 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 [this message]
2008-08-08 15:40 ` Georg Bauhaus
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