2017年12月26日火曜日

学習環境

ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の3章(行列)、3(行列の乗法)、練習問題18.を取り組んでみる。


  1. I - N I + N + + N r = I - N r + 1 = I - O = I

    よって、 I-N は可逆で、その逆行列は、

    I - N - 1 = I + N + + N r

    となる。

コード(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 コメント:

コメントを投稿