大学院情報処理演習 第 4 回 (行列の直接解法) 「掃き出し法による逆行列の求め方」 講義ノート目次

[A,I] を新たな行列(A|I)とし、
行基本変形の規則にそって、(I|A-1)
に変形する。
Gauss-Jordan の方法で、先頭の n × n 行列を単位行列にすると、
逆行列が後半の行列に出来上がる。
答えを出す部分で、n × n+1 行列ではない場合に、行列そのものを返すことにする。

if mat[0].length - mat.length == 1
  ans = Array.new
  for i in 0 .. mat.length - 1
    ans << mat[i].pop
  end
  p ans
else 
  p mat
end