学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第4章(1次方程式, 2次方程式 )、練習問題16、17の解答を求めてみる。
解と係数の関係により、
よって、
1つの解が5である場合。
1つの解を a とし 、2つの解を
とすると、 解と係数の関係により、
2つの解が虚数解なので、
2つの解について、解と係数の関係により、
問題の差の仮定より、
よって、
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, solveset, I, sqrt, Rational, plot
print('16, 17.')
x = symbols('x')
b = -4
c = 4
f = x ** 2 + b * x + 2 * c
f1 = x ** 2 + 2 * b * x + c
f2 = x ** 2 + b * x + c
m = symbols('m')
g = 2 * x ** 2 - 7 * x + m
class MyTestCase(TestCase):
def test16(self):
self.assertEqual(solveset(f, x),
{2 + 2 * I, 2 - 2 * I})
def test16_1(self):
self.assertEqual(solveset(f1, x),
{4 + 2 * sqrt(3), 4 - 2 * sqrt(3)})
def test17_1(self):
self.assertIn(5, solveset(g.subs({m: -15}), x))
def test17_2(self):
x1, x2 = solveset(g.subs({m: Rational(49, 9)}))
self.assertTrue(2 * x1 == x2 or x1 == 2 * x2)
def test17_3(self):
x1, x2 = solveset(g.subs({m: 8}), x)
self.assertTrue(x1 - x2 == sqrt(15) * I /
2 or x2 - x1 == sqrt(15) * I / 2)
p = plot(f, f1, f2,
*[g.subs({m: m0}) for m0 in [-15, Rational(49, 9), 8]],
(x, -10, 10),
ylim=(-10, 10),
legend=True,
show=False)
colors = ['red', 'green', 'blue', 'brown', 'orange',
'purple', 'pink', 'gray', 'skyblue', 'yellow']
for o, color in zip(p, colors):
o.line_color = color
p.show()
p.save(f'sample16.png')
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample16.py -v
16, 17.
test16 (__main__.MyTestCase) ... ok
test16_1 (__main__.MyTestCase) ... ok
test17_1 (__main__.MyTestCase) ... ok
test17_2 (__main__.MyTestCase) ... ok
test17_3 (__main__.MyTestCase) ... ok
----------------------------------------------------------------------
Ran 5 tests in 0.148s
OK
%
0 コメント:
コメントを投稿