学習環境
- 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
- Pythonからはじめる数学入門(参考書籍)
ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の2章(ベクトル空間)、3(基底)、練習問題1.を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from sympy import Symbol, solve, pi
a1 = Symbol('a1')
a2 = Symbol('a2')
a3 = Symbol('a3')
for (x1, x2, x3), (y1, y2, y3) in [((1, 1, 1), (0, 1, -1)),
((-1, 1, 0), (0, 1, 2))]:
expr1 = a1 * x1 + a2 * y1
expr2 = a1 * x2 + a2 * y2
expr3 = a1 * x3 + a2 * y3
print(solve((expr1, expr2, expr3), dict=True))
for (x1, x2), (y1, y2) in [((1, 0), (1, 1)),
((2, -1), (1, 0)),
((pi, 0), (0, 1)),
((1, 2), (1, 3))]:
expr1 = a1 * x1 + a2 * y1
expr2 = a1 * x2 + a2 * y2
print(solve((expr1, expr2), dict=True))
for (x1, x2, x3), (y1, y2, y3), (z1, z2, z3) in [
((1, 1, 0), (1, 1, 1), (0, 1, -1)),
((0, 1, 1), (0, 2, 1), (1, 5, 3))]:
expr1 = a1 * x1 + a2 * y1 + a3 * z1
expr2 = a1 * x2 + a2 * y2 + a3 * z2
expr3 = a1 * x3 + a2 * y3 + a3 * z3
print(solve((expr1, expr2, expr3), dict=True))
入出力結果(Terminal, IPython)
$ ./sample1.py
[{a2: 0, a1: 0}]
[{a2: 0, a1: 0}]
[{a2: 0, a1: 0}]
[{a2: 0, a1: 0}]
[{a2: 0, a1: 0}]
[{a2: 0, a1: 0}]
[{a2: 0, a3: 0, a1: 0}]
[{a1: 0, a2: 0, a3: 0}]
$
0 コメント:
コメントを投稿