具有复数的任意精度线性代数c / c ++库

时间:2013-11-23 21:48:19

标签: c++ c linear-algebra arbitrary-precision

我正在研究涉及四维相空间中具有复系数的线性微分方程。为了能够检查关于解的根的一些假设,我需要能够以任意精度以数字方式求解这些方程。我以前使用mpmath Python模块,但它运行缓慢,所以我更喜欢用C / C ++重写我的程序以实现最大性能。所以我有一个问题:

是否存在支持任意精度算术和复数的C / C ++线性代数库?我需要一些基本的功能,如点积等。 (实际上,我也需要矩阵指数,但如果需要,我可以自己实现)。

我尝试将EigenMPFR C++一起使用,但由于它不支持复杂的数字而失败(而complex <mpreal>这样的结构不起作用,因为它假定基类型是标准浮点数。

3 个答案:

答案 0 :(得分:1)

您可以查看uBLAS from boost

答案 1 :(得分:1)

尝试使用任意精度数字库(例如GMP http://gmplib.org/)和支持复数的线性代数数学库(例如Eigen http://eigen.tuxfamily.org/

答案 2 :(得分:1)

最后,似乎zkcm做了我想要的。我不确定它是否从性能角度看是好的(没有做任何基准测试),但至少它可以工作并提供所有必要的功能。