2020年6月22日月曜日

学習環境

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


  1. 問題の仮定より、

    5 = 2 2 + 2 p + q q = 1 - 2 p
    y = x 2 + p x + ( 1 - 2 p ) = ( x + p 2 ) 2 - p 2 4 + 1 - 2 p

    最小値が4なので、

    - p 2 4 + 1 - 2 p = 4 p 2 + 8 p - 4 = - 16 p 2 + 8 p + 12 = 0 ( p + 2 ) ( p + 6 ) = 0

    よって、

    p = - 2 , q = 5 p = - 6 , q = 13

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import plot, Rational
from sympy.abc import x, p, q

print('12.')

y = x ** 2 + p * x + q
pqs = [(-2, 5), (-6, 13)]
ys = [y.subs({p: p0, q: q0}) for p0, q0 in pqs]


class Test(TestCase):
    def test(self):
        for y in ys:
            self.assertEqual(y.subs({x: 2}), 5)


p = plot(*ys, 5, 4,
         (x, -5, 5),
         ylim=(-0, 10),
         legend=True,
         show=False)

colors = ['red', 'green', 'blue', 'brown', 'orange',
          'purple', 'pink', 'gray', 'skyblue', 'yellow']

for o, color in zip(p, colors):
    o.line_color = color
p.show()
p.save('sample12.png')

if __name__ == "__main__":
    main()

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

% ./sample12.py -v
12.
test (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.001s

OK
%

0 コメント:

コメントを投稿