贡献者: addis
【更新】本文已过时,最新版改名为 MPLAPACK,见 GitHub 仓库。推荐的用 Docker 编译需要 3 小时左右,但很稳定。编译完成以后,library 安装到 container 的目录 /home/docker/MPLAPACK
中。__float128
也真正的支持了。
以下内容已过时。
dd
),八精度(qd),乃至任意精度的 BLAS 和 LAPACK。源码主要是 C++。
conda install -c auto-mech mpack
。亲测有效,安装路径在 ~/miniconda3/pkgs/mpack-0.6.8-0/
x86
下的 Ubuntu 22.04 也可以直接从笔者的 github 仓库下载。
libmlapack_dd.so
,头文件 mlapack_dd.h
inv_mat_dd
成功! 路径在 mpack-0.6.7/examples/mlapack/
:
g++ inv_mat_dd.cpp -I ~/miniconda3/pkgs/mpack-0.6.8-0/include/mpack -I ~/miniconda3/pkgs/mpack-0.6.8-0/include -L ~/miniconda3/pkgs/mpack-0.6.8-0/lib -Wl,-rpath,/home/addis/miniconda3/envs/mpack/lib -l mlapack_dd -l mblas_dd -l qd
__float128
,但源码中并没有搜到任何相关内容,似乎目前还是只能使用 QD
库。
example
里面的 *_dd.cpp
源码
mpackint
类型为 long long
(8 字节符号整数)
dd_real
类的定义为(头文件 include/qd/dd_real.h
,这其实是 QD 库的头文件,有微量修改。)
dd_complex
类的定义为(头文件 include/mpack/dd_complex.h
)
mlapack_dd.h
中的 lapack 函数以 R
(实数)或者 C
(复数)开头,例如 ?gbsv
函数为 Rgbsv
。函数的用法应该都是一样的。
友情链接: 超理论坛 | ©小时科技 保留一切权利