@@ -18,6 +18,7 @@ Currently three LAPACKE implementations are supported and tested:
1818 - needs ` cmake ` and ` gfortran `
1919- [ Intel MKL] ( https://github.com/termoshtt/rust-intel-mkl ) (non-free license, see the linked page)
2020 - needs ` curl `
21+
2122There are two ways to link LAPACKE backend:
2223
2324### backend features (recommended)
@@ -26,7 +27,7 @@ There are three features corresponding to the backend implementations (`openblas
2627``` toml
2728[dependencies ]
2829ndarray = " 0.12"
29- ndarray-linalg = { version = " 0.9 " , features = [" openblas" ] }
30+ ndarray-linalg = { version = " 0.10 " , features = [" openblas" ] }
3031```
3132
3233### link backend crate manually
@@ -36,7 +37,7 @@ You should link a LAPACKE implementation to a final crate (like binary executabl
3637``` toml
3738[dependencies ]
3839ndarray = " 0.12"
39- ndarray-linalg = " 0.9 "
40+ ndarray-linalg = " 0.10 "
4041openblas-src = " 0.5" # or another backend of your choice
4142
4243```
@@ -46,7 +47,14 @@ You must add `extern crate` to your code in this case:
4647``` rust
4748extern crate ndarray;
4849extern crate ndarray_linalg;
49- extern crate openblas_src; // or another backend of your choice
50+ extern crate openblas_src; // or another backend of your choice
51+ ```
52+
53+ You will get a "undefined reference" link error if you forget to add any backend:
54+
55+ ```
56+ undefined reference to `cblas_dgemm'
57+ undefined reference to `LAPACKE_dsyev'
5058```
5159
5260### For librarian
@@ -55,7 +63,7 @@ If you creating a library depending on this crate, we encourage you not to link
5563``` toml
5664[dependencies ]
5765ndarray = " 0.12"
58- ndarray-linalg = { version = " 0.9 " , default-features = false }
66+ ndarray-linalg = { version = " 0.10 " , default-features = false }
5967```
6068
6169However, if you hope simplicity instead of the flexibility, you can link your favorite backend in the way described above.
0 commit comments