線型代数学ライブラリの比較

ウィキメディアの一覧記事

以下の表では線型代数学ライブラリの比較を示す。

この一覧は未完成です。加筆、訂正して下さる協力者を求めています

基本情報 編集

開発元 費用 言語 特徴
Armadillo (線形代数ライブラリ) Conrad Sanderson 無料 C++ LAPACKと統合されており、様々な行列の分解を最適化された速度で実行できる[1][2][3]
GNU Scientific Library GNUプロジェクト 無料 C言語 汎用の数値計算ライブラリでもある[4]
IMSL en:Rogue Wave Software 有料 C言語, C#, Java, FORTRAN, Python 汎用の数値計算ライブラリでもある
INTLAB S.M.Rump[5][6][7][8][9] 有料 MATLAB/GNU Octave 区間演算アフィン演算が使えて、数値線形代数における精度保証付き数値計算に活用されている[5][6][7][8][9]
LAPACK 多数 無料 FORTRAN 数値線形代数のためのライブラリ (LINPACK, EISPACKの後継)[10][11][12][13]
NAG数値計算ライブラリ Numerical Algorithms Group 有料 C言語/FORTRAN 汎用の数値計算ライブラリでもある
ScaLAPACK英語版 多数 無料 FORTRAN 分散メモリ型コンピュータ向けのLAPACK
SciPy scipy.org community 無料 Python Pythonに数値計算機能を付与するためのライブラリ[14][15][16]

機能 編集

以下の表では次の略称を使う

LS EVP GEVP SVD GSVD 区間演算 アフィン演算
Armadillo (線形代数ライブラリ) NG OK OK OK NG NG NG
GNU Scientific Library OK OK OK OK NG NG NG
IMSL OK OK OK OK NG NG NG
INTLAB NG OK OK NG NG OK OK
LAPACK OK OK OK OK OK NG NG
NAG数値計算ライブラリ OK OK OK OK OK NG NG
SciPy OK OK NG OK NG NG NG

出典 編集

  1. ^ Sanderson, C., & Curtin, R. (2016). Armadillo: a template-based C++ library for linear algebra. Journal of Open Source Software, 1(2), 26.
  2. ^ Sanderson, C. (2010). Armadillo: An open source C++ linear algebra library for fast prototyping and computationally intensive experiments (p. 84). Technical report, NICTA.
  3. ^ Eddelbuettel, D., & Sanderson, C. (2014). RcppArmadillo: Accelerating R with high-performance C++ linear algebra. Computational Statistics & Data Analysis, 71, 1054-1063.
  4. ^ Gough, B. (2009). GNU scientific library reference manual. Network Theory Ltd..
  5. ^ a b S.M. Rump: INTLAB - INTerval LABoratory. In Tibor Csendes, editor, Developments in Reliable Computing, pages 77-104. Kluwer Academic Publishers, Dordrecht, 1999.
  6. ^ a b 『精度保証付き数値計算の基礎』大石進一 編著、コロナ社、2018年。
  7. ^ a b Moore, R. E., Kearfott, R. B., & Cloud, M. J. (2009). Introduction to Interval Analysis. SIAM.
  8. ^ a b Rump, S. M. (2010). Verification methods: Rigorous results using floating-point arithmetic. en:Acta Numerica, 19, 287-449.
  9. ^ a b Hargreaves, G. I. (2002). Interval analysis in MATLAB. Numerical Algorithms, (2009.1).
  10. ^ Anderson, E., Bai, Z., Bischof, C., Blackford, S., Dongarra, J., Du Croz, J., ... & Sorensen, D. (1999). LAPACK Users' guide. SIAM.
  11. ^ Anderson, E., Bai, Z., Dongarra, J., Greenbaum, A., McKenney, A., Du Croz, J., ... & Sorensen, D. (1990, November). LAPACK: A portable linear algebra library for high-performance computers. In Proceedings of the 1990 ACM/IEEE conference on Supercomputing (pp. 2-11). IEEE Computer Society Press.
  12. ^ 小国力:「LAPACK利用の手引―行列計算パッケージ」、丸善、ISBN 978-4621040768(1995年7月)
  13. ^ 幸谷智紀:「LAPACK/BLAS入門」、森北出版ISBN 978-4627848818(2016年12月)
  14. ^ Jones, E., Oliphant, T., & Peterson, P. (2001). SciPy: Open source scientific tools for Python.
  15. ^ Bressert, E. (2012). SciPy and NumPy: an overview for developers. " O'Reilly Media, Inc.".
  16. ^ Blanco-Silva, F. J. (2013). Learning SciPy for numerical and scientific computing. Packt Publishing Ltd.

関連項目 編集

外部リンク 編集