学習環境
- 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
- 参考書籍
解析入門〈2〉(松坂 和夫(著)、岩波書店)の第10章(n次元空間)、10.1(ユークリッド空間)、問題1.を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from sympy import pprint, symbols, Matrix
print('1.')
a1, a2, b1, b2 = symbols('a1 a2 b1 b2', real=True)
a = Matrix([a1, a2])
b = Matrix([b1, b2])
expr1 = (a + b).norm() ** 2 + (a - b).norm() ** 2
expr2 = 2 * (a.norm() ** 2 + b.norm() ** 2)
for expr in [expr1, expr2]:
pprint(expr)
pprint(expr.factor())
print()
print(expr1.expand() == expr2.expand())
入出力結果(Terminal, IPython)
$ ./sample1.py
1.
2 2 2 2
(a₁ - b₁) + (a₁ + b₁) + (a₂ - b₂) + (a₂ + b₂)
⎛ 2 2 2 2⎞
2⋅⎝a₁ + a₂ + b₁ + b₂ ⎠
2 2 2 2
2⋅a₁ + 2⋅a₂ + 2⋅b₁ + 2⋅b₂
⎛ 2 2 2 2⎞
2⋅⎝a₁ + a₂ + b₁ + b₂ ⎠
True
$
0 コメント:
コメントを投稿