2019年12月30日月曜日

学習環境

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


    1. x3+y3+1-3xy=x+y+1x2+y2+1-xy-y-x

    2. 8a3+b3+c3-6abc=2a3+b3+c3-32abc=2a+b+c4a2+b2+c2-2ab-bc-2ca

    3. x3+8y3-64z3+24xyz=x3+2y3+-4z3-3x2y-4z=x+2y-4zx2+4y2+16z2-2xy+8yz+4zx

コード

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

print('8.')


class MyTest(TestCase):
    def test1(self):
        x, y, z = symbols('x, y, z', real=True)
        spam = [x ** 3 + y ** 3 + 1 - 3 * x * y,
                8 * x ** 3 + y ** 3 + z ** 3 - 6 * x * y * z,
                x ** 3 + 8 * y ** 3 - 64 * z ** 3 + 24 * x * y * z]

        egg = [(x + y + 1) * (x ** 2 + y ** 2 + 1 - x * y - y - x),
               (2 * x + y + z) * (4 * x ** 2 + y ** 2 +
                                  z ** 2 - 2 * x * y - y * z - 2 * z * x),
               (x + 2 * y - 4 * z) * (x ** 2 + 4 * y ** 2 + 16 * z ** 2 - 2 * x * y + 8 * y * z + 4 * z * x)]
        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))

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

----------------------------------------------------------------------
Ran 1 test in 0.094s

OK
%

0 コメント:

コメントを投稿