2018年8月11日土曜日

学習環境

ラング線形代数学(下)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の9章(多項式と行列)、4(特性多項式)、練習問題3-(h).を取り組んでみる。



    1. 特性多項式。

      det t + 1 - 2 - 2 - 2 t - 2 - 2 3 6 t + 6 = t 2 - t - 2 t + 6 + 12 + 24 + 12 t + 1 - 4 t + 6 + 6 t - 2 = t 3 + 5 t 2 - 8 t + 24 + 12 t + 12 - 4 t - 24 + 6 t - 12 = t 3 + 5 t 2 + 6 t

      固有値。

      t t 2 + 5 t + 6 = 0 t t + 2 t + 3 = 0 λ = - 3 , - 2 , 0

      固有ベクトル。

      - 2 - 2 - 2 - 2 - 5 - 2 3 6 3 x y z = 0 0 0 x + y + z = 0 2 x + 5 y + 2 y = 0 x + 2 y + z = 0 x = 1 , y = 0 , z = - 1 - 1 - 2 - 2 - 2 - 4 - 2 3 6 4 x y z = 0 0 0 x + 2 y + 2 z = 0 x + 2 y + z = 0 3 x + 6 y + 4 z = 0 x = 2 , y = - 1 , z = 0 1 - 2 - 2 - 2 - 2 - 2 3 6 6 x y z = 0 0 0 x - 2 y - 2 z = 0 x + y + z = 0 x + 2 y + 2 z = 0 x = 0 , y = 1 , z = - 1 1 , 0 , - 1 , 2 , - 1 , 0 , 0 , 1 , - 1

コード(Emacs)

Python 3

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

print('3-(f).')

t, x, y, z = symbols('t, x, y, z')

A = Matrix([[3, 2, 1],
            [0, 1, 2],
            [0, 1, -1]])
B = Matrix([[t, 0, 0],
            [0, t, 0],
            [0, 0, t]])
C = B - A
D = C.det().factor()
ts = solve(D, t)
X = Matrix([[x],
            [y],
            [z]])
for s in [A, B, C, D, ts]:
    pprint(s)
    print()

for t0 in ts:
    E = C.subs({t: t0}) * X
    a, b, c = E
    pprint(solve((a, b, c), dict=True))

xyzs = [(-sqrt(3) + 3, 2 * (-sqrt(3) - 3), 4 * sqrt(3) + 6),
        (sqrt(3) + 3, 2 * (sqrt(3) - 3), -4 * sqrt(3) + 6)]
for t0, (x0, y0, z0) in zip(ts[1:], xyzs):
    E = C.subs({t: t0}) * X.subs({x: x0, y: y0, z: z0})
    pprint(E.expand())

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

$ ./sample10.py 
3-(f).
⎡3  2  1 ⎤
⎢        ⎥
⎢0  1  2 ⎥
⎢        ⎥
⎣0  1  -1⎦

⎡t  0  0⎤
⎢       ⎥
⎢0  t  0⎥
⎢       ⎥
⎣0  0  t⎦

⎡t - 3   -2     -1  ⎤
⎢                   ⎥
⎢  0    t - 1   -2  ⎥
⎢                   ⎥
⎣  0     -1    t + 1⎦

        ⎛ 2    ⎞
(t - 3)⋅⎝t  - 3⎠

[3, -√3, √3]

[{y: 0, z: 0}]
[{x: nan, y: nan, z: nan}]
[{x: nan, y: nan, z: nan}]
⎡0⎤
⎢ ⎥
⎢0⎥
⎢ ⎥
⎣0⎦
⎡0⎤
⎢ ⎥
⎢0⎥
⎢ ⎥
⎣0⎦
$

0 コメント:

コメントを投稿