連立1次方程式や固有値問題など、 いわゆる線形演算の重要性を手短に説明することはとても難しい 1。 LAPACK に代表される線形演算ラリブラリィと、 それらを快適に利用できる言語仕様 (MATLAB が先達) は素晴らしい成果である。 Julia ではどのようになっているのか、お手並拝見。
LinearAlgebra という標準ライブラリィが用意されている。 使うには
using LinearAlgebra |
基本 LAPACK を使っているよし。 SuiteSparse って何だろう?
トレース tr(), 行列式 det(), 逆行列 inv(), 左からの割算 \ など、 普通に使いたくなる基本的な演算は当然揃っている。
もちろん、 連立1次方程式や固有値問題を解くための関数も用意されているが(後述)、 重要なことは特殊な性質を持つ行列を取り扱う仕組みである。
| Symmetric | 対称行列 ( |
| Hermitan | Hermite行列 ( |
| UpperTriangular | 上三角行列 |
| UnitUpperTriangular | 単位上三角行列 (対角成分が全て |
| LowerTriangular | 下三角行列 |
| UnitLowerTriangular | 単位下三角行列 (対角成分が全て |
| UpperHessenberg | 上 Hessenberg行列 |
| Tridiagonal | 三重対角行列 |
| SymTridiagonal | 対称三重対角行列 |
| Bidiagonal | 二重対角行列 |
| Diagonal | 対角行列 |
| UniformScaling | いわゆるスカラー行列 ( |