2019年12月23日月曜日

学習環境

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



    1. 5 2 - 4 · 2 · - 10 = 25 + 80 = 105 1 0 2 = 100 < 105 < 121 = 1 1 2

      よって整数の平方ではないから有理数の範囲で因数分解できない。

      - 12 2 - 4 · 4 · 7 2 2 6 2 - 4 · 7 = 2 4 3 2 - 7 = 2 4 · 2 = 2 5

      よって問題の式は有理数の範囲では因数分解できない。

コード

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

print('4.')


def f(a, b, c):
    return b ** 2 - 4 * a * c


x = symbols('x')


class MyTest(TestCase):
    def test1(self):
        a = 2
        b = 5
        c = -10
        self.assertFalse(math.sqrt(f(a, b, c)).is_integer())
        self.assertFalse(solveset(a * x ** 2 + b * x + c, domain=S.Rationals))

    def test2(self):
        a = 4
        b = -12
        c = 7
        self.assertFalse(math.sqrt(f(a, b, c)).is_integer())
        self.assertFalse(solveset(a * x ** 2 + b * x + c, domain=S.Rationals))


if __name__ == '__main__':
    main()

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

% ./sample4.py -v
4.
test1 (__main__.MyTest) ... ok
test2 (__main__.MyTest) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.100s

OK
%

0 コメント:

コメントを投稿