学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad Pro + Apple Pencil
- MyScript Nebo(iPad アプリ)
- 参考書籍
ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の3章(行列)、3(行列の乗法)、練習問題18.を取り組んでみる。
よって、 I-N は可逆で、その逆行列は、
となる。
コード(Emacs)
Python 3
#!/usr/bin/env python3 from sympy import pprint, symbols, Matrix, Rational import random for n in range(1, 6): print(f'n = {n}') N = Matrix([[symbols(f'a{i}{j}') if i < j else 0 for j in range(n)] for i in range(n)]) r = n - 1 I = Matrix([[1 if i == j else 0 for j in range(n)] for i in range(n)]) Z = Matrix([[0 for _ in range(n)] for _ in range(n)]) X = I for i in range(1, r + 1): X += N ** i for t in [N, N ** (r + 1), N ** (r + 1) == Z, I - N, X, (I - N) * X, ((I - N) * X).expand() == I]: pprint(t) print() print()
入出力結果(Terminal, Jupyter(IPython))
$ ./sample18.py n = 1 [0] [0] True [1] [1] [1] True n = 2 ⎡0 a₀₁⎤ ⎢ ⎥ ⎣0 0 ⎦ ⎡0 0⎤ ⎢ ⎥ ⎣0 0⎦ True ⎡1 -a₀₁⎤ ⎢ ⎥ ⎣0 1 ⎦ ⎡1 a₀₁⎤ ⎢ ⎥ ⎣0 1 ⎦ ⎡1 0⎤ ⎢ ⎥ ⎣0 1⎦ True n = 3 ⎡0 a₀₁ a₀₂⎤ ⎢ ⎥ ⎢0 0 a₁₂⎥ ⎢ ⎥ ⎣0 0 0 ⎦ ⎡0 0 0⎤ ⎢ ⎥ ⎢0 0 0⎥ ⎢ ⎥ ⎣0 0 0⎦ True ⎡1 -a₀₁ -a₀₂⎤ ⎢ ⎥ ⎢0 1 -a₁₂⎥ ⎢ ⎥ ⎣0 0 1 ⎦ ⎡1 a₀₁ a₀₁⋅a₁₂ + a₀₂⎤ ⎢ ⎥ ⎢0 1 a₁₂ ⎥ ⎢ ⎥ ⎣0 0 1 ⎦ ⎡1 0 0⎤ ⎢ ⎥ ⎢0 1 0⎥ ⎢ ⎥ ⎣0 0 1⎦ True n = 4 ⎡0 a₀₁ a₀₂ a₀₃⎤ ⎢ ⎥ ⎢0 0 a₁₂ a₁₃⎥ ⎢ ⎥ ⎢0 0 0 a₂₃⎥ ⎢ ⎥ ⎣0 0 0 0 ⎦ ⎡0 0 0 0⎤ ⎢ ⎥ ⎢0 0 0 0⎥ ⎢ ⎥ ⎢0 0 0 0⎥ ⎢ ⎥ ⎣0 0 0 0⎦ True ⎡1 -a₀₁ -a₀₂ -a₀₃⎤ ⎢ ⎥ ⎢0 1 -a₁₂ -a₁₃⎥ ⎢ ⎥ ⎢0 0 1 -a₂₃⎥ ⎢ ⎥ ⎣0 0 0 1 ⎦ ⎡1 a₀₁ a₀₁⋅a₁₂ + a₀₂ a₀₁⋅a₁₂⋅a₂₃ + a₀₁⋅a₁₃ + a₀₂⋅a₂₃ + a₀₃⎤ ⎢ ⎥ ⎢0 1 a₁₂ a₁₂⋅a₂₃ + a₁₃ ⎥ ⎢ ⎥ ⎢0 0 1 a₂₃ ⎥ ⎢ ⎥ ⎣0 0 0 1 ⎦ ⎡1 0 0 a₀₁⋅a₁₂⋅a₂₃ + a₀₁⋅a₁₃ - a₀₁⋅(a₁₂⋅a₂₃ + a₁₃)⎤ ⎢ ⎥ ⎢0 1 0 0 ⎥ ⎢ ⎥ ⎢0 0 1 0 ⎥ ⎢ ⎥ ⎣0 0 0 1 ⎦ True n = 5 ⎡0 a₀₁ a₀₂ a₀₃ a₀₄⎤ ⎢ ⎥ ⎢0 0 a₁₂ a₁₃ a₁₄⎥ ⎢ ⎥ ⎢0 0 0 a₂₃ a₂₄⎥ ⎢ ⎥ ⎢0 0 0 0 a₃₄⎥ ⎢ ⎥ ⎣0 0 0 0 0 ⎦ ⎡0 0 0 0 0⎤ ⎢ ⎥ ⎢0 0 0 0 0⎥ ⎢ ⎥ ⎢0 0 0 0 0⎥ ⎢ ⎥ ⎢0 0 0 0 0⎥ ⎢ ⎥ ⎣0 0 0 0 0⎦ True ⎡1 -a₀₁ -a₀₂ -a₀₃ -a₀₄⎤ ⎢ ⎥ ⎢0 1 -a₁₂ -a₁₃ -a₁₄⎥ ⎢ ⎥ ⎢0 0 1 -a₂₃ -a₂₄⎥ ⎢ ⎥ ⎢0 0 0 1 -a₃₄⎥ ⎢ ⎥ ⎣0 0 0 0 1 ⎦ ⎡1 a₀₁ a₀₁⋅a₁₂ + a₀₂ a₀₁⋅a₁₂⋅a₂₃ + a₀₁⋅a₁₃ + a₀₂⋅a₂₃ + a₀₃ a₀₁⋅a₁₂⋅a₂₃⋅a₃₄ ⎢ ⎢0 1 a₁₂ a₁₂⋅a₂₃ + a₁₃ ⎢ ⎢0 0 1 a₂₃ ⎢ ⎢0 0 0 1 ⎢ ⎣0 0 0 0 + a₀₁⋅a₁₄ + a₀₁⋅(a₁₂⋅a₂₄ + a₁₃⋅a₃₄) + a₀₂⋅a₂₃⋅a₃₄ + a₀₂⋅a₂₄ + a₀₃⋅a₃₄ + a₀₄⎤ ⎥ a₁₂⋅a₂₃⋅a₃₄ + a₁₂⋅a₂₄ + a₁₃⋅a₃₄ + a₁₄ ⎥ ⎥ a₂₃⋅a₃₄ + a₂₄ ⎥ ⎥ a₃₄ ⎥ ⎥ 1 ⎦ ⎡1 0 0 a₀₁⋅a₁₂⋅a₂₃ + a₀₁⋅a₁₃ - a₀₁⋅(a₁₂⋅a₂₃ + a₁₃) a₀₁⋅a₁₂⋅a₂₃⋅a₃₄ + a₀₁⋅a ⎢ ⎢0 1 0 0 ⎢ ⎢0 0 1 0 ⎢ ⎢0 0 0 1 ⎢ ⎣0 0 0 0 ₁₄ + a₀₁⋅(a₁₂⋅a₂₄ + a₁₃⋅a₃₄) - a₀₁⋅(a₁₂⋅a₂₃⋅a₃₄ + a₁₂⋅a₂₄ + a₁₃⋅a₃₄ + a₁₄) + a a₁₂⋅a₂₃⋅a₃₄ + a₁₂⋅a₂₄ - a₁₂⋅(a₂₃⋅a₃₄ + a₂₄) 0 0 1 ₀₂⋅a₂₃⋅a₃₄ + a₀₂⋅a₂₄ - a₀₂⋅(a₂₃⋅a₃₄ + a₂₄)⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ True $
0 コメント:
コメントを投稿