物理学のブログ

物体の運動の表し方 ベクトルとその内積 和、スカラー

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

ベクトルの和。

A + B = ( - 2 , 2 , - 3 )

内積。

A · B = - 15 - 8 + 2 = - 21

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import Matrix
from sympy.plotting import plot3d_parametric_line
from sympy.abc import t

print('5.')

a = Matrix([-5, 4, -2])
b = Matrix([3, -2, -1])


class Test(TestCase):
    def test_add(self):
        self.assertEqual(
            a + b,
            Matrix([-2, 2, -3])
        )

    def test_dot(self):
        self.assertEqual(a.dot(b), -21)


p = plot3d_parametric_line(
    *[(*(t * v), (t, 0, 1)) for v in [a, b, a + b]],
    legend=True,
    show=False
)
colors = ['red', 'green', 'blue', 'brown', 'orange',
          'purple', 'pink', 'gray', 'skyblue', 'yellow']
for o, color in zip(p, colors):
    o.line_color = color
p.save('sample5.png')
p.show()

if __name__ == "__main__":
    main()

入出力結果

% ./sample5.py -v
5.
test_add (__main__.Test) ... ok
test_dot (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.004s

OK
%