2017年12月15日金曜日

学習環境

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


  1. 3次行列の諸性質、 D 1の線形性により

    det a , b , c = det k 1 a 1 + k 2 a 2 + k 3 a 3 , b , c = det k 1 a 1 , b , c + det k 2 a 2 , b , c + det k 3 a 3 , b , c = k 1 det a 1 , b - > , c + k 2 a 2 , b , c + k 3 det a 3 , b , C

    一般化。

    det i = 1 n k i a i , b , c = i = 1 n k i a i , b , c

コード(Emacs)

Python 3

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

k1, k2, k3 = symbols('k1, k2, k3')
a1 = MatrixSymbol('a1', 3, 1)
a2 = MatrixSymbol('a2', 3, 1)
a3 = MatrixSymbol('a3', 3, 1)
a = k1 * a1 + k2 * a2 + k3 * a3
b = MatrixSymbol('b', 3, 1)
c = MatrixSymbol('c', 3, 1)
X = Matrix([[x[i] for x in [a, b, c]]
            for i in range(3)])
X1 = Matrix([[x[i] for x in [a1, b, c]]
             for i in range(3)])
X2 = Matrix([[x[i] for x in [a2, b, c]]
             for i in range(3)])
X3 = Matrix([[x[i] for x in [a3, b, c]]
             for i in range(3)])

d1 = X.det()
d2 = k1 * X1.det() + k2 * X2.det() + k3 * X3.det()

for t in [X, X1, X2, X3, d1, d2, d1 == d2, d1.expand() == d2.expand(), d1.factor() == d2.factor()]:
    pprint(t)
    print()

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

$ ./sample31.py
⎡k₁⋅a₁ ₀₀ + k₂⋅a₂ ₀₀ + k₃⋅a₃ ₀₀  b₀₀  c₀₀⎤
⎢                                        ⎥
⎢k₁⋅a₁ ₁₀ + k₂⋅a₂ ₁₀ + k₃⋅a₃ ₁₀  b₁₀  c₁₀⎥
⎢                                        ⎥
⎣k₁⋅a₁ ₂₀ + k₂⋅a₂ ₂₀ + k₃⋅a₃ ₂₀  b₂₀  c₂₀⎦

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

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

⎡a₃ ₀₀  b₀₀  c₀₀⎤
⎢               ⎥
⎢a₃ ₁₀  b₁₀  c₁₀⎥
⎢               ⎥
⎣a₃ ₂₀  b₂₀  c₂₀⎦

(k₁⋅a₁ ₀₀ + k₂⋅a₂ ₀₀ + k₃⋅a₃ ₀₀)⋅b₁₀⋅c₂₀ - (k₁⋅a₁ ₀₀ + k₂⋅a₂ ₀₀ + k₃⋅a₃ ₀₀)⋅b₂
₀⋅c₁₀ - (k₁⋅a₁ ₁₀ + k₂⋅a₂ ₁₀ + k₃⋅a₃ ₁₀)⋅b₀₀⋅c₂₀ + (k₁⋅a₁ ₁₀ + k₂⋅a₂ ₁₀ + k₃⋅a
₃ ₁₀)⋅b₂₀⋅c₀₀ + (k₁⋅a₁ ₂₀ + k₂⋅a₂ ₂₀ + k₃⋅a₃ ₂₀)⋅b₀₀⋅c₁₀ - (k₁⋅a₁ ₂₀ + k₂⋅a₂ ₂
₀ + k₃⋅a₃ ₂₀)⋅b₁₀⋅c₀₀

k₁⋅(a₁ ₀₀⋅b₁₀⋅c₂₀ - a₁ ₀₀⋅b₂₀⋅c₁₀ - a₁ ₁₀⋅b₀₀⋅c₂₀ + a₁ ₁₀⋅b₂₀⋅c₀₀ + a₁ ₂₀⋅b₀₀⋅
c₁₀ - a₁ ₂₀⋅b₁₀⋅c₀₀) + k₂⋅(a₂ ₀₀⋅b₁₀⋅c₂₀ - a₂ ₀₀⋅b₂₀⋅c₁₀ - a₂ ₁₀⋅b₀₀⋅c₂₀ + a₂ 
₁₀⋅b₂₀⋅c₀₀ + a₂ ₂₀⋅b₀₀⋅c₁₀ - a₂ ₂₀⋅b₁₀⋅c₀₀) + k₃⋅(a₃ ₀₀⋅b₁₀⋅c₂₀ - a₃ ₀₀⋅b₂₀⋅c₁
₀ - a₃ ₁₀⋅b₀₀⋅c₂₀ + a₃ ₁₀⋅b₂₀⋅c₀₀ + a₃ ₂₀⋅b₀₀⋅c₁₀ - a₃ ₂₀⋅b₁₀⋅c₀₀)

False

True

True

$

0 コメント:

コメントを投稿