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