学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- 数式入力ソフト(TeX, MathML): MathType
- MathML対応ブラウザ: Firefox、Safari
- MathML非対応ブラウザ(Internet Explorer, Microsoft Edge, Google Chrome...)用JavaScript Library: MathJax
- 参考書籍
線型代数入門(松坂 和夫(著)、岩波書店)の第1章(2次元と3次元の簡単な幾何学)、10(空間における直線・平面の方程式)、問5.を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from sympy import pprint, symbols, sqrt print('5.') a, b, c = symbols('a b c', nonzero=True) eqs = [(-1 / (3 * sqrt(5)), (2, 4, -5)), (-1 / sqrt(14), (2, -3, 1)), (1 / 7, (6, 3, 2))] for i, (t, nums) in enumerate(eqs): print(f'({chr(ord("a") + i)})') pprint(t) print(nums) result = sum(map(lambda x: (t * x) ** 2, nums)) pprint(result) print(float(result) == 1) t = abs(a * b * c) / sqrt((b * c) ** 2 + (c * a) ** 2 + (a * b) ** 2) nums = (1 / a, 1 / b, 1 / c) pprint(t) print(nums) result = sum(map(lambda x: (t * x) ** 2, nums)) pprint(result) pprint(result.factor() == 1)
入出力結果(Terminal, IPython)
$ ./sample5.py 5. (a) -√5 ──── 15 (2, 4, -5) 1 True (b) -√14 ───── 14 (2, -3, 1) 1 True (c) 0.14285714285714285 (6, 3, 2) 0.9999999999999999 False │a⋅b⋅c│ ────────────────────────── _______________________ ╱ 2 2 2 2 2 2 ╲╱ a ⋅b + a ⋅c + b ⋅c (1/a, 1/b, 1/c) 2 2 2 2 2 2 a ⋅b a ⋅c b ⋅c ───────────────────── + ───────────────────── + ───────────────────── 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 a ⋅b + a ⋅c + b ⋅c a ⋅b + a ⋅c + b ⋅c a ⋅b + a ⋅c + b ⋅c True $
0 コメント:
コメントを投稿