平方、和、積、絶対値、シュワルツの不等式
代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第7章(不等式)の練習問題17.の解答を求めてみる。
コード
#!/usr/bin/env python3
import random
from unittest import TestCase, main
from sympy import sqrt
class Test(TestCase):
def test(self):
for _ in range(10):
a = random.random() / 2
b = random.random() / 2
c = random.choice([-1, 1]) * sqrt(1 - a ** 2 - b ** 2)
a1 = random.random() / 2
b1 = random.random() / 2
c1 = random.choice([-1, 1]) * sqrt(1 - a1 ** 2 - b1 ** 2)
self.assertLessEqual(abs(a * a1 + b * b1 + c * c1), 1)
if __name__ == "__main__":
main()
入出力結果
% ./sample17.py -v
test (__main__.Test) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.033s
OK
%