2020年2月27日木曜日

学習環境

代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第4章(1次方程式, 2次方程式 )、5(解の係数の関係、2次式の因数分解)、問24の解答を求めてみる。



    1. α + β = - - 4 3 = 4 3 α β = 5 3 α - β 2 = α + β 2 - 4 α β = 16 9 - 4 · 5 3 = 16 - 60 9 = - 44 9

    2. α 3 + β 3 = α + β α 2 - α β + β 2 = α + β α + β 2 - 3 α β = α + β 3 - 3 α β α + β = 64 27 - 5 · 4 3 = 64 - 180 27 = - 116 27

    3. 1 α + 1 β = α + β α β = 4 3 · 3 5 = 4 5

    4. α - 1 α 2 + β - 1 β 2 = α - 1 β 2 + α 2 β - 1 α 2 β 2 = α β α + β - α 2 + β 2 α 2 β 2 = α β α + β - α + β 2 - 2 α β α β 2 = 9 25 5 3 · 4 3 - 16 9 - 10 3 = 9 25 · 20 - 16 + 30 9 = 34 25

    5. α 4 - α 2 β 2 + β 4 = α 2 + β 2 2 - 3 α 2 β 2 = α + β 2 - 2 α β 2 - 3 α β 2 = 16 9 - 10 3 2 - 3 · 25 9 = - 14 9 2 - 75 9 = 196 81 - 675 81 = - 479 81

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, solve, Rational

print('24.')

x = symbols('x')
a, b = solve(3 * x ** 2 - 4 * x + 5)


class MyTestCase(TestCase):
    def test1(self):
        self.assertEqual((a - b) ** 2, -Rational(44, 9))

    def test2(self):
        self.assertEqual((a ** 3 + b ** 3).simplify(), -Rational(116, 27))

    def test3(self):
        self.assertEqual((1 / a + 1 / b).simplify(), Rational(4, 5))

    def test4(self):
        self.assertEqual(((a - 1) / a ** 2 + (b - 1) / b **
                          2).simplify(), Rational(34, 25))

    def test5(self):
        self.assertEqual((a ** 4 - a ** 2 * b ** 2 + b **
                          4).simplify(), -Rational(479, 81))


if __name__ == "__main__":
    main()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample24.py -v
24.
test1 (__main__.MyTestCase) ... ok
test2 (__main__.MyTestCase) ... ok
test3 (__main__.MyTestCase) ... ok
test4 (__main__.MyTestCase) ... ok
test5 (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 5 tests in 0.208s

OK
%

0 コメント:

コメントを投稿