From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 47C28BB84 for ; Sun, 21 Sep 2008 19:05:12 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsIEABIc1kjAXQImiGdsb2JhbACBXZFAAQEBFSKhLIFm X-IronPort-AV: E=Sophos;i="4.32,441,1217800800"; d="scan'208";a="17191540" Received: from discorde.inria.fr ([192.93.2.38]) by mail3-smtp-sop.national.inria.fr with ESMTP; 21 Sep 2008 19:05:12 +0200 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m8LH5AM3019072 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Sun, 21 Sep 2008 19:05:11 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArUBAF8b1kjUGypBmmdsb2JhbACBXZFAAQEBAQEICwoHEQOhM4Fm X-IronPort-AV: E=Sophos;i="4.32,441,1217800800"; d="scan'208";a="15192879" Received: from smtp8-g19.free.fr ([212.27.42.65]) by mail2-smtp-roc.national.inria.fr with ESMTP; 21 Sep 2008 19:05:10 +0200 Received: from smtp8-g19.free.fr (localhost [127.0.0.1]) by smtp8-g19.free.fr (Postfix) with ESMTP id B53C832A834 for ; Sun, 21 Sep 2008 19:05:10 +0200 (CEST) Received: from Llea.celt.neu (ron34-3-82-236-236-194.fbx.proxad.net [82.236.236.194]) by smtp8-g19.free.fr (Postfix) with ESMTP id 8C7F232A7D9 for ; Sun, 21 Sep 2008 19:05:10 +0200 (CEST) Message-ID: <48D69AEB.3090603@laposte.net> Date: Sun, 21 Sep 2008 21:05:15 +0200 From: =?ISO-8859-1?Q?Micha=EBl_Gr=FCnewald?= User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.8.1.16) Gecko/20080726 SeaMonkey/1.1.11 MIME-Version: 1.0 To: OCaml users Subject: Re: [Caml-list] thousands of CPU cores References: <200807101500.03079.jon@ffconsultancy.com> <20080710222535.GA5579@annexia.org> <200807110004.54413.jon@ffconsultancy.com> <1215733260.48769e0cda5f9@webmail.in-berlin.de> <1215735426.4876a682f0964@webmail.in-berlin.de> <20080711093032.GA24400@annexia.org> In-Reply-To: <20080711093032.GA24400@annexia.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Miltered: at discorde with ID 48D67EC6.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 gerd:01 stolpmann:01 ocaml:01 quaternions:01 algebra:01 functors:01 cheers:01 wrote:01 caml-list:01 arithmetic:01 arbitrary:02 linear:02 finite:02 btw:03 Richard Jones wrote: > If you also follow the rest of that thread, there's a message passing > OCaml version by Gerd Stolpmann which also scales properly. > > To be honest, matrix multiplication interests me not at all since no > one is hand coding their own matrix multiplication when there are > perfectly good, parallel libraries available for most languages, > including OCaml. Even if you were writing all your applications in C, > you'd still be stupid to hand roll your own matrix multiplication. > Let's have a real example instead. This is true while your are concerned with matrix over the real or complex numbers, but if you want to use arbitrary precision arithmetic, finite fields, quaternions or any ring you like, then you are stuck. Linear algebra is useful in every mathematical field, not just numerical computing. It is not ridiculous at all to code matrix routines in OCaml, since you can use functors to use your routines with any kind of scalar, not just complex numbers. And I already had to code dense matrix operations for these reasons. BTW, if anybody here knows presentations about matrix implementation(s), I would be very glad to know about it. -- Cheers, Michaël