10.1 Juliaの線形演算

連立1次方程式や固有値問題など、 いわゆる線形演算の重要性を手短に説明することはとても難しい 1。 LAPACK に代表される線形演算ラリブラリィと、 それらを快適に利用できる言語仕様 (MATLAB が先達) は素晴らしい成果である。 Julia ではどのようになっているのか、お手並拝見。

LinearAlgebra という標準ライブラリィが用意されている。 使うには
using LinearAlgebra
とする。 使い方は上記 WWW サイトを読むと良い (Julia についてのドキュメントとして品質が高い方だと思われる)。


基本 LAPACK を使っているよし。 SuiteSparse って何だろう?

トレース tr(), 行列式 det(), 逆行列 inv(), 左からの割算 \ など、 普通に使いたくなる基本的な演算は当然揃っている。

もちろん、 連立1次方程式や固有値問題を解くための関数も用意されているが(後述)、 重要なことは特殊な性質を持つ行列を取り扱う仕組みである。


Symmetric 対称行列 ($ A^\top=A$)
Hermitan Hermite行列 ($ A^\ast=A$)
UpperTriangular 上三角行列
UnitUpperTriangular 単位上三角行列 (対角成分が全て$ 1$に等しい上三角行列)
LowerTriangular 下三角行列
UnitLowerTriangular 単位下三角行列 (対角成分が全て$ 1$に等しい下三角行列)
UpperHessenberg 上 Hessenberg行列
Tridiagonal 三重対角行列
SymTridiagonal 対称三重対角行列
Bidiagonal 二重対角行列
Diagonal 対角行列
UniformScaling いわゆるスカラー行列 ($ \lambda I$, $ \lambda\in\mathbb{K}$ という形の行列)



桂田 祐史