@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).我只需要它来完成我的工作.
它正在积极开发中(但已经用其他替代方案修复了所有列出的问题) - 我将不胜感激任何反馈.