#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 ####################################################################### 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