2017年12月6日水曜日

学習環境

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


  1. det b , a = | b 1 a 1 b 2 a 2 | = b 1 a 2 - a 1 b 2 = - a 1 b 2 - b 1 a 2 = - | a 1 b 1 a 2 b 2 | = - det a , b

  2. det a + k b , b = | a 1 + k b 1 b 1 a 2 + k b 2 b 2 | = a 1 + k b 1 b 2 - b 1 a 2 + k b 2 = a 1 b 2 + k b 1 b 2 - b 1 a 2 - k b 1 b 2 = a 1 b 2 - b 1 a 2 = | a 1 b 1 a 2 b 2 | = det a , b
    det a , b + k a = | a 1 b 1 + k a , a 2 b 2 + k a 2 | = a 1 b 2 + k a 2 - b 1 + k a 1 a 2 = a 1 b 2 + k a 1 a 2 - b 1 a 2 - k a 1 a 2 = a 1 b 2 - b 1 a 2 = | a 1 b 1 a 2 b 2 | = det a , b

コード(Emacs)

Python 3

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

print('D4')
a1, a2, b1, b2, k = symbols('a1, a2, b1, b2, k')

X = Matrix([[a1, b1],
            [a2, b2]])
Y = Matrix([[b1, a1],
            [b2, a2]])

for t in [X, Y, Y.det(), Y.det() == -X.det()]:
    pprint(t)
    print()

print('D5')
X = Matrix([[a1 + k * b1, b1],
            [a2 + k * b2, b2]])
Y = Matrix([[a1, b1],
            [a2, b2]])

for t in [X, Y, X.det(), X.det().factor() == Y.det().factor()]:
    pprint(t)
    print()

X = Matrix([[a1, b1 + k * a1],
            [a2, b2 + k * a2]])
Y = Matrix([[a1, b1],
            [a2, b2]])

for t in [X, Y, X.det(), X.det().factor() == Y.det().factor()]:
    pprint(t)
    print()

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

$ ./sample0.py
D4
⎡a₁  b₁⎤
⎢      ⎥
⎣a₂  b₂⎦

⎡b₁  a₁⎤
⎢      ⎥
⎣b₂  a₂⎦

-a₁⋅b₂ + a₂⋅b₁

True

D5
⎡a₁ + b₁⋅k  b₁⎤
⎢             ⎥
⎣a₂ + b₂⋅k  b₂⎦

⎡a₁  b₁⎤
⎢      ⎥
⎣a₂  b₂⎦

-b₁⋅(a₂ + b₂⋅k) + b₂⋅(a₁ + b₁⋅k)

True

⎡a₁  a₁⋅k + b₁⎤
⎢             ⎥
⎣a₂  a₂⋅k + b₂⎦

⎡a₁  b₁⎤
⎢      ⎥
⎣a₂  b₂⎦

a₁⋅(a₂⋅k + b₂) - a₂⋅(a₁⋅k + b₁)

True

$

0 コメント:

コメントを投稿