四倍精度特征值,特征向量和矩阵对数

Ben*_*ger 7 python matlab numpy scipy sage

我试图以四倍精度对齐矩阵,并采用它们的对数.有没有一种语言可以使用内置函数实现这一目的?

注意,标签中的语言/包不足,存在以下缺陷:

Matlab:不支持四精度.

Python/NumPy/SciPy:带有dtype float128的矩阵在float64中产生特征向量.

Sage:通过GP/PARI接口会产生神秘的错误消息.

有没有人执行对角化和矩阵对数到四倍精度,如果有,怎么样?

Pav*_*dko 8

@Matlab:不支持四精度.

用于MATLAB的Multiprecision Computing Toolbox为任意精度的线性代数计算提供了例程.

它涵盖了许多其他领域 - 基础数学,数值方法(集成,颂歌,优化),特殊功能和基本数据分析.

此外,它允许以任意精度运行现有的Matlab程序,只需对源代码进行最少的修改(或不进行任何修改).

更新(2013年3月27日):现在工具箱还包括快速四倍精度模式,与替代品相比,快了近100倍.有关比较和详细信息,请参见MATLAB中的快速四倍精度计算.


建议替代品的批评者:

Mathworks的符号数学工具箱(MATLAB)针对符号计算.因此,它缺乏任意精确数值计算所需的许多基本特征.

例如,甚至不可能比较两个vpa()数字,因为它们是"符号"类型(按设计).这个唯一的限制排除了99%的数值分析算法.

符号数学工具箱中缺少的其他基本线性代数函数是:norm, cond, max, min, sort, lu, qr, chol, schur.

免费多精度工具箱(MATLAB).

除了非常慢(它在每个算术运算中执行操作数的数字到字符串转换:) +, -, ...并且缺少基本功能(eig, det, cond, \, ...)之外,它在它具有的函数中给出了错误的结果.

例如,svd函数提供的错误结果使得我的研究在某些时候毫无意义,并且错误很难找到.

mpmath(Python)

主要针对特殊功能计算(特别是超几何家族).并且不支持或多或少先进的数值算法.对矩阵的支持很少.虽然似乎有最新版本的矩阵对数.


实际上所有这些缺点促使我开发自己的MATLAB扩展,以便通过任意精度计算实现它(在开头提到 - 用于MATLAB的Multiprecision Computing Toolbox).我只需要它来完成我的工作.

它正在积极开发中(但已经用其他替代方案修复了所有列出的问题) - 我将不胜感激任何反馈.