2017年12月17日日曜日

学習環境

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


    1. A B T = ( - 2 + 1 2 - 3 + 1 3 ) T = ( - 1 2 - 2 3 ) T = ( - 1 - 2 2 3 )
      B T A T = ( - 1 1 1 0 ) ( 2 3 1 1 ) = ( - 2 + 1 - 3 + 1 2 3 ) = ( - 1 - 2 2 3 )

      よって、

      A B T = B T A T

    2. A B T = ( 2 + 2 - 3 2 + 1 3 + 2 + 6 3 - 2 ) T = ( 1 3 11 1 ) T = ( 1 11 3 1 )
      B T A T = ( 1 2 3 1 0 - 1 ) ( 2 3 1 1 - 1 2 ) = ( 2 + 2 - 3 3 + 2 + 6 2 + 1 3 - 2 ) = ( 1 11 3 1 )

      よって、

      A B T = B T A T

    3. A B T = ( 2 + 8 + 3 2 + 4 + 1 - 4 + 5 3 - 3 3 - 1 - 5 ) T = ( 13 7 1 0 2 - 5 ) T = ( 13 0 7 2 1 - 5 )
      B T A T = ( 1 2 3 1 1 1 0 - 1 5 ) ( 2 3 4 0 1 - 1 ) = ( 2 + 8 + 3 3 - 3 2 + 4 + 1 3 - 1 - 4 + 5 - 5 ) = ( 13 0 7 2 1 - 5 )

      よって、

      A B T = B T A T

    行列 A. B、 C をそれぞれ

    m × n , n × l , l × k

    型の行列とする。

    成分表示を考える。

    A B C = t = 1 n a i t b t j C = s = 1 l t = 1 n a i t b t s c s j

    よって、

    A B C T = s = 1 l t = 1 n a j t b t s c s i

    また、

    C T B T A T = s = 1 l c s i b j s A T = t = 1 n s = 1 l c s i b t s a j t = s = 1 l t = 1 n a j t b t s c s i = s = 1 l t = 1 n a j t b t s c s i

    よって、

    A B C T = C T B T A T

コード(Emacs)

Python 3

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

m, n, l, k = symbols('m, n, l, k', integer=True)
A = MatrixSymbol('A', m, n)
B = MatrixSymbol('B', n, l)
C = MatrixSymbol('C', l, k)
X1 = (A * B * C).T
X2 = C.T * B.T * A.T

for t in [A, B, C, X1, X2, X1 == X2]:
    pprint(t)
    print()

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

$ ./sample9.py
A

B

C

 T  T  T
C ⋅B ⋅A 

 T  T  T
C ⋅B ⋅A 

True

$

0 コメント:

コメントを投稿