2020年6月3日水曜日

学習環境

ラング線形代数学(上) (ちくま学現文庫)(S.ラング (著)、芹沢 正三 (翻訳)、筑摩書房)の6章(行列式)、4(行列式の存在)、練習問題5の解答を求めてみる。



    1. det [ 1 x 1 x 1 2 1 x 2 x 2 2 1 x 3 x 3 2 ] = det [ 1 0 0 0 x 2 - x 1 x 2 2 - x 1 2 0 x 3 - x 1 x 3 2 - x 1 2 ] = x 2 - x 1 x 3 2 - x 1 2 - x 2 2 - x 1 2 x 3 - x 1 = x 2 - x 1 x 3 - x 1 x 3 + x 1 - x 2 + x 1 = x 2 - x 1 x 3 - x 1 x 3 - x 2

      (証明終)


    2. det [ 1 x 1 x 1 n - 1 1 x 2 x 2 n - 1 1 x n x n n - 1 ]
      = det [ 1 0 0 0 0 x 2 - x 1 x 2 2 - x 2 x 1 x 2 n - 1 - x 2 n - 2 x 1 0 x n - x 1 x n 2 - x n x 1 x n n - 1 - x n n - 2 x 1 ]
      = x n - x 1 x n - 1 - x 1 · · x 2 - x 1 det [ n x 2 x 2 n - 2 1 x 3 x 3 n - 2 1 x n x n n - 2 ]

      よって、帰納法により、

      det [ 1 x 1 x 1 n - 1 1 x 2 x 2 n - 1 1 x n x n n - 1 ] = i < j x j - x i

      が成り立つ。

      (証明終)

コード

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

print('5.')


class TestMatrixDet(TestCase):
    def test_a(self):
        x1, x2, x3 = symbols('x1, x2, x3')
        v = Matrix([[x ** i for i in range(3)]
                    for x in [x1, x2, x3]])
        self.assertEqual(v.det(),
                         ((x2 - x1) * (x3 - x1) * (x3 - x2)).expand())


if __name__ == "__main__":
    main()

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

% ./sample5.py -v
5.
test_a (__main__.TestMatrixDet) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.048s

OK
%

0 コメント:

コメントを投稿