学習環境
- Surface Go、タイプ カバー、ペン(端末)
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad Pro + Apple Pencil
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
ラング線形代数学(上)(S.ラング (著)、芹沢 正三 (翻訳)、ちくま学芸文庫)の3章(行列)、2(行列の乗法)、練習問題4の解答を求めてみる。
コード
Python 3
#!/usr/bin/env python3 from sympy import pprint, symbols, Matrix, solve print('4.') def cmp(A, B): return all([A[i, j].expand() == B[i, j].expand() for i in range(2) for j in range(2)]) print('可換な場合。') a, b, c, d = symbols('a, b, c, d', real=True) A = Matrix([[1, 1], [0, 1]]) B = Matrix([[a, b], [c, d]]) d = solve(A * B - B * A, a, b, c, d) pprint(d) B = B.subs(d) for t in [A, B, A * B == B * A, cmp((A + B) ** 2, A ** 2 + 2 * A * B + B ** 2), cmp((A + B) * (A - B), A ** 2 - B ** 2)]: pprint(t) print() print('可換ではない場合。') B = Matrix([[1, 1], [1, 1]]) for t in [A, B, A * B == B * A, cmp((A + B) ** 2, A ** 2 + 2 * A * B + B ** 2), cmp((A + B) * (A - B), A ** 2 - B ** 2)]: pprint(t) print()
入出力結果(cmd(コマンドプロンプト)、Terminal、Jupyter(IPython))
$ python3 sample4.py 4. 可換な場合。 {a: d, c: 0} ⎡1 1⎤ ⎢ ⎥ ⎣0 1⎦ ⎡d b⎤ ⎢ ⎥ ⎣0 d⎦ True True True 可換ではない場合。 ⎡1 1⎤ ⎢ ⎥ ⎣0 1⎦ ⎡1 1⎤ ⎢ ⎥ ⎣1 1⎦ False False False $
0 コメント:
コメントを投稿