I've been mulling over methods of bringing linear algebra methods into gnu-apl, specifically eigenvalues & eigenvectors (leaving open the possibility for more).
The canonical methods for this are from LAPACK (which was formerly a compilation dependency).
Specifically:
dgeev
dsyev
zheev
zgeev
There are a few paths forward I can think of:
- include LAPACK as an optional dependency and wrap the functions (similar to how ⌹ was implemented before it was ported to C++). Possibly with a ⎕FOO wrapper.
- Port (or find) C/C++ versions of the functions and use the ⎕FX interface
- Implement the underlying algorithms as APL libraries
Mostly looking for advice on how to proceed, that would make this:
1. Simple to integrate
2. 'okay' performance
3. Possibility to expand to more LAPACK functionality
4. Not introducing unnecessary compilation challenges
Since this is something I suspect has been considered, I figured I'd reach out to the broader list before attempting something.
Thanks,
- Rowan