Wallis(ウォリス)の公式によるπの計算

Python scientific lecture notesの演習より。書いた直後に答えが載っていることに気づく。
式はwikipedia:ウォリスの公式の下の方に。

# -*- coding: utf-8 -*-
import math
print "真値" , math.pi
my_pi = 2.0 * reduce(lambda a,b: a*b, [4.0*(i**2)/(4.0*(i**2)-1.0) for i in xrange(1, 10000)])
print "計算値", my_pi
print "真値との差 %s" % abs(math.pi - my_pi)
print "真値との差の割合 %s %" % abs((math.pi - my_pi)/math.pi * 100.0)

#結果
"""
真値 3.14159265359
計算値 3.14151411083
真値との差 7.85427616217e-05
真値との差の割合 0.00250009375124 %
"""

級数の計算回数n(テキストではi)を大きくしても収束は遅い。
一応真値に近づいていく様子をグラフにして示す。というか打ち切り誤差を検討しなきゃだめかな。