2020年8月8日土曜日

学習環境

ラング線形代数学(上) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の7章(スカラー積と直交性)、5(行列の階数と1次方程式)、練習問題9の解答を求めてみる。


  1. 行列の階数は、 1次独立な行ベクトルの個数なので、 2つの行を交換しても変わらない。

    同様に、1つの行のスカラー伝を他の行にせにえても変わらない。

    行列の階数は、 1次独立な列ベクトルの個数なので、行の場合と同様に、変わらない。

コード

#!/usr/bin/env python3
from unittest import TestCase, main
import random
from sympy import Matrix

print('9.')


class Test(TestCase):
    def test(self):
        for _ in range(100):
            m = random.randrange(1, 5)
            n = random.randrange(1, 5)
            A = Matrix([[random.randrange(-100, 101) for _ in range(n)]
                        for _ in range(m)])
            i1, i2 = [random.choice(range(m)) for _ in range(2)]
            B = A[:, :]
            B[i1], B[i2] = B[i2], B[i1]
            self.assertEqual(A.rank(), B.rank())
            B = A[:, :]
            B[random.randrange(m)] *= \
                random.randrange(-100, 101) * B[random.randrange(m)]
            self.assertEqual(A.rank(), B.rank())


if __name__ == "__main__":
    main()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample9.py -v
9.
test (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.192s

OK
%

1 コメント :

コメントを投稿