学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- 数式入力ソフト(TeX, MathML): MathType
- MathML対応ブラウザ: Firefox、Safari
- MathML非対応ブラウザ(Internet Explorer, Google Chrome...)用JavaScript Library: MathJax
- 参考書籍
ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の3章(行列)、2(1次方程式)、練習問題1、2、3、4.を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from sympy import pprint, symbols, solve
x, y, z = symbols('x y z')
print('3.')
for i, exprs in enumerate([(2 * x + 3 * y - 5,
4 * x - y - 7),
(2 * x + 3 * y + z,
x - 2 * y - z - 1,
x + 4 * y + z - 2)]):
print('({0})'.format(chr(ord('a') + i)))
pprint(solve(exprs, x, y, z, dict=True))
print('4.')
for i, exprs in enumerate([(+1j * x - 2 * y - 1,
x + 1j * y - 2),
(2 * x + 1j * y - (1 + 1j) * z - 1,
x - 2 * y + 1j * z,
-1j * x + y - (2 - 1j) * z - 1),
((1 + +1j) * x - y,
1j * x + y - 3 + 1j),
(1j * x - (2 + 1j) * y - 1,
x + (2 - 1j) * y - 1 - 1j)]):
print('({0})'.format(chr(ord('a') + i)))
pprint(solve(exprs, x, y, z, dict=True))
入出力結果(Terminal, IPython)
$ ./sample1.py
3.
(a)
[{x: 13/7, y: 3/7}]
(b)
[{x: -1/4, y: 7/4, z: -19/4}]
4.
(a)
[{x: 4.0 + 1.0⋅ⅈ, y: -1.0 + 2.0⋅ⅈ}]
(b)
[{x: 0.4 - 0.7⋅ⅈ, y: 0.5 - 0.5⋅ⅈ, z: -0.3 - 0.6⋅ⅈ}]
(c)
[{x: 0.2 - 1.4⋅ⅈ, y: 1.6 - 1.2⋅ⅈ}]
(d)
[{x: 0.833333333333333 - 0.166666666666667⋅ⅈ, y: -0.166666666666667 + 0.5⋅ⅈ}]
$
0 コメント:
コメントを投稿