2020年2月8日土曜日

学習環境

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



    1. x+4x+5=0x=-5,-4

    2. x2-4x-12=0x-6x+2=0x=-2,6

    3. x2+3x=0xx+3=0x=-3,0

    4. 2x+152x-15=0x=±152

    5. 4x2-12x+9=02x-32=0x=32

    6. 2x-57x+2=0x=-27,52

    7. x2-9x+20=3x2-9x+6-42x2-18=0x2-9=0x=±3

    8. x-11ax+4a=0x=-4a,12a

    9. x+2a2=0x=-2a

    10. x2-2bx-a+ba-b=0x-a+bx+a-b=0x=±a-b

コード

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

print('9.')


class MyTestCase(TestCase):
    def test(self):
        x, a, b = symbols('x, a, b', real=True)
        eqs = [x ** 2 + 9 * x + 20,
               x ** 2 - 4 * (x + 3),
               -x ** 2 - 3 * x,
               4 * x ** 2 - 25,
               4 * x ** 2 - 12 * x + 9,
               14 * x ** 2 - 31 * x - 10,
               (x - 4) * (x - 5) - (3 * (x - 1) * (x - 2) - 4),
               x ** 2 - 7 * a * x - 44 * a * 2,
               x ** 2 + 4 * a * x + 4 * a ** 2,
               x ** 2 - 2 * b * x - (a ** 2 - b ** 2)]
        egg = [{-5, -4},
               {-2, 6},
               {-3, 0},
               {-Rational(15, 2), Rational(15, 2)},
               {Rational(3, 2)},
               {-Rational(2, 7), Rational(5, 2)},
               {-3, 3},
               {-4 * a, 12 * a},
               {-2 * a},
               {a - b, -a - b}]
        for eq, s in zip(eqs, egg):
            self.assertTrue(solveset(eq, x), s)


if __name__ == "__main__":
    main()

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

% ./sample9.py -v
9.
test (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.295s

OK
%

0 コメント:

コメントを投稿