2020年7月13日月曜日

学習環境

代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第7章(不等式)、3(不等式の証明)、問20の解答を求めてみる。


  1. (a12+a22+a32)(b12+b22+b32)-(a1b1+a2b2+a3b3)2
    =a12b22+a12b32+a22b12+a22b32+a32b12+a32b22-2(a1a2b1b2+a1a3b1b3+a2a3h2b3)
    =(a1b2-a2b1)2+(a2b3-a3b2)2+(a3b1-a1b3)2
    0

    よって例題13の不等式は成り立つ。

    (証明終)

コード

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

print('20.')
a1, a2, a3 = symbols('a:3')
b1, b2, b3 = symbols('b:3')


class Test(TestCase):
    def test(self):
        self.assertEqual(
            (
                sum([o ** 2 for o in [a1, a2, a3]]) *
                sum([o ** 2 for o in [b1, b2, b3]]) -
                sum([ai * bi
                     for ai, bi in zip([a1, a2, a3], [b1, b2, b3])]) ** 2
            ).expand(),
            (
                (a1 * b2 - a2 * b1) ** 2 +
                (a2 * b3 - a3 * b2) ** 2 +
                (a3 * b1 - a1 * b3) ** 2
            ).expand()
        )


if __name__ == "__main__":
    main()

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

 % ./sample20.py -v
20.
test (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.054s

OK
%

0 コメント:

コメントを投稿