Advertisement
Guest User

Untitled

a guest
Sep 24th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.81 KB | None | 0 0
  1. from math import factorial, pow
  2. import numpy as np
  3.  
  4. def taylor_series(x, n_max=5):
  5.     res = 0.0
  6.     for n in range(n_max):
  7.         res += ((pow(-1, n)*factorial(2*n))/((1-2*n)*pow(factorial(n), 2)*(pow(4, n))))*pow(x, n)
  8.     return res
  9.  
  10. def f_my_sqrt_sqr(x, n=52, output=True):
  11.     alpha = x
  12.     if x > 1:
  13.         alpha = alpha - 1
  14.  
  15.     for k in range(n):
  16.         if alpha > 1:
  17.             alpha = np.sqrt(alpha + 1) - 1
  18.         else:
  19.             alpha = taylor_series(alpha) - 1
  20.         if output:
  21.             print(alpha, k)
  22.  
  23.     if output:
  24.         print("------")
  25.  
  26.     for k in range(n):
  27.         alpha = 2 * alpha + alpha * alpha
  28.         if output:
  29.             print(alpha, k)
  30.  
  31.     if x > 1:
  32.         alpha = alpha + 1
  33.  
  34.     return alpha
  35.  
  36.  
  37. pi = 33.1415;
  38. print(pi)
  39. print(f_my_sqrt_sqr(pi))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement