From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12835 invoked by alias); 18 Oct 2002 17:43:48 -0000 Mailing-List: contact gsl-discuss-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gsl-discuss-owner@sources.redhat.com Received: (qmail 12821 invoked from network); 18 Oct 2002 17:43:46 -0000 Received: from unknown (HELO mail.phy.duke.edu) (152.3.182.2) by sources.redhat.com with SMTP; 18 Oct 2002 17:43:46 -0000 Received: from ganesh.phy.duke.edu (ganesh.phy.duke.edu [152.3.182.51]) by mail.phy.duke.edu (Postfix) with ESMTP id 3F85F30424; Fri, 18 Oct 2002 13:43:46 -0400 (EDT) Received: by ganesh.phy.duke.edu (Postfix, from userid 1337) id 8816637770; Fri, 18 Oct 2002 13:43:45 -0400 (EDT) Date: Fri, 18 Oct 2002 10:43:00 -0000 From: "Robert G. Brown" X-X-Sender: rgb@localhost.localdomain To: Alberto =?iso-8859-1?Q?Sim=F5es=2FEPL?= Cc: GSL LIST Subject: Re: GSL, blas and Mathematica In-Reply-To: <20021018172750.GA12027@alfarrabio.di.uminho.pt> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN Content-Transfer-Encoding: QUOTED-PRINTABLE X-SW-Source: 2002-q4/txt/msg00047.txt.bz2 On Fri, 18 Oct 2002, Alberto [iso-8859-1] Sim=F5es/EPL wrote: >=20 > Hi. >=20 > I'm developing a mathematica alike program for linux (GSL) named=20 > numexp (numexp.sf.net). At the moment, it is only a numeric processor > (not algebraic functionalities at all (almost)). >=20 > We are using GSL to implement a bunch of functions. I've read something > about blas, but I don't have certain I understood it... is it realted > to algebraic processment? If not, where can I get good documentation > on how to implement this hard stuff? BLAS stands for Basic Linear Algebra System -- it is an API for low-level routines that perform "atomic" linear algebra functions, from which more complex linear algebra operations can be build. In order to proceed optimally efficiently, a lot of those operations need to be tuned (both blocksize and algorithm) to the operational hardware on the system so that things like cache hits and fetch times can be optimized. This is the basis for the ATLAS (automatically tuned linear algebra system) which basically builds a special BLAS library that can be used in LAPACK (a standard library for higher order linear algebra calls) or GSL (which already lets you specify a blas library IIRC) and other things. A good place to learn about this sort of stuff online is at the oak ridge netlib repository. Jack Dongarra (onetime author of PVM) is also one of the co-parents of ATLAS (written mostly by his student/colleague Clint Whaley), and there is a lot of documentation there on BLAS and linear algebra libraries in general. This group is Very Bright and has been for some time. Netlib (netlib.org, follow link to browse the repository) has a blas link with all sorts of stuff -- references, fortran sources, and more. Ditto atlas. Ditto, in fact, a ton of stuff -- netlib has been around long enough that I've accessed it with ftp, gopher, its own custom interface, and the web. An unfortunate bias towards fortran libraries, perhaps, but still a lovely place to look for certain things. I for one would love to see a clone of mathematica good enough to completely replace it, built on top of the GSL. Good luck. I think a lot of mathematica (and formac, maple, and the various algebraic manipulation languages over the ages) comes down to token parsing and lexical analysis, though, more than application of numerical algorithms -- they are in a sense the "easy" part. rgb >=20 > Thanks > Alberto > --=20 > Departamento de Informatica - Universidade do Minho >=20 > "The C Programming Language -- A language which combines the > flexibility of assembly language with the power of assembly language." >=20 Robert G. Brown http://www.phy.duke.edu/~rgb/ Duke University Dept. of Physics, Box 90305 Durham, N.C. 27708-0305 Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb@phy.duke.edu