学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
ラング線形代数学(上) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の3章(行列)、2(行列の積)、練習問題19の解答を求めてみる。
よって
また、
よって、
よって、 AB、 BA ともに三角行列で、その対角要素は1である。
(証明終)
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import Matrix, symbols
print('19.')
def a(i, j):
if i > j:
return 0
if i == j:
return symbols(f'a{i}{j}', nonzero=True)
return symbols(f'a{i}{j}')
def b(i, j):
if i == j:
return 1 / symbols(f'a{i}{j}', nonzero=True)
return 0
n = 4
A = Matrix([[a(i + 1, j + 1) for j in range(n)]
for i in range(n)])
B = Matrix([[b(i + 1, j + 1) for j in range(n)]
for i in range(n)])
class MyTestCase(TestCase):
def testAB(self):
C = A * B
for i in range(n):
for j in range(n):
if i == j:
self.assertEqual(C[i, j], 1)
if j < i:
self.assertEqual(C[i, j], 0)
def testBA(self):
C = B * A
for i in range(n):
for j in range(n):
if i == j:
self.assertEqual(C[i, j], 1)
if j < i:
self.assertEqual(C[i, j], 0)
if __name__ == '__main__':
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample19.py -v
19.
testAB (__main__.MyTestCase) ... ok
testBA (__main__.MyTestCase) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.043s
OK
%
0 コメント:
コメントを投稿