2017年7月20日木曜日

学習環境

ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の6章(行列式)、3(クラーメルの法則)、練習問題1.を取り組んでみる。


    1. | 3 1 1 1 1 1 0 1 1 | =| 3 1 0 1 1 2 0 1 0 | =| 3 0 0 1 0 2 0 1 0 | =6 x= | 0 1 1 0 1 1 1 1 1 | 6 = 1+1 6 = 1 3 y= | 3 0 1 1 0 1 0 1 1 | 6 = ( 3+1 ) 6 = 2 3 z= | 3 1 0 1 1 0 0 1 1 | 6 = 31 6 = 1 3

    2. | 2 1 1 1 3 2 4 3 1 | =| 2 1 1 1 3 2 5 0 1 | =| 2 1 1 7 0 1 5 0 1 | = ( 1 ) 3 ( 1 )| 7 1 5 1 | =75 =12 x= | 0 1 1 0 3 2 2 3 1 | 12 = 2( 23 ) 12 = 1 6 y= | 2 0 1 1 0 2 4 2 1 | 12 = 2( 41 ) 12 = 5 6 z= | 2 1 0 1 3 0 4 3 2 | 12 = 2( 6+1 ) 12 = 7 6

コード(Emacs)

Python 3

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from sympy import pprint, symbols, solve

print('1.')

x, y, z = symbols('x y z')
eqs = [
    (
        3 * x + y - z,
        x + y + z,
        y - z - 1
    ),
    (
        2 * x - y + z,
        x + 3 * y - 2 * z,
        4 * x - 3 * y + z - 2
    )
]

for i, eqs0 in enumerate(eqs):
    print(f'({chr(ord("a") + i)})')
    pprint(solve(eqs0, dict=True))

入出力結果(Terminal, IPython)

$ ./sample1.py
1.
(a)
[{x: -1/3, y: 2/3, z: -1/3}]
(b)
[{x: 1/6, y: -5/6, z: -7/6}]
$

0 コメント:

コメントを投稿