2020年1月28日火曜日

学習環境

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



    1. x = - 9

    2. x = - 2 5

    3. 3 x = - 9 x = - 3

    4. 1 2 x = 7 x = 14

    5. 6 x - 3 = 22 + 11 x 5 x = - 25 x = - 5

    6. 8 20 x - 5 20 x = 3 2 + 6 2 3 20 x = 9 2 x = 9 2 · 20 3 = 30

    7. x = 1 2 + 1

    8. 2 + 3 - 2 2 x = 6 - 2 3 - 2 x = 6 - 2 x = 6 - 2 3 - 2 = 6 - 2 3 + 2 = 3 2 + 2 3 - 2 3 - 2 2 = 2

    9. x 2 - 3 x + 2 = x 2 - 7 x + 12 4 x = 10 x = 5 2

    10. 18 x 2 + 7 x - 8 = 18 x 2 - 3 x - 28 10 x = - 20 x = - 2

コード

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

print('1.')


class MyTest(TestCase):
    def test(self):
        x = symbols('x')
        eqs = [8 - x - 17,
               -25 * x - 10,
               2 * x - 9 - 5 * x,
               x / 2 - 3 - 4,
               3 * (2 * x - 1) - 11 * (2 + x),
               2 * x / 5 - Rational(3, 2) - x / 4 - 3,
               (sqrt(2) + 1) * x - 1,
               sqrt(2) * x - sqrt(3) * (sqrt(2) - x) - 2 * (sqrt(2) * x - 1),
               (x - 1) * (x - 2) - (x - 3) * (x - 4),
               (2 * x - 1) * (9 * x + 8) - (3 * x - 4) * (6 * x + 7)]
        xs = [-9, -Rational(2, 5), -3, 14, -5, 30, 1 /
              (sqrt(2) + 1), sqrt(2), Rational(5, 2), -2]
        for eq, x0 in zip(eqs, xs):
            self.assertEqual((solve(eq, x)[0] - x0).simplify(), 0)


if __name__ == '__main__':
    main()

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

% ./sample1.py -v
1.
test (__main__.MyTest) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.631s

OK
%

0 コメント:

コメントを投稿