2020年2月27日木曜日

学習環境

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



    1. α+β=--43=43αβ=53α-β2=α+β2-4αβ=169-4·53=16-609=-449

    2. α3+β3=α+βα2-αβ+β2=α+βα+β2-3αβ=α+β3-3αβα+β=6427-5·43=64-18027=-11627

    3. 1α+1β=α+βαβ=43·35=45

    4. α-1α2+β-1β2=α-1β2+α2β-1α2β2=αβα+β-α2+β2α2β2=αβα+β-α+β2-2αβαβ2=92553·43-169-103=925·20-16+309=3425

    5. α4-α2β2+β4=α2+β22-3α2β2=α+β2-2αβ2-3αβ2=169-1032-3·259=-1492-759=19681-67581=-47981

コード

#!/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 コメント:

コメントを投稿