Loading [MathJax]/jax/output/HTML-CSS/jax.js

2017年12月18日月曜日

学習環境

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


    1. ベクトル A、 B、 C

      AT=(a1,,an)BT=(b1,,bn)CT=(c1,,cn)

      とおく。

      また、行列 M の成分表示を

      M=(xij)

      とおく。

      問題の仮定より、

      xij=xji

      SP 1 について。

      A,B=(nk=1akxkj)B=(nl=1(nk=1akxkl)bl)
      B,A=(nk=1bkxkj)A=(nl=1(nk=1bkxkl)al)=(nl=1(nk=1alxklbk))

      ここで、

      xkl=xlk

      であることを考えれば、

      B,A=(nl=1(nk=1akxkl)bl)

      よって、

      A,B=B,A

    2. A,B+C=(nk=1akxkj)(B+C)=(nl=1(nk=1akxkl)(bl+cl))=((nl=1(nk=1akxke)bl)+(nl=1(nk=1akxkl)cl))=A,B+A,C

      SP 1より

      B+C,A=A,B+C

      よって、

      A,B+c=A,B+A,c=B+C,A

    3. xA,B=(nk=1xakxkj)B=x(nk=1akxkj)B=x(nl=1(nk=1akxkl)bl)=xA,B
      A,xB=(nk=1akxkj)(xB)=(nl=1(nk=1akxkl)xbl)=x(nl=1(nk=1akxke)bl)=xA,B

    4. O,O=(nk=10xkj)O=O

    負数となる例。

    A=(10),M=(1001),B=(-10)

    実際に確認。

    (1,0)(1001)(-10)=(1,0)(-10)=(-1+0)=(-1)

コード(Emacs)

Python 3

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

M = Matrix([[1, 0],
            [0, 1]])

A = Matrix([[1],
            [0]])

B = Matrix([[-1],
            [0]])


for t in [M, A, B, M == M.T, A.T * M * B]:
    pprint(t)
    print()

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

$ ./sample10.py
⎡1  0⎤
⎢    ⎥
⎣0  1⎦

⎡1⎤
⎢ ⎥
⎣0⎦

⎡-1⎤
⎢  ⎥
⎣0 ⎦

True

[-1]

$

0 コメント:

コメントを投稿