Linear algebra library

Maksim Zholudev maximzms at gmail.com
Tue Apr 9 06:52:57 PDT 2013


Hello!

It looks like SciD [1] is obsolete and work on its reincarnation 
[2] have not been started yet.

Here is yet another linear algebra library for D:
https://github.com/MaksimZh/linalg/wiki

It was inspired by proposal [2] but has some differences:

1) Support of immutable data and pure functions.

2) No reference counting, no copy-on-write.
- It looks completely incompatible with immutable matrices.
- Unpredictable GC allocations make people sad [3].
So matrices act like built-in D arrays: slice is a view, copying 
is forced with `.dup` etc.

3) Support of backends that can be enabled with compiler options 
(e.g. -version=linalg_backend_lapack) and add optimization and 
new features.
The library works even without any backend.
In current (pre-alpha) version this feature is just outlined: 
enabling LAPACK adds evaluation of eigenvalues for 
`Complex!double` matrices and activates corresponding unittests.


The library now looks inconsistent because I focus mainly on the 
features needed in my work. Probably I've made some bad 
design/implementation decisions due to lack of experience.

Any ideas and advices are welcome.


References:
[1] https://github.com/kyllingstad/scid
[2] https://github.com/cristicbz/scid/wiki/GSoC-2012-Proposal
[3] http://forum.dlang.org/thread/kjo7id$22jk$1@digitalmars.com


More information about the Digitalmars-d mailing list