学習環境
- 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 コメント:
コメントを投稿