学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第3章(因数分解と分数式)、1(因数分解)の問9の解答を求めてみる。
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols
print('9.')
class MyTest(TestCase):
def test1(self):
x, y, z, a, b, c = symbols('x, y, z, a, b, c', real=True)
spam = [a ** 4 - b ** 2 * c ** 2 + a ** 2 * c ** 2 - b ** 4,
(x ** 3 - y ** 3 - x ** 2 + 2 * x * y - y ** 2),
a ** 4 + 2 * a ** 3 * b - 2 * a * b ** 3 - b ** 4,
3 * x ** 3 + x ** 2 * y + 2 * y ** 3,
a ** 3 + 3 * a * b ** 2 + 4 * b ** 3,
(a + b + c) ** 3 - a ** 3 - b ** 3 - c ** 3,
(x ** 2 + x - 2) * (x ** 2 + x + 1) - 28,
(2 * x ** 2 - 3 * x) * (2 * x ** 2 - 3 * x - 6) + 5]
egg = [(a + b) * (a - b) * (a ** 2 + b ** 2 + c ** 2),
(x - y) * (x ** 2 + x * y + y ** 2 - x + y),
(a + b) ** 3 * (a - b),
(x + y) * (3 * x ** 2 - 2 * x * y + 2 * y ** 2),
(a + b) * (a ** 2 - a * b + 4 * b ** 2),
3 * (a + b) * (b + c) * (c + a),
(x + 3) * (x - 2) * (x ** 2 + x + 5),
(2 * x ** 2 - 3 * x - 1) * (2 * x - 5) * (x + 1)]
for s, t in zip(spam, egg):
self.assertEqual(s.expand(), t.expand())
self.assertEqual(s.factor(), t.factor())
if __name__ == '__main__':
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample9.py -v
9.
test1 (__main__.MyTest) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.194s
OK
%
0 コメント:
コメントを投稿