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