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
pgpBOhZVudO8t.pgp
Description: OpenPGP digital signature
