2018年1月31日水曜日

学習環境

線型代数入門(松坂 和夫(著)、岩波書店)の第5章(行列式)、7(積の行列式)、問題4.を取り組んでみる。


  1. det ( x 1 y 1 z 1 1 x 2 y 2 z 2 1 x 3 y 3 z 3 1 x 4 y 4 z 4 1 ) = 0

コード(Emacs)

Python 3

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

A = Matrix([[symbols(f'x{i}') for i in range(1, 5)],
            [symbols(f'y{i}') for i in range(1, 5)],
            [symbols(f'z{i}') for i in range(1, 5)],
            [1 for _ in range(4)]]).T
D = A.det()
for t in [A, D, D.factor(), solve(D)]:
    pprint(t)
    print()

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

$ ./sample4.py
⎡x₁  y₁  z₁  1⎤
⎢             ⎥
⎢x₂  y₂  z₂  1⎥
⎢             ⎥
⎢x₃  y₃  z₃  1⎥
⎢             ⎥
⎣x₄  y₄  z₄  1⎦

x₁⋅y₂⋅z₃ - x₁⋅y₂⋅z₄ - x₁⋅y₃⋅z₂ + x₁⋅y₃⋅z₄ + x₁⋅y₄⋅z₂ - x₁⋅y₄⋅z₃ - x₂⋅y₁⋅z₃ + x
₂⋅y₁⋅z₄ + x₂⋅y₃⋅z₁ - x₂⋅y₃⋅z₄ - x₂⋅y₄⋅z₁ + x₂⋅y₄⋅z₃ + x₃⋅y₁⋅z₂ - x₃⋅y₁⋅z₄ - x₃
⋅y₂⋅z₁ + x₃⋅y₂⋅z₄ + x₃⋅y₄⋅z₁ - x₃⋅y₄⋅z₂ - x₄⋅y₁⋅z₂ + x₄⋅y₁⋅z₃ + x₄⋅y₂⋅z₁ - x₄⋅
y₂⋅z₃ - x₄⋅y₃⋅z₁ + x₄⋅y₃⋅z₂

x₁⋅y₂⋅z₃ - x₁⋅y₂⋅z₄ - x₁⋅y₃⋅z₂ + x₁⋅y₃⋅z₄ + x₁⋅y₄⋅z₂ - x₁⋅y₄⋅z₃ - x₂⋅y₁⋅z₃ + x
₂⋅y₁⋅z₄ + x₂⋅y₃⋅z₁ - x₂⋅y₃⋅z₄ - x₂⋅y₄⋅z₁ + x₂⋅y₄⋅z₃ + x₃⋅y₁⋅z₂ - x₃⋅y₁⋅z₄ - x₃
⋅y₂⋅z₁ + x₃⋅y₂⋅z₄ + x₃⋅y₄⋅z₁ - x₃⋅y₄⋅z₂ - x₄⋅y₁⋅z₂ + x₄⋅y₁⋅z₃ + x₄⋅y₂⋅z₁ - x₄⋅
y₂⋅z₃ - x₄⋅y₃⋅z₁ + x₄⋅y₃⋅z₂

⎡⎧    x₂⋅y₁⋅z₃ - x₂⋅y₁⋅z₄ - x₂⋅y₃⋅z₁ + x₂⋅y₃⋅z₄ + x₂⋅y₄⋅z₁ - x₂⋅y₄⋅z₃ - x₃⋅y₁⋅
⎢⎨x₁: ────────────────────────────────────────────────────────────────────────
⎣⎩                                                                            

z₂ + x₃⋅y₁⋅z₄ + x₃⋅y₂⋅z₁ - x₃⋅y₂⋅z₄ - x₃⋅y₄⋅z₁ + x₃⋅y₄⋅z₂ + x₄⋅y₁⋅z₂ - x₄⋅y₁⋅z
──────────────────────────────────────────────────────────────────────────────
   y₂⋅z₃ - y₂⋅z₄ - y₃⋅z₂ + y₃⋅z₄ + y₄⋅z₂ - y₄⋅z₃                              

₃ - x₄⋅y₂⋅z₁ + x₄⋅y₂⋅z₃ + x₄⋅y₃⋅z₁ - x₄⋅y₃⋅z₂⎫⎤
─────────────────────────────────────────────⎬⎥
                                             ⎭⎦

$

0 コメント:

コメントを投稿