Processing math: 100%

2017年12月17日日曜日

学習環境

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


    1. (AB)T=(-2+12-3+13)T=(-12-23)T=(-1-223)
      BTAT=(-1110)(2311)=(-2+1-3+123)=(-1-223)

      よって、

      (AB)T=BTAT

    2. (AB)T=(2+2-32+13+2+63-2)T=(13111)T=(11131)
      BTAT=(12310-1)(2311-12)=(2+2-33+2+62+13-2)=(11131)

      よって、

      (AB)T=BTAT

    3. (AB)T=(2+8+32+4+1-4+53-33-1-5)T=(137102-5)T=(130721-5)
      BTAT=(1231110-15)(23401-1)=(2+8+33-32+4+13-1-4+5-5)=(130721-5)

      よって、

      (AB)T=BTAT

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

    m×n,n×l,l×k

    型の行列とする。

    成分表示を考える。

    ABC=(nt=1aitbtj)C=(ls=1(nt=1aitbts)csj)

    よって、

    (ABC)T=(ls=1(nt=1ajtbts)csi)

    また、

    CTBTAT=(ls=1csibjs)AT=(nt=1(ls=1csibts)ajt)=(ls=1(nt=1ajtbtscsi))=(ls=1(nt=1ajtbts)csi)

    よって、

    (ABC)T=CTBTAT

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

コメントを投稿