@Matlab:四倍精度をサポートしていません。
MATLAB用のMultiprecisionComputingToolboxは、任意精度の線形代数計算のためのルーチンを提供します。
それは他の多くの分野をカバーしています-基本的な数学、数値的方法(積分、常微分方程式、最適化)、特殊関数と基本的なデータ分析。
さらに、既存のMatlabのプログラムを、ソースコードに最小限の(またはまったく)変更を加えることなく、任意の精度で実行できます。
更新(2013年3月27日):ツールボックスには、他の方法と比較してほぼ100倍高速な高速四倍精度モードも含まれています。比較と詳細については、MATLABでの高速四倍精度計算を参照してください。
提案された代替案に関する批評家:
記号計算を対象としたMathworksの記号数学ツールボックス(MATLAB)。そのため、任意精度の数値計算に必要な多くの重要な機能が欠けています。
たとえば、2つのvpa()
数値は(設計上)「シンボリック」タイプであるため、比較することさえできません。この唯一の制限により、99%のアルゴリズムが数値解析から除外されます。
SymbolicMathToolboxにないその他の基本的な線形代数関数は次のとおりnorm, cond, max, min, sort, lu, qr, chol, schur
です。
無料のMultiplePrecisionToolbox(MATLAB)。
非常に遅く(すべての算術演算でオペランドの数値から文字列への変換を実行します:)、+, -, ...
本質的な機能(eig, det, cond, \, ...
)がないことに加えて、それが持つ関数で間違った結果をもたらします。
たとえば、svd
関数によって提供された誤った結果は、ある時点で私の研究を無意味にし、エラーを見つけるのは苦痛でした。
mpmath(Python)
主に特殊関数コンピューティング(特に超幾何ファミリー)を対象としています。また、多かれ少なかれ高度な数値アルゴリズムをサポートしていません。行列はほとんどサポートされていません。最新バージョンで探している行列の対数があるようですが。
実際、これらすべての欠点により、MATLABの独自の拡張機能を開発して、任意精度の計算を可能にするようになりました(冒頭で参照-MATLABのMultiprecision Computing Toolbox)。仕事に必要なだけです。
それは活発な開発中です(しかし、他の選択肢でリストされたすべての問題をすでに修正しています)-フィードバックをいただければ幸いです。