2017年11月23日木曜日

学習環境

数学読本〈5〉微分法の応用/積分法/積分法の応用/行列と行列式(松坂 和夫(著)、岩波書店)の第21章(もう1つの数学の基盤 - 行列と行列式)、21.1(行列とその演算)、行列の乗法の性質(2)、問14.を取り組んでみる。


  1. 2次の正方行列 A を

    A = ( a b c d )

    とおく。

    A は 2次の任意の行列と可換なので、

    ( 1 0 0 0 )

    と可換。

    A ( 1 0 0 0 ) = ( a 0 c 0 )
    ( 1 0 0 0 ) A = ( a b 0 0 )
    ( a 0 c o ) = ( a b 0 0 )

    よって、

    b = c = 0

    また、 A は

    ( 0 0 1 0 )

    と可換であることから、

    A ( 0 0 1 0 ) = ( b 0 d 0 )
    ( 0 0 1 0 ) A = ( 0 0 a b )

    よって、

    d = a

    ゆえに

    A = ( a 0 0 a ) = a ( 1 0 0 1 ) = a E

    (証明終)

コード(Emacs)

Python 3

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

print('問14')
a, b, c, d, x, y, z, w = symbols('a, b, c, d, x, y, z, w')
A = Matrix([[a, b],
            [c, d]])
X = Matrix([[x, y],
            [z, w]])

for t in [A, X, solve(A * X - X * A, (a, b, c, d))]:
    pprint(t)
    print()

k = symbols('k')
A = k * Matrix([[1, 0],
                [0, 1]])
pprint(A)
for _ in range(5):
    X = randMatrix(2, 2)
    for t in [X, A * X == X * A]:
        pprint(t)
        print()

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

$ ./sample14.py
問14
⎡a  b⎤
⎢    ⎥
⎣c  d⎦

⎡x  y⎤
⎢    ⎥
⎣z  w⎦

⎧   -c⋅(w - x) + d⋅z     c⋅y⎫
⎨a: ────────────────, b: ───⎬
⎩          z              z ⎭

⎡k  0⎤
⎢    ⎥
⎣0  k⎦
⎡2   21⎤
⎢      ⎥
⎣77  95⎦

True

⎡31  15⎤
⎢      ⎥
⎣82  4 ⎦

True

⎡58  70⎤
⎢      ⎥
⎣84  63⎦

True

⎡22  9 ⎤
⎢      ⎥
⎣31  66⎦

True

⎡28  58⎤
⎢      ⎥
⎣4   9 ⎦

True

$

0 コメント:

コメントを投稿