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