2020年7月12日日曜日

学習環境

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



    1. 直交基底。

      ( 1 , i , 0 )
      ( 1 , 1 , 1 ) - ( 1 , 1 , 1 ) · ( 1 , i , 0 ) ( 1 , i , 0 ) · ( 1 , i , 0 ) ( 1 , i , 0 )
      = ( 1 , 1 , 1 ) - 1 - i 2 ( 1 , i , 0 )
      = 1 2 ( 1 + i , 1 - i , 2 )

      正規直交基底。

      ( 1 , i , 0 ) ( 1 , i , 0 ) = 1 2 ( 1 , i , 0 )
      ( 1 + i , 1 - i , 2 ) ( 1 + i , 1 - i , 2 ) = 1 2 + 2 + 4 ( 1 + i , 1 - i , 2 ) = 1 2 2 ( 1 + i , 1 - i , 2 )

    2. 直交基底。

      ( 1 , - 1 , - i )
      ( i , 1 , 2 ) - ( i , 1 , - 2 ) · ( 1 , - 1 , - i ) ( 1 , - 1 , - i ) · ( 1 , - 1 , - i ) ( 1 , - 1 , - i )
      = ( i , 1 , 2 ) - i - 1 + 2 i 1 + 1 + 1 ( 1 , - 1 , - i )
      = ( i , 1 , 2 ) + 1 - 3 i 3 ( 1 , - 1 , - i )
      = 1 3 ( 1 , 2 + 3 i , 3 - i )

      正規直交基底。

      ( 1 , - 1 , - i ) ( 1 , - 1 , - i ) = 1 3 ( 1 , - 1 , - i )
      ( 1 , 2 + 3 i , 3 - i ) ( 1 , 2 + 3 i , 3 - i ) = 1 1 + 13 + 10 ( 1 , 2 + 3 i , 3 - i ) = 1 2 6 ( 1 , 2 + 3 i , 3 - i )

コード

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

print('6.')


class Test(TestCase):
    def test_a(self):
        u = Matrix([1, I, 0]) / sqrt(2)
        v = Matrix([1 + I, 1 - I, 2]) / (2 * sqrt(2))
        for o in [u, v]:
            self.assertEqual(o.norm(), 1)
        self.assertEqual(u.dot(v.conjugate()).expand(), 0)

    def test_b(self):
        u = Matrix([1, -1, -I]) / sqrt(3)
        v = Matrix([1, 2 + 3 * I, 3 - I]) / (2 * sqrt(6))
        for o in [u, v]:
            self.assertEqual(o.norm(), 1)
        self.assertEqual(u.dot(v.conjugate()).expand(), 0)


if __name__ == "__main__":
    main()

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

% ./sample6.py -v
6.
test_a (__main__.Test) ... ok
test_b (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.061s

OK
%

0 コメント:

コメントを投稿