[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Matrix or array operations library
From: |
David Pirotte |
Subject: |
Re: Matrix or array operations library |
Date: |
Tue, 25 Dec 2018 15:12:37 -0200 |
Hello,
> Is there some library, that enables high performance matrix operations
> or even n-dimensional array operations? I am thinking of something like
> NumPy in the Python ecosystem. I think NumPy in turn also uses some
> lower level thing to do what it does. I think OpenBLAS or MKL, depending
> on the architecture. I wonder if there is any wrapper around OpenBLAS
> for Guile or something similar.
> ...
There are quite a few libs you might look at before you start to code your own:
https://notabug.org/lloda
...
guile-newra
guile-ffi-cblas
...
guile-ploy
...
AIscm
http://wedesoft.github.io/aiscm
I also wrote a set of n-dim array math ops (including matrix ops) for Guile-CV:
https://www.gnu.org/software/guile-cv/
the manual is available online, math and matrix ops are
described in
the 'Processing' section
mentioning Guile-CV because images are just a collection of n-dim
arrays.
(see 'Image Structure and Accessors' in the manual).
in Guile-CV, all (almost all) arrays are f32vectors - see (srfi srfi-4)
in
the Guile manual - math and matrix ops are written in C (but memory
allocation entirely kept in scheme). multi channel ops are
multi-threaded
some of these math and matrix ops also work on s32 and f64
(undocumented so
far): it would not take much to actually fully generalize all guile-cv
math
and matrix ops for the full set of (srfi srfi-4 ) types.
Cheers,
David
pgpgL6VRD_wYL.pgp
Description: OpenPGP digital signature