2020年7月7日火曜日

学習環境

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



    1. 直交基底を求める。

      v1=(1,1,-1)
      v2=(1,0,1)-(1,0,1)·(1,1,-1)(1,1,1)·(1,1,-1)(1,1,-1)
      =(1,0,1)

      よって、 正規直交基底は

      (1,1,-1)(1,1,-1)=(13,13,-13)
      (1,0,1)(1,0,1)=(12,0,12)

    2. 直交基底

      (2,1,1)
      (1,3,-1)-(1,3,-1)·(2,1,1)(2,1,1)·(2,1,1)(2,1,1)
      =(1,3,-1)-23(2,1,1)
      =(-13,73,-53)

      正規直交基底。

      (2,1,1)(2,1,1)=(26,16,16)
      (-1,7,-5)(-1,7,-5)=(-153,753,-553)=(-153,753,-13)

コード

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

print('1.')


class Test(TestCase):
    def test(self):
        As = [Matrix([1, 1, -1]) / sqrt(3),
              Matrix([1, 0, 1]) / sqrt(2)]
        Bs = [Matrix([2, 1, 1]) / sqrt(6),
              Matrix([-1, 7, -5]) / (5 * sqrt(3))]
        for i, (v1, v2) in enumerate([As, Bs]):
            print(f'({chr(ord("a") + i)})')
            for v in [v1, v2]:
                self.assertEqual(v.norm(), 1)
            self.assertEqual(v1.dot(v2), 0)


if __name__ == "__main__":
    main()

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

% ./sample1.py -v
1.
test (__main__.Test) ... (a)
(b)
ok

----------------------------------------------------------------------
Ran 1 test in 0.049s

OK
%

0 コメント:

コメントを投稿