学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第5章(連立方程式と高次方程式)、3(因数定理)、問17、18、19の解答を求めてみる。
よって、
を因数にもつのは A と C。
よって
を因数にもつのは C。
よって
を因数にもつのは A と B。
整式
を
で割った余りの次数は1以下なので、求める余りを
とおく。
このとき、
とある整式とし、
とおくことができる。
問題の仮定より、この整式を
で割った余りはそれぞれ6、 3なので
この連立2元1次方程式を解く。
よって、求める余りは
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, Rational, solve
print('17, 18, 19.')
x = symbols('x', real=True)
class TestFactorTheorem(TestCase):
def test_17(self):
a = x ** 3 - 3 * x + 2
b = x ** 3 + x + 10
c = x ** 4 + 3 * x ** 2 - 4
ts = [(True, False, True),
(False, False, True),
(True, True, False)]
for x0, blns in zip([1, -1, -2], ts):
for p, bln in zip([a, b, c], blns):
self.assertEqual(p.subs({x: x0}) == 0, bln)
def test_18(self):
a, b = symbols('a, b', real=True)
p = (2 * x ** 2 + x - 1) + a * x + b
self.assertEqual(solve([p.subs({x: -1}) - 6,
p.subs({x: Rational(1, 2)}) - 3]),
{a: -2, b: 4})
def test_19(self):
p = -Rational(3, 2)
q = -4
expr = x ** 3 + p * x ** 2 + q * x + 6
for x0 in [-2, 2]:
self.assertEqual(expr.subs({x: x0}), 0)
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample17.py -v
17, 18, 19.
test_17 (__main__.TestFactorTheorem) ... ok
test_18 (__main__.TestFactorTheorem) ... ok
test_19 (__main__.TestFactorTheorem) ... ok
----------------------------------------------------------------------
Ran 3 tests in 0.054s
OK
%
0 コメント:
コメントを投稿