[plt-scheme] PLanet should indicate which PLT version is required

From: Doug Williams (m.douglas.williams at gmail.com)
Date: Sun Mar 2 11:10:56 EST 2008

Thanks, Noel.  I'll look it over.

I'm also more inclined toward using a uniform representation for arrays of
arbitrary dimensionality - as you did.

I would use numpy's idea of 'broadcasting' to unify the shape of the arrays
to solve some of the latter problems:

"... the first rule of broadcasting is that if all input arrays do not have
the same number of dimensions, then a '1' will be repeatedly pre-pended to
the shapes of the smaller arrays until all the arrays have the same number
of dimensions.  The second rule of broadcasting ensures that arrays with a
size of 1 along a particular dimension act as if they had the size of the
array with the largest shape along that dimension.  The value of the array
element is assumed to be the same along the dimension for the "broadcasted"
array.  After the application of the broadcasting rules, the sizes of the
arrays must match." ... from the Guide to NumPy

Doug

On Sun, Mar 2, 2008 at 5:47 AM, Noel Welsh <noelwelsh at gmail.com> wrote:

> On Sun, Mar 2, 2008 at 3:32 AM, Doug Williams
> <m.douglas.williams at gmail.com> wrote:
> > Any ideas, etc would be welcome.  One thing I don't currently have in
> the
> > science collection - and which is critical to the basic structure - is a
> > good matrix representation/manipulation module.  I've implemented some
> for
> > specific analyses I am doing, but they are very inefficient and not
> nearly
> > as convenient as what numpy provides for Python.  If anyone can point me
> to
> > some good implementations, or provide some ideas, it would be
> appreciated.
>
> Attached is what I have been using for my projects.  It builds on Will
> Farr's plt-linalg package (which builds on BLAS and LAPACK) and
> provides more functions and compact notation.  Vectors and matrices
> are distinct types in this package, and there is no support for arrays
> with dimension greater than 2.
>
> My first version of this library used a uniform representation for
> arrays of arbitrary dimension. I found this less convenient for my
> task than specialising to vectors and matrices.  The key problem in
> designing such a library is deciding how to satisfy users who want a
> general compact container type (i.e. arrays of arbitrary dimension)
> and users who want a linear algebra package.  For example, do the
> linear algebra operators work with vectors?  If so, how are row and
> column vectors distinguished?
>
> HTH,
> Noel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20080302/083b1833/attachment.html>

Posted on the users mailing list.