#On the name of ALLAH and may the blessing and peace of Allah
#be upon the Messenger of Allah Mohamed Salla Allahu Aliahi Wassalam.
#Author : Fouad Teniou
#Date : 06/07/10
#version :2.6
"""
maclaurin_binomial is a function to compute(1+x)^m using maclaurin
binomial series and the interval of convergence is -1 < x < 1
(1+x)^m = 1 + mx + m(m-1)x^2/2! + m(m-1)(m-2)x^3/3!...........
note: if m is a nonegative integer the binomial is a polynomial of
degree m and it is valid on -inf < x < +inf,thus, the error function
will not be valid.
"""
from math import *
def error(number):
""" Raises interval of convergence error."""
if number >= 1 or number <= -1 :
raise TypeError,\
"\n<The interval of convergence should be -1 < value < 1 \n"
def maclaurin_binomial(value,m,k):
"""
Compute maclaurin's binomial series approximation for (1+x)^m.
"""
global first_value
first_value = 0.0
#attempt to Approximate (1+x)^m for given values
try:
for item in xrange(1,k):
next_value =m*(value**item)/factorial(item)
for i in range(2,item+1):
next_second_value =(m-i+1)
next_value *= next_second_value
first_value += next_value
return first_value + 1
#Raise TypeError if input is not within
#the interval of convergence
except TypeError,exception:
print exception
#Raise OverflowError if an over flow occur
except OverflowError:
print '\n<Please enter a lower k value to avoid the Over flow\n '
if __name__ == "__main__":
maclaurin_binomial_1 = maclaurin_binomial(0.777,-0.5,171)
print maclaurin_binomial_1
maclaurin_binomial_2 = maclaurin_binomial(0.37,0.5,171)
print maclaurin_binomial_2
maclaurin_binomial_3 = maclaurin_binomial(0.3,0.717,171)
print maclaurin_binomial_3
########################################################################
#c:python
#
#0.750164116353
#1.17046999107
#1.20697252357
#######################################################################
Diff to Previous Revision
--- revision 1 2010-07-07 11:27:04
+++ revision 2 2010-07-07 11:31:39
@@ -61,6 +61,8 @@
print maclaurin_binomial_2
maclaurin_binomial_3 = maclaurin_binomial(0.3,0.717,171)
print maclaurin_binomial_3
+
+
########################################################################
#c:python
#
@@ -68,11 +70,3 @@
#1.17046999107
#1.20697252357
#######################################################################
-C. Maclaurin. A Scottish mathematician gained his master degree at age 17, and his major mathematics’ work arise from his special knowledge in Newton’s ideas and the formulation of Newton’s methods.
-However, C. Maclaurin also contributed to the astronomy science and helped to improve maps and invented some mechanical devices .
-My mathematics python’s programs is a set of Maclaurin’s series to compute some of the most important functions in calculus.
-Though, the computation of an infinite sum which give the value of a function in terms of the derivatives evaluated at a special case where x0 = 0, f(0) = f(0) + f’(0)x/1! + f”(0)x²/2! +..………..
-in contrast with Taylor series f(x) = f(x0) + f’(x0)(x-x0)/1! + f”(x0)(x-x0)²/2! + …….
-
-The Maclaurin’s series to approximate ( 1+x)^m is known as a binomial series.
-However, if m is a an integer and m >= 0 the function f(x ) = (1+x)^m is a polynomial function of degree m and it will converge for all the values of x on the interval [- , + ], otherwise it will converge to (1+x)^m only for the values of x on the interval ]-1,1[, thus, the convergence of x will depend on the value of m