2020年7月18日土曜日

学習環境

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



    1. ( 1 , 1 , 1 )
      ( 1 , - 1 , 2 ) - ( 1 , - 1 , 2 ) , ( 1 , 1 , 1 ) ( 1 , 1 , 1 ) , ( 1 , 1 , 1 ) ( 1 , 1 , 1 )
      = ( 1 , - 1 , 2 ) - 1 - 2 + 2 1 + 2 + 1 ( 1 , 1 , 1 )
      = ( 1 , - 1 , 2 ) - 1 4 ( 1 , 1 , 1 )
      = ( 3 4 , - 5 4 , 7 4 )

    2. ( 1 , - 1 , 4 )
      ( - 1 , 1 , 3 ) - ( - 1 , 1 , 3 ) , ( 1 , - 1 , 4 ) ( 1 , - 1 , 4 ) , ( 1 , - 1 , 4 ) ( 1 , - 1 , 4 )
      = ( - 1 , 1 , 3 ) - - 1 + 3 - 4 + 3 1 - 3 + 4 + 4 ( 1 , - 1 , 4 )
      = ( - 1 , 1 , 3 ) - 1 6 ( 1 , - 1 , 4 )
      = ( - 7 6 , 7 6 , 14 6 )
      = ( - 7 6 , 7 6 , 7 3 )

コード

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

print('1.')


def scalar_mul1(x, y):
    return x[0] * y[0] + 2 * x[1] * y[1] + x[2] * y[2]


def scalar_mul2(x, y):
    return x[0] * y[0] - 3 * x[1] * y[1] + x[0] * y[2] - x[2] * y[1]


class Test(TestCase):
    def test_a(self):
        self.assertEqual(
            scalar_mul1((1, 1, 1), (3, -5, 7)), 0
        )

    def test_b(self):
        self.assertEqual(
            scalar_mul2((1, -1, 4), (-1, 1, 2)), 0
        )


if __name__ == "__main__":
    main()

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

% ./sample1.py -v
1.
test_a (__main__.Test) ... ok
test_b (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK
%

0 コメント:

コメントを投稿