2017年12月22日金曜日

学習環境

数学読本〈5〉微分法の応用/積分法/積分法の応用/行列と行列式(松坂 和夫(著)、岩波書店)の第21章(もう1つの数学の基盤 - 行列と行列式)、21.3(連立1次方程式と行列式)、n = 3 の場合、問37.を取り組んでみる。


    1. det ( 3 2 1 4 3 - 1 5 4 1 ) = det ( 3 2 1 7 5 0 2 2 0 ) = 14 - 10 = 4
      x = 1 4 det ( 2 2 1 - 2 3 - 1 6 4 1 ) = 1 4 det ( 0 0 1 0 5 - 1 4 2 1 ) = 1 4 · - 20 = - 5
      y = 1 4 det ( 3 2 1 4 - 2 - 1 5 6 1 ) = 1 4 ( 3 2 1 7 0 0 2 4 0 ) = 1 4 - 7 - 4 = 7
      z = 1 4 det ( 3 2 2 4 3 - 2 5 4 6 ) = 1 4 ( 3 2 2 7 5 0 - 4 - 2 0 ) = 1 2 - 14 + 20 = 3

    2. det ( 1 3 - 5 3 2 3 2 - 6 13 ) = det ( 1 3 - 5 0 - 7 18 0 - 12 23 ) = - 161 + 216 = 55
      x = 1 55 det ( 5 3 - 5 0 2 3 0 - 6 13 ) = 1 11 26 + 18 = 4
      y = 1 55 det ( 1 5 - 5 3 0 3 2 0 13 ) = - 1 11 39 - 6 = - 3
      z = 1 55 det ( 1 3 5 3 2 0 2 - 6 0 ) = 1 11 - 18 - 4 = - 2

コード(Emacs)

Python 3

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

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

eqs = [
    (
        3 * x + 2 * y + z - 2,
        4 * x + 3 * y - z + 2,
        5 * x + 4 * y + z - 6
    ),
    (
        x + 3 * y - 5 * z - 5,
        3 * x + 2 * y + 3 * z,
        2 * x - 6 * y + 13 * z
    )
]

for i, eqs0 in enumerate(eqs, 1):
    print(f'({i})')
    pprint(solve(eqs0, (x, y, z)))

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

$ ./sample37.py
(1)
{x: -5, y: 7, z: 3}
(2)
{x: 4, y: -3, z: -2}
$

0 コメント:

コメントを投稿