2017年10月16日月曜日

学習環境

線型代数入門(松坂 和夫(著)、岩波書店)の第3章(線型写像)、7(行列の積)、問題9.を取り組んでみる。


  1. AEij行列はn × n行列となる。(k, l)成分について。

    a k e l = h=1 n a kh e hl

    h = i かつ l = jのとき。

    e hl =1

    h = i ではない、または l = j ではないとき。

    e hl =0

    よってAEijは、j列は行列Aのi列と等しく、他の成分は0のn × n行列となる。

    EijAはn × n行列となる。(k, l)成分について。

    e k a l = h=1 n e kh a hl

    k = i かつ h = j のとき。

    e kh =1

    k = i ではない、または h = j ではないとき。

    e kh =0

    よってEijA行列は、i行はAのj行と等しく、他の成分は0の n × n 行列となる。

コード(Emacs)

Python 3

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

print('9.')
n = 5
Zero = Matrix([[0 for j in range(n)]
               for i in range(n)])

MS = [[Matrix([[1 if i0 == i and j0 == j else 0 for j0 in range(n)]
               for i0 in range(n)])
       for j in range(n)]
      for i in range(n)]
i = 2
j = 3
print(f'i = {i}, j = {j}')
Eij = MS[i - 1][j - 1]

A = Matrix(range(25)).reshape(5, 5)

for X in [Eij, A, A * Eij, Eij * A]:
    pprint(X)
    print()

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

$ ./sample9.py
9.
i = 2, j = 3
⎡0  0  0  0  0⎤
⎢             ⎥
⎢0  0  1  0  0⎥
⎢             ⎥
⎢0  0  0  0  0⎥
⎢             ⎥
⎢0  0  0  0  0⎥
⎢             ⎥
⎣0  0  0  0  0⎦

⎡0   1   2   3   4 ⎤
⎢                  ⎥
⎢5   6   7   8   9 ⎥
⎢                  ⎥
⎢10  11  12  13  14⎥
⎢                  ⎥
⎢15  16  17  18  19⎥
⎢                  ⎥
⎣20  21  22  23  24⎦

⎡0  0  1   0  0⎤
⎢              ⎥
⎢0  0  6   0  0⎥
⎢              ⎥
⎢0  0  11  0  0⎥
⎢              ⎥
⎢0  0  16  0  0⎥
⎢              ⎥
⎣0  0  21  0  0⎦

⎡0   0   0   0   0 ⎤
⎢                  ⎥
⎢10  11  12  13  14⎥
⎢                  ⎥
⎢0   0   0   0   0 ⎥
⎢                  ⎥
⎢0   0   0   0   0 ⎥
⎢                  ⎥
⎣0   0   0   0   0 ⎦

$

0 コメント:

コメントを投稿