学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad Pro + Apple Pencil
- MyScript Nebo(iPad アプリ)
- 参考書籍
線型代数入門(松坂 和夫(著)、岩波書店)の第3章(線型写像)、10(行列の階数)、問題7.を取り組んでみる。
-
-
A、Bをn次の正方行列とする。
rank(A + B) ≤ rank A + rank Bが成り立つ。
-
Aをl × m 行列、Bをm × n行列とする。
もし、AB=Oならば、rank A + rank B ≤ mが成り立つ。
-
コード(Emacs)
Python 3
#!/usr/bin/env python3 from sympy import pprint, symbols, Matrix import random print('7-9.') for n in range(1, 6): print(f'{n}次の正方行列') for _ in range(2): A = Matrix([[random.randrange(10) for _ in range(n)] for _ in range(n)]) B = Matrix([[random.randrange(10) for _ in range(n)] for _ in range(n)]) C = A + B b = C.rank() <= A.rank() + B.rank() for t in [A, B, C, C.rank(), A.rank() + B.rank(), b]: pprint(t) print() print() print('7-10.') for _ in range(10): while True: l = random.randrange(1, 10) m = random.randrange(1, 10) n = random.randrange(1, 10) A = Matrix([[random.randrange(10) - 5 for _ in range(m)] for _ in range(l)]) B = Matrix([[random.randrange(10) - 5 for _ in range(n)] for _ in range(m)]) Z = Matrix([[0 for _ in range(n)] for _ in range(l)]) if A * B == Z: print(f'A: {l}×{m}行列, B: {m}×{n}行列') for t in [A, B]: pprint(t) print() print(A.rank() + B.rank() <= m) break
入出力結果(Terminal, Jupyter(IPython))
$ ./sample7.py 7-9. 1次の正方行列 [4] [1] [5] 1 2 True [7] [7] [14] 1 2 True 2次の正方行列 ⎡1 3⎤ ⎢ ⎥ ⎣0 6⎦ ⎡6 9⎤ ⎢ ⎥ ⎣7 6⎦ ⎡7 12⎤ ⎢ ⎥ ⎣7 12⎦ 1 4 True ⎡4 9⎤ ⎢ ⎥ ⎣4 3⎦ ⎡9 5⎤ ⎢ ⎥ ⎣9 7⎦ ⎡13 14⎤ ⎢ ⎥ ⎣13 10⎦ 2 4 True 3次の正方行列 ⎡9 9 6⎤ ⎢ ⎥ ⎢5 0 6⎥ ⎢ ⎥ ⎣2 3 3⎦ ⎡4 1 0⎤ ⎢ ⎥ ⎢2 0 3⎥ ⎢ ⎥ ⎣5 1 9⎦ ⎡13 10 6 ⎤ ⎢ ⎥ ⎢7 0 9 ⎥ ⎢ ⎥ ⎣7 4 12⎦ 3 6 True ⎡7 8 8⎤ ⎢ ⎥ ⎢8 5 6⎥ ⎢ ⎥ ⎣3 0 5⎦ ⎡0 3 3⎤ ⎢ ⎥ ⎢1 3 8⎥ ⎢ ⎥ ⎣5 4 6⎦ ⎡7 11 11⎤ ⎢ ⎥ ⎢9 8 14⎥ ⎢ ⎥ ⎣8 4 11⎦ 3 6 True 4次の正方行列 ⎡4 6 7 9⎤ ⎢ ⎥ ⎢8 2 7 6⎥ ⎢ ⎥ ⎢7 0 3 4⎥ ⎢ ⎥ ⎣9 3 3 8⎦ ⎡4 2 6 9⎤ ⎢ ⎥ ⎢7 5 1 8⎥ ⎢ ⎥ ⎢5 3 8 7⎥ ⎢ ⎥ ⎣8 2 3 1⎦ ⎡8 8 13 18⎤ ⎢ ⎥ ⎢15 7 8 14⎥ ⎢ ⎥ ⎢12 3 11 11⎥ ⎢ ⎥ ⎣17 5 6 9 ⎦ 4 8 True ⎡8 6 9 1⎤ ⎢ ⎥ ⎢0 3 2 3⎥ ⎢ ⎥ ⎢8 6 4 8⎥ ⎢ ⎥ ⎣5 0 3 4⎦ ⎡5 0 4 9⎤ ⎢ ⎥ ⎢6 8 5 4⎥ ⎢ ⎥ ⎢4 7 7 2⎥ ⎢ ⎥ ⎣1 8 0 4⎦ ⎡13 6 13 10⎤ ⎢ ⎥ ⎢6 11 7 7 ⎥ ⎢ ⎥ ⎢12 13 11 10⎥ ⎢ ⎥ ⎣6 8 3 8 ⎦ 4 8 True 5次の正方行列 ⎡8 8 2 5 7⎤ ⎢ ⎥ ⎢9 6 4 7 1⎥ ⎢ ⎥ ⎢1 5 0 9 1⎥ ⎢ ⎥ ⎢2 6 1 5 7⎥ ⎢ ⎥ ⎣8 9 3 8 6⎦ ⎡9 9 4 8 1⎤ ⎢ ⎥ ⎢8 6 9 9 9⎥ ⎢ ⎥ ⎢1 0 0 1 1⎥ ⎢ ⎥ ⎢9 5 4 1 7⎥ ⎢ ⎥ ⎣3 4 2 1 5⎦ ⎡17 17 6 13 8 ⎤ ⎢ ⎥ ⎢17 12 13 16 10⎥ ⎢ ⎥ ⎢2 5 0 10 2 ⎥ ⎢ ⎥ ⎢11 11 5 6 14⎥ ⎢ ⎥ ⎣11 13 5 9 11⎦ 5 10 True ⎡6 5 3 8 6⎤ ⎢ ⎥ ⎢7 4 8 0 7⎥ ⎢ ⎥ ⎢7 2 5 6 9⎥ ⎢ ⎥ ⎢7 5 2 9 3⎥ ⎢ ⎥ ⎣2 4 6 0 0⎦ ⎡8 7 4 0 7⎤ ⎢ ⎥ ⎢1 9 8 1 6⎥ ⎢ ⎥ ⎢6 5 0 2 3⎥ ⎢ ⎥ ⎢3 4 4 4 2⎥ ⎢ ⎥ ⎣1 3 5 6 9⎦ ⎡14 12 7 8 13⎤ ⎢ ⎥ ⎢8 13 16 1 13⎥ ⎢ ⎥ ⎢13 7 5 8 12⎥ ⎢ ⎥ ⎢10 9 6 13 5 ⎥ ⎢ ⎥ ⎣3 7 11 6 9 ⎦ 5 10 True 7-10. A: 1×3行列, B: 3×3行列 [0 0 0] ⎡-1 3 -5⎤ ⎢ ⎥ ⎢0 -1 1 ⎥ ⎢ ⎥ ⎣-5 -5 0 ⎦ True A: 1×1行列, B: 1×4行列 [0] [1 2 -3 4] True A: 1×1行列, B: 1×8行列 [0] [0 3 0 -5 -2 0 4 -4] True A: 1×2行列, B: 2×7行列 [0 0] ⎡0 -1 0 2 -2 1 1⎤ ⎢ ⎥ ⎣4 -3 -4 2 -4 -4 0⎦ True A: 1×1行列, B: 1×4行列 [0] [0 -2 4 -2] True A: 1×2行列, B: 2×1行列 [-2 -1] ⎡1 ⎤ ⎢ ⎥ ⎣-2⎦ True A: 8×1行列, B: 1×1行列 ⎡-3⎤ ⎢ ⎥ ⎢0 ⎥ ⎢ ⎥ ⎢-2⎥ ⎢ ⎥ ⎢1 ⎥ ⎢ ⎥ ⎢2 ⎥ ⎢ ⎥ ⎢-2⎥ ⎢ ⎥ ⎢3 ⎥ ⎢ ⎥ ⎣-2⎦ [0] True A: 5×1行列, B: 1×1行列 ⎡-2⎤ ⎢ ⎥ ⎢4 ⎥ ⎢ ⎥ ⎢-2⎥ ⎢ ⎥ ⎢-3⎥ ⎢ ⎥ ⎣-4⎦ [0] True A: 1×1行列, B: 1×4行列 [0] [-4 4 4 4] True A: 3×1行列, B: 1×1行列 ⎡4⎤ ⎢ ⎥ ⎢3⎥ ⎢ ⎥ ⎣0⎦ [0] True $
0 コメント:
コメントを投稿