2017年9月4日月曜日

学習環境

オイラーの贈物―人類の至宝eiπ=-1を学ぶ (吉田 武(著)、東海大学出版会)の第II部(関数の定義(Definitions of Functions))、第6章(指数関数の性質・対数関数(Exponential & Logarithmic Functions))、6.3(指数関数の性質)、6.3.2(ネイピア数)、問題2.を取り組んでみる。

コード(Emacs)

Python 3

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from sympy import pprint, symbols, summation, factorial

print('問題2')

x = symbols('x')
n = symbols('n', integer=True, nonnegative=True)

print('[1]')
a = 1 / 2.7182818
print(a)

print('[2]')
for n0 in range(10):
    b = summation(1 / factorial(n) * x ** n, (n, 0, n0))
    pprint(b)
    b = float(b.subs({x: -1}))
    print(b)
    print(abs(a - b))
    print()

入出力結果(Terminal, IPython)

$ ./sample2.py
問題2
[1]
0.3678794450229553
[2]
1
1.0
0.6321205549770448

x + 1
0.0
0.3678794450229553

 2        
x         
── + x + 1
2         
0.5
0.13212055497704472

 3    2        
x    x         
── + ── + x + 1
6    2         
0.3333333333333333
0.03454611168962196

 4    3    2        
x    x    x         
── + ── + ── + x + 1
24   6    2         
0.375
0.007120554977044724

  5    4    3    2        
 x    x    x    x         
─── + ── + ── + ── + x + 1
120   24   6    2         
0.36666666666666664
0.0012127783562886352

  6     5    4    3    2        
 x     x    x    x    x         
─── + ─── + ── + ── + ── + x + 1
720   120   24   6    2         
0.3680555555555556
0.0001761105326003043

  7      6     5    4    3    2        
 x      x     x    x    x    x         
──── + ─── + ─── + ── + ── + ── + x + 1
5040   720   120   24   6    2         
0.3678571428571429
2.2302165812393415e-05

   8      7      6     5    4    3    2        
  x      x      x     x    x    x    x         
───── + ──── + ─── + ─── + ── + ── + ── + x + 1
40320   5040   720   120   24   6    2         
0.36788194444444444
2.4994214891660427e-06

   9        8      7      6     5    4    3    2        
  x        x      x      x     x    x    x    x         
────── + ───── + ──── + ─── + ─── + ── + ── + ── + x + 1
362880   40320   5040   720   120   24   6    2         
0.36787918871252206
2.5631043321094893e-07

$

0 コメント:

コメントを投稿