2019年12月13日金曜日

学習環境

解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅴ部(“ε-δ”その他)、付録2(帰納法)の練習問題7を求めてみる。



    1. f a n = f a n - 1 · a = f a n - 1 + f a = n - 1 f a + f a = n f a

      よって帰納法によりすべての正の整数について成り立つ。

      (証明終)


    2. f n a = f n - 1 a + a = f n - 1 a + f a = n - 1 f a + f a = n f a

      よって帰納法によりすべての正の整数について成り立つ。

      (証明終)


    3. f a n = f a n - 1 · a = f a n - 1 f a = f a n - 1 f a = f a n

      よって帰納法によりすべての正の整数について成り立つ。

      (証明終)

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import pprint, symbols, plot, log, exp

print('7.')

x = symbols('x')
f = log(x)
g = x
h = x * x

a, b = symbols('a, b', real=True)
n = symbols('n', integer=True, positive=True)


class MyTestCase(TestCase):
    def test_a(self):
        a = 2
        b = 3
        self.assertEqual(float(f.subs({x: a * b})),
                         float(f.subs({x: a}) + f.subs({x: b})))
        n = 5
        self.assertEqual(float(f.subs({x: a ** n})), float(n * f.subs({x: a})))

    def test_b(self):
        self.assertEqual(g.subs({x: a + b}), g.subs({x: a}) + g.subs({x: b}))
        self.assertEqual(g.subs({x: n * a}), n * g.subs({x: a}))

    def test_c(self):
        self.assertEqual(h.subs({x: a * b}), h.subs({x: a}) * h.subs({x: b}))
        self.assertEqual(h.subs({x: a ** n}), h.subs({x: a}) ** n)


p = plot((f, (x, 0.1, 5)),
         (g, (x, -5, 5)),
         (h, (x, -5, 5)),
         ylim=(-5, 5),
         show=False,
         legend=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('sample7.png')


if __name__ == '__main__':
    main()

入出力結果(Zsh、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))

% ./sample7.py -v
7.
test_a (__main__.MyTestCase) ... ok
test_b (__main__.MyTestCase) ... ok
test_c (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.010s

OK
%

0 コメント:

コメントを投稿