Короткий ответ, я думаю, заключается в том, что это не то, что вы действительно хотите сделать.
GotoBLAS, насколько я понимаю, является специфической реализацией BLAS, которая обозначает подпрограммы Basic Linear Algebra.«Базовый» здесь действительно означает «базовый» - например, умножить матрицу на вектор.Таким образом, BLAS не является решателем, который вызовет такая функция, как LinearSolve
.LinearSolve
будет (в зависимости от точной формы аргументов) вызывать команду LAPACK, которая представляет собой пакет более высокого уровня, построенный поверх BLAS.Таким образом, чтобы действительно связать GotoBLAS (или любой BLAS) с Mathematica, нужно было бы перекомпилировать все ядро.
Конечно, можно написать программу на C / Fortran, скомпилированную с GotoBLAS, и затем связать еев Mathematica.Получающаяся программа будет использовать GotoBLAS только при выполнении каких-либо конкретных команд, которые вы связали с Mathematica, что, скорее, пропускает весь смысл BLAS.