2019年11月5日火曜日

学習環境

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



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

    2. 4 - x - 2 x 2 1 - 2 x - 8 x 2 + 5 x 3 = 4 - 9 x - 32 x 2 + 32 x 3 + 11 x 4 - 10 x 5

    3. 2 x 2 - 5 x - 3 3 x + 1 + x 3 = 2 x 5 - 5 x 4 + 3 x 3 - 13 x 2 - 14 x - 3

    4. a 2 + a b + b 2 a 2 - 2 a b + 2 b 2 = a 4 - a 3 b + a 2 b 2 + 2 b 4

コード

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

print('8.')


class MyTest(TestCase):

    def test(self):
        x, a, b = symbols('x, a, b')
        spam = [(x - 1) * (x ** 2 + x + 1),
                (4 - x - 2 * x ** 2) * (1 - 2 * x - 8 * x ** 2 + 5 * x ** 3),
                (2 * x ** 2 - 5 * x - 3) * (3 * x + 1 + x ** 3),
                (a ** 2 + a * b + b ** 2) * (a ** 2 - 2 * a * b + 2 * b ** 2)]
        egg = [x ** 3 - 1,
               4 - 9 * x - 32 * x ** 2 + 32 * x ** 3 + 11 * x ** 4 - 10 * x ** 5,
               2 * x ** 5 - 5 * x ** 4 + 3 * x ** 3 - 13 * x ** 2 - 14 * x - 3,
               a ** 4 - a ** 3 * b + a ** 2 * b ** 2 + 2 * b ** 4]
        for s, t in zip(spam, egg):
            self.assertEqual(s.expand(), t)


if __name__ == '__main__':
    main()

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

% ./sample8.py -v
8.
test (__main__.MyTest) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.025s

OK
%

0 コメント:

コメントを投稿