8. 逆行列を求める
関数の実装例
8
Function matrix_inverse(matrix)
Dim delta As Variant
delta = Array()
ReDim delta(UBound(matrix))
inverse = matrix ' コピーはしているが、ただ同じサイズの行列が欲しいだけ
For i = 0 To UBound(matrix)
For k = 0 To UBound(delta)
If k = i Then
delta(k) = 1
Else
delta(k) = 0
End If
Next k
b = get_x_2(delta, matrix)
inverse(i) = b
Next i
inverse = matrix_t(inverse)
matrix_inverse = inverse
End Function
@VBA
転置
Array()の入れ子を想定
実用上は正方行列であるこ
とや、行列式が0にならない
事を確認した方がいい。
逆行列の列ベクトルの計算
単位行列の列ベクトル
を格納する変数
単位行列のi列における列
ベクトルを作っている