物理学のブログ

物体の運動の表し方 ベクトルとその内積 単位ベクトル、基本ベクトル、大きさ、直交

物理学講義 力学 (松下 貢(著)、裳華房)の第1章(物体の運動の表し方)、1.4(ベクトルとその内積)の問題6の解答を求めてみる。

| i | 2 = i · i = ( 1 , 0 , 0 ) · ( 1 , 0 , 0 ) = 1
| j | 2 = j · j = ( 0 , 1 , 0 ) · ( 0 , 1 , 0 ) = 1
| k | 2 = k · k = ( 0 , 0 , 1 ) · ( 0 , 0 , 1 ) = 1

よって、

| i | 2 = | j | 2 = | k | 2 = 1

また、

i · j = ( 1 , 0 , 0 ) · ( 0 , 1 , 0 ) = 0 j · k = ( 0 , 1 , 0 ) · ( 0 , 0 , 1 ) = 0 k · i = ( 0 , 0 , 1 ) · ( 1 , 0 , 0 ) = 0

よって、

i · j = j - k = k - i = 0

コード

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

print('6.')

i = Matrix([1, 0, 0])
j = Matrix([0, 1, 0])
k = Matrix([0, 0, 1])
vs = [i, j, k]


class Test(TestCase):
    def test_norm(self):
        for v in vs:
            self.assertEqual(v.norm() ** 2, 1)

    def test_orthogonal(self):
        for v in vs:
            for w in vs:
                if v == w:
                    continue
                self.assertEqual(v.dot(w), 0)


if __name__ == "__main__":
    main()

入出力結果

% ./sample6.py -v
6.
test_norm (__main__.Test) ... ok
test_orthogonal (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.002s

OK
%