2017年12月23日土曜日

学習環境

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


  1. A - 1 = B = ( 1 a 1 0 . . . 0 0 1 a 2 0 0 0 1 a n )

    となる。

    実際に確認。

    AB の(i, j)成分について、

    i = j

    のとき、

    k = 1 n a i k b k j = k = 1 i - 1 0 · 0 + a i · 1 a i + k = i + 1 n 0 · 0 = 1

    また、

    i < j

    のとき、

    k = 1 n a i k b k j = k = 1 i - 1 0 · 0 + a i · 0 + k = i + 1 j - 1 0 · 0 + 0 · 1 a j + k = j + 1 n 0 · 0 = 0
    i > j

    のときも同様。

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, Matrix, Rational
import random

for _ in range(5):
    n = random.randrange(1, 10)
    A = Matrix([0 for _ in range(n * n)]).reshape(n, n)
    B = Matrix([0 for _ in range(n * n)]).reshape(n, n)
    for i in range(n):
        ai = random.randrange(1, 100)
        A[i, i] = ai
        B[i, i] = Rational(1, ai)
    for t in [A, B, A * B]:
        pprint(t)
        print()

入出力結果(Terminal, Jupyter(IPython))

$ ./sample15.py
⎡11  0   0   0   0   0  0  0   0 ⎤
⎢                                ⎥
⎢0   70  0   0   0   0  0  0   0 ⎥
⎢                                ⎥
⎢0   0   48  0   0   0  0  0   0 ⎥
⎢                                ⎥
⎢0   0   0   48  0   0  0  0   0 ⎥
⎢                                ⎥
⎢0   0   0   0   50  0  0  0   0 ⎥
⎢                                ⎥
⎢0   0   0   0   0   6  0  0   0 ⎥
⎢                                ⎥
⎢0   0   0   0   0   0  9  0   0 ⎥
⎢                                ⎥
⎢0   0   0   0   0   0  0  23  0 ⎥
⎢                                ⎥
⎣0   0   0   0   0   0  0  0   42⎦

⎡1/11   0     0     0     0     0    0    0     0  ⎤
⎢                                                  ⎥
⎢ 0    1/70   0     0     0     0    0    0     0  ⎥
⎢                                                  ⎥
⎢ 0     0    1/48   0     0     0    0    0     0  ⎥
⎢                                                  ⎥
⎢ 0     0     0    1/48   0     0    0    0     0  ⎥
⎢                                                  ⎥
⎢ 0     0     0     0    1/50   0    0    0     0  ⎥
⎢                                                  ⎥
⎢ 0     0     0     0     0    1/6   0    0     0  ⎥
⎢                                                  ⎥
⎢ 0     0     0     0     0     0   1/9   0     0  ⎥
⎢                                                  ⎥
⎢ 0     0     0     0     0     0    0   1/23   0  ⎥
⎢                                                  ⎥
⎣ 0     0     0     0     0     0    0    0    1/42⎦

⎡1  0  0  0  0  0  0  0  0⎤
⎢                         ⎥
⎢0  1  0  0  0  0  0  0  0⎥
⎢                         ⎥
⎢0  0  1  0  0  0  0  0  0⎥
⎢                         ⎥
⎢0  0  0  1  0  0  0  0  0⎥
⎢                         ⎥
⎢0  0  0  0  1  0  0  0  0⎥
⎢                         ⎥
⎢0  0  0  0  0  1  0  0  0⎥
⎢                         ⎥
⎢0  0  0  0  0  0  1  0  0⎥
⎢                         ⎥
⎢0  0  0  0  0  0  0  1  0⎥
⎢                         ⎥
⎣0  0  0  0  0  0  0  0  1⎦

⎡55  0   0   0   0   0   0   0   0⎤
⎢                                 ⎥
⎢0   90  0   0   0   0   0   0   0⎥
⎢                                 ⎥
⎢0   0   92  0   0   0   0   0   0⎥
⎢                                 ⎥
⎢0   0   0   61  0   0   0   0   0⎥
⎢                                 ⎥
⎢0   0   0   0   31  0   0   0   0⎥
⎢                                 ⎥
⎢0   0   0   0   0   16  0   0   0⎥
⎢                                 ⎥
⎢0   0   0   0   0   0   28  0   0⎥
⎢                                 ⎥
⎢0   0   0   0   0   0   0   10  0⎥
⎢                                 ⎥
⎣0   0   0   0   0   0   0   0   1⎦

⎡1/55   0     0     0     0     0     0     0    0⎤
⎢                                                 ⎥
⎢ 0    1/90   0     0     0     0     0     0    0⎥
⎢                                                 ⎥
⎢ 0     0    1/92   0     0     0     0     0    0⎥
⎢                                                 ⎥
⎢ 0     0     0    1/61   0     0     0     0    0⎥
⎢                                                 ⎥
⎢ 0     0     0     0    1/31   0     0     0    0⎥
⎢                                                 ⎥
⎢ 0     0     0     0     0    1/16   0     0    0⎥
⎢                                                 ⎥
⎢ 0     0     0     0     0     0    1/28   0    0⎥
⎢                                                 ⎥
⎢ 0     0     0     0     0     0     0    1/10  0⎥
⎢                                                 ⎥
⎣ 0     0     0     0     0     0     0     0    1⎦

⎡1  0  0  0  0  0  0  0  0⎤
⎢                         ⎥
⎢0  1  0  0  0  0  0  0  0⎥
⎢                         ⎥
⎢0  0  1  0  0  0  0  0  0⎥
⎢                         ⎥
⎢0  0  0  1  0  0  0  0  0⎥
⎢                         ⎥
⎢0  0  0  0  1  0  0  0  0⎥
⎢                         ⎥
⎢0  0  0  0  0  1  0  0  0⎥
⎢                         ⎥
⎢0  0  0  0  0  0  1  0  0⎥
⎢                         ⎥
⎢0  0  0  0  0  0  0  1  0⎥
⎢                         ⎥
⎣0  0  0  0  0  0  0  0  1⎦

⎡13  0   0   0   0   0  0 ⎤
⎢                         ⎥
⎢0   43  0   0   0   0  0 ⎥
⎢                         ⎥
⎢0   0   28  0   0   0  0 ⎥
⎢                         ⎥
⎢0   0   0   73  0   0  0 ⎥
⎢                         ⎥
⎢0   0   0   0   77  0  0 ⎥
⎢                         ⎥
⎢0   0   0   0   0   8  0 ⎥
⎢                         ⎥
⎣0   0   0   0   0   0  86⎦

⎡1/13   0     0     0     0     0    0  ⎤
⎢                                       ⎥
⎢ 0    1/43   0     0     0     0    0  ⎥
⎢                                       ⎥
⎢ 0     0    1/28   0     0     0    0  ⎥
⎢                                       ⎥
⎢ 0     0     0    1/73   0     0    0  ⎥
⎢                                       ⎥
⎢ 0     0     0     0    1/77   0    0  ⎥
⎢                                       ⎥
⎢ 0     0     0     0     0    1/8   0  ⎥
⎢                                       ⎥
⎣ 0     0     0     0     0     0   1/86⎦

⎡1  0  0  0  0  0  0⎤
⎢                   ⎥
⎢0  1  0  0  0  0  0⎥
⎢                   ⎥
⎢0  0  1  0  0  0  0⎥
⎢                   ⎥
⎢0  0  0  1  0  0  0⎥
⎢                   ⎥
⎢0  0  0  0  1  0  0⎥
⎢                   ⎥
⎢0  0  0  0  0  1  0⎥
⎢                   ⎥
⎣0  0  0  0  0  0  1⎦

⎡1  0   0   0   0   0   0   0 ⎤
⎢                             ⎥
⎢0  20  0   0   0   0   0   0 ⎥
⎢                             ⎥
⎢0  0   26  0   0   0   0   0 ⎥
⎢                             ⎥
⎢0  0   0   41  0   0   0   0 ⎥
⎢                             ⎥
⎢0  0   0   0   40  0   0   0 ⎥
⎢                             ⎥
⎢0  0   0   0   0   31  0   0 ⎥
⎢                             ⎥
⎢0  0   0   0   0   0   21  0 ⎥
⎢                             ⎥
⎣0  0   0   0   0   0   0   96⎦

⎡1   0     0     0     0     0     0     0  ⎤
⎢                                           ⎥
⎢0  1/20   0     0     0     0     0     0  ⎥
⎢                                           ⎥
⎢0   0    1/26   0     0     0     0     0  ⎥
⎢                                           ⎥
⎢0   0     0    1/41   0     0     0     0  ⎥
⎢                                           ⎥
⎢0   0     0     0    1/40   0     0     0  ⎥
⎢                                           ⎥
⎢0   0     0     0     0    1/31   0     0  ⎥
⎢                                           ⎥
⎢0   0     0     0     0     0    1/21   0  ⎥
⎢                                           ⎥
⎣0   0     0     0     0     0     0    1/96⎦

⎡1  0  0  0  0  0  0  0⎤
⎢                      ⎥
⎢0  1  0  0  0  0  0  0⎥
⎢                      ⎥
⎢0  0  1  0  0  0  0  0⎥
⎢                      ⎥
⎢0  0  0  1  0  0  0  0⎥
⎢                      ⎥
⎢0  0  0  0  1  0  0  0⎥
⎢                      ⎥
⎢0  0  0  0  0  1  0  0⎥
⎢                      ⎥
⎢0  0  0  0  0  0  1  0⎥
⎢                      ⎥
⎣0  0  0  0  0  0  0  1⎦

[31]

[1/31]

[1]

$

0 コメント:

コメントを投稿