2019年12月28日土曜日

学習環境

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



    1. x4+2x2+9=x2+32-4x2=x2+2x+3x2-2x+3

    2. 4a4-36a2b2+25b4=2a2-5b22-16a2b2=2a2-4ab-5b22a2+4ab-5b2

    3. 4a4+1=2a2+12-4a2=2a2+2a+12a2-2a+1

    4. x8+x4+1=x4+12-x4=x4+x2+1x4-x2+1=x2+12-x2x4-x2+1=x2+x+1x2-x+1x4-x2+1

コード

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

print('7.')


class MyTest(TestCase):
    def test1(self):
        x, y = symbols('x, y', real=True)
        spam = [x ** 4 + 2 * x ** 2 + 9,
                4 * x ** 4 - 36 * x ** 2 * y ** 2 + 25 * y ** 4,
                4 * x ** 4 + 1,
                x ** 8 + x ** 4 + 1]
        egg = [(x ** 2 + 2 * x + 3) * (x ** 2 - 2 * x + 3),
               (2 * x ** 2 - 4 * x * y - 5 * y ** 2) *
               (2 * x ** 2 + 4 * x * y - 5 * y**2),
               (2 * x ** 2 + 2 * x + 1) * (2 * x ** 2 - 2 * x + 1),
               (x ** 2 + x + 1) * (x ** 2 - x + 1) * (x ** 4 - x ** 2 + 1)]
        for s, t in zip(spam, egg):
            self.assertEqual(s.expand(), t.expand())
            self.assertEqual(s.factor(), t)


if __name__ == '__main__':
    main()

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

% ./sample7.py -v
7.
test1 (__main__.MyTest) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.082s

OK
%

0 コメント:

コメントを投稿