2020年7月29日水曜日

学習環境

代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第7章(不等式)の練習問題9.の解答を求めてみる。


  1. 異なる2つの正の解をもつ場合。

    D 4 = ( m + 1 ) 2 - m ( m - 1 ) > 0
    3 m + 1 > 0 m > - 1 3
    m > 0 , m - 1 > 0 , - m + 1 m > 0
    m > 0 , m > 1 , - m - 1 > 0
    m > 1 , m < - 1

    よって m は正ではない。

    m < 0 , m - 1 < 0 , - m + 1 m > 0
    m < 0 , - m - 1 < 0
    m < 0 , - 1 < m
    - 1 < m < 0

    よって、

    - 1 3 < m < 0

    異なる2つの 負の解をもつ場合。

    m > 0 , m - 1 > 0 , - m + 1 m < 0
    m > 1 , m > - 1
    m > 1
    m < 0 , m - 1 < 0 , - m + 1 m < 0
    m < 0 , - m - 1 > 0
    m < 0 , m < - 1

    よって m が負のとき解はない。

    以上より、

    m > 1

コード

#!/usr/bin/env python3
from sympy import plot, Rational, pprint
from sympy.abc import m, x
from sympy.solvers.inequalities import reduce_inequalities

print('9.')

f = m * x ** 2 + 2 * (m + 1) * x + m - 1
d = (m + 1) ** 2 - m * (m - 1)
px = -(m + 1) / m

pprint(reduce_inequalities([m > 0,
                            d > 0,
                            px > 0,
                            f.subs({x: 0}) > 0], m))
pprint(reduce_inequalities([m < 0,
                            d > 0,
                            px > 0,
                            f.subs({x: 0}) < 0], m))
pprint(reduce_inequalities([m > 0,
                            d > 0,
                            px < 0,
                            f.subs({x: 0}) > 0], m))
pprint(reduce_inequalities([m < 0,
                            d > 0,
                            px < 0,
                            f.subs({x: 0}) < 0], m))

p = plot(
    *[f.subs({m: m0})
      for m0 in [-1, -Rational(1, 3), -Rational(1, 6), 0, 1, 2]],
    (x, -10, 10),
    ylim=(-10, 10),
    legend=False,
    show=False)
colors = ['red', 'green', 'blue', 'brown', 'orange',
          'purple', 'pink', 'gray', 'skyblue', 'yellow']
for o, color in zip(p, colors):
    o.line_color = color
    print(o, color)
p.save('sample8.png')
p.show()

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

% ./sample9.py
9.
-1 < m ∧ 1 < m ∧ m < 0 ∧ m < ∞
-1 < m ∧ -1/3 < m ∧ m < 0
((-∞ < m ∧ m < -1) ∨ (0 < m ∧ m < ∞)) ∧ 1 < m ∧ m < ∞
((-∞ < m ∧ m < -1) ∨ (0 < m ∧ m < ∞)) ∧ -1/3 < m ∧ m < 0
cartesian line: -x**2 - 2 for x over (-10.0, 10.0) red
cartesian line: -x**2/3 + 4*x/3 - 4/3 for x over (-10.0, 10.0) green
cartesian line: -x**2/6 + 5*x/3 - 7/6 for x over (-10.0, 10.0) blue
cartesian line: 2*x - 1 for x over (-10.0, 10.0) brown
cartesian line: x**2 + 4*x for x over (-10.0, 10.0) orange
cartesian line: 2*x**2 + 6*x + 1 for x over (-10.0, 10.0) purple
%

0 コメント:

コメントを投稿