2019年11月16日土曜日

学習環境

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



    1. a + 2 b 3 = a 3 + 3 · a 2 · 2 b + 3 a · 4 b 2 + 8 b 3 = a 3 + 6 a 2 b + 12 a b 2 + 8 b 3

    2. 3 x - 2 y 3 = 27 x 3 - 3 · 9 x 2 · 2 y + 3 · 3 x · 4 y 2 - 8 y 3 = 27 x 3 - 54 x 2 y + 36 x y 2 - 8 y 3

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

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

    5. x - 1 x x 2 + 1 + 1 x 2 = x 3 - 1 x 3

コード

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

print('14.')


class MyTest(TestCase):

    def test(self):
        x, y = symbols('x, y')
        spam = [(x + 2 * y) ** 3,
                (3 * x - 2 * y) ** 3,
                (x + 2) * (x ** 2 - 2 * x + 4),
                (x * y - 1) * (x ** 2 * y ** 2 + x * y + 1),
                (x - 1 / x) * (x ** 2 + 1 + 1 / x ** 2)]
        egg = [x ** 3 + 6 * x ** 2 * y + 12 * x * y ** 2 + 8 * y ** 3,
               27 * x ** 3 - 54 * x ** 2 * y + 36 * x * y ** 2 - 8 * y ** 3,
               x ** 3 + 8,
               x ** 3 * y ** 3 - 1,
               x ** 3 - 1 / x ** 3]
        for s, t in zip(spam, egg):
            self.assertEqual(s.expand(), t.expand())


if __name__ == '__main__':
    main()

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

% ./sample14.py -v
14.
test (__main__.MyTest) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.021s

OK
%

0 コメント:

コメントを投稿