2017年12月19日火曜日

学習環境

オイラーの贈物―人類の至宝eiπ=-1を学ぶ (吉田 武(著)、東海大学出版会)の第III部(オイラーの公式とその応用(Euler's Formula & Its Applications))、第9章(ベクトルと行列(Vector & Matrix))、9.3(逆行列と連立1次方程式の解法)、問題5.を取り組んでみる。


  1. D = ( 2 1 1 3 )
    det D = 6 - 1
    D - 1 = 1 6 - 1 ( 3 - 1 - 1 2 )
    ( x y ) = 1 6 - 1 ( 3 - 1 - 1 2 ) ( 2 + 3 3 + 2 ) = 1 6 - 1 ( 2 3 + 3 - 3 - 2 - 2 - 3 + 3 2 + 2 ) = 1 6 - 1 ( 2 3 - 2 - 3 + 3 2 ) = 6 + 1 5 ( 2 3 - 2 - 3 + 3 2 ) = ( 6 2 - 2 3 + 2 3 - 2 5 - 3 2 + 6 3 - 3 + 3 2 5 ) = ( 2 3 )

コード(Emacs)

Python 3

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

x, y = symbols('x, y')
X = Matrix([x, y]).reshape(2, 1)
A = Matrix([[sqrt(2), 1],
            [1, sqrt(3)]])
B = Matrix([[2 + sqrt(3)],
            [3 + sqrt(2)]])

s = solve(A * X - B)
for t in [X, A, B, A * X, s,
          (s[x] - sqrt(2)).factor() == 0,
          (s[y] - sqrt(3)).factor() == 0]:
    pprint(t)
    print()

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

$ ./sample5.py
⎡x⎤
⎢ ⎥
⎣y⎦

⎡√2  1 ⎤
⎢      ⎥
⎣1   √3⎦

⎡√3 + 2⎤
⎢      ⎥
⎣√2 + 3⎦

⎡√2⋅x + y⎤
⎢        ⎥
⎣x + √3⋅y⎦

⎧   -2⋅√6 + 2       -6 + √6  ⎫
⎨x: ──────────, y: ──────────⎬
⎩   -2⋅√3 + √2     -2⋅√3 + √2⎭

True

True

$

0 コメント:

コメントを投稿