学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第4章(1次方程式, 2次方程式 )、練習問題14、15の解答を求めてみる。
2次方程式の解と係数の関係により、
よって判別式は、
(証明終)
学習環境
代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第4章(1次方程式, 2次方程式 )、練習問題14、15の解答を求めてみる。
2次方程式の解と係数の関係により、
よって判別式は、
(証明終)
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, solve
print('14.')
def discriminant(a, b, c):
return b ** 2 - 4 * a * c
x = symbols('x')
a, b, c = symbols('a:c')
eq = a * x ** 2 + b * x + c
alpha, beta = solve(eq, x)
d = discriminant(a, b, c)
class MyTestCase(TestCase):
def test14(self):
self.assertEqual(
d.simplify(), (a ** 2 * (alpha - beta) ** 2).simplify())
def test15_1(self):
self.assertEqual(((2 * alpha + beta) * (alpha + 2 * beta)).simplify(),
(2 * b ** 2 / a ** 2 + c / a).simplify())
def test15_2(self):
self.assertEqual((alpha ** 3 + beta ** 3).simplify(),
(-b / a * (b ** 2 / a ** 2 - 3 * c / a)).simplify())
def test15_3(self):
self.assertEqual((1 / alpha ** 2 + 1 / beta ** 2).simplify(),
((b ** 2 - 2 * a * c) / c ** 2).simplify())
def test15_4(self):
self.assertEqual((alpha ** 4 + beta ** 4).expand(),
((b ** 2 / a ** 2 - 2 * c / a) ** 2 - 2 * c ** 2 / a ** 2).expand())
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample14.py -v
14.
test14 (__main__.MyTestCase) ... ok
test15_1 (__main__.MyTestCase) ... ok
test15_2 (__main__.MyTestCase) ... ok
test15_3 (__main__.MyTestCase) ... ok
test15_4 (__main__.MyTestCase) ... ok
----------------------------------------------------------------------
Ran 5 tests in 0.368s
OK
%
0 コメント:
コメントを投稿