2019年12月20日金曜日

学習環境

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



    1. 4 a b 2 - 2 a b = 2 a b 2 b - 1

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

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

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

    5. a b x 2 + y 2 + x y a 2 + b 2 = a b x 2 + a 2 + b 2 y x + a b y 2 = a x + b y b x + a y

コード

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

print('1.')


class MyTest(TestCase):
    def test(self):
        x, y, a, b = symbols('x, y, a, b')
        spam = [4 * a * b ** 2 - 2 * a * b,
                a * b - 4 * a + 3 * b - 12,
                x ** 2 - a * x - b * x + a * b,
                x ** 3 - 4 - 2 * x ** 2 + 2 * x,
                a * b * (x ** 2 + y ** 2) + x * y * (a ** 2 + b ** 2)]
        egg = [2 * a * b * (2 * b - 1),
               (a + 3) * (b - 4),
               (x - a) * (x - b),
               (x - 2) * (x ** 2 + 2),
               (a * x + b * y) * (b * x + a * y)]
        for s, t in zip(spam, egg):
            self.assertEqual(s.expand(), t.expand())


if __name__ == '__main__':
    main()

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

% ./sample1.py -v
1.
test (__main__.MyTest) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.060s

OK
%

0 コメント:

コメントを投稿