2019年11月7日木曜日

学習環境

代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第2章(整式の計算)、3(展開公式)の問10、11の解答を求めてみる。



    1. 2 a + 5 2 = 4 a 2 + 20 a + 25

    2. 4 x - 7 y 2 = 16 x 2 - 56 x y + 49 y 2

    3. x + y 2 x - y 2 = x 2 - y 2 4

    4. a + b - c a - b + c = a + b - c a - b - c = a 2 - b - c 2 = a 2 - b 2 + 2 b c - c 2
  • 確認。
  • コード

    #!/usr/bin/env python3
    from sympy import symbols, pprint
    from unittest import TestCase, main
    
    print('10.')
    
    
    class MyTest(TestCase):
    
        def test(self):
            a, b, c, x, y = symbols('a, b, c, x, y')
            spam = [(2 * a + 5) ** 2,
                    (4 * x - 7 * y) ** 2,
                    (x + y / 2) * (x - y / 2),
                    (a + b - c) * (a - b + c)]
            egg = [4 * a ** 2 + 20 * a + 25,
                   16 * x ** 2 - 56 * x * y + 49 * y ** 2,
                   x ** 2 - y ** 2 / 4,
                   a ** 2 - b ** 2 + 2 * b * c - c ** 2]
            for s, t in zip(spam, egg):
                self.assertEqual(s.expand(), t)
                self.assertEqual(s.factor(), t.factor())
    
    
    if __name__ == '__main__':
        main()
    

    入出力結果(Zsh、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))

    % ./sample10.py -v
    10.
    test (__main__.MyTest) ... ok
    
    ----------------------------------------------------------------------
    Ran 1 test in 0.042s
    
    OK
    %
    

    0 コメント:

    コメントを投稿