Apr-18-2019, 08:41 PM
I'm approximating the natural logarithm according to the formulas given in this paper https://www.ams.org/journals/mcom/1972-2...7438-2.pdf (see second page, under 'Algorithm for logarithm'). When evaluating dki one attains a matrix of the form
([[d_00,d_01,d_02,...,d_nn], [ d_11,d_12,...,d_nn], [ ...,d_nn], [ d_n-1n-1,d_nn], [ d_nn]])Here is the full code.
def ln(x,n): a =[(1+x)/2] g =[x**(1/2)] for i in range(n): a.append((a[i]+g[i])/2) g.append((a[i+1]*g[i])**(1/2)) d_0 =[] for k in range(n+1): d_0.append(a[k]) d_1=[] for k in range (1,n+1): d_1.append((d_0[k]-4**(-1)*d_0[k-1])/(1-4**(-1))) d_2=[] for k in range(2,n+1): d_2.append((d_1[k-1]-4**(-2)*d_1[k-2])/(1-4**(-2))) d_3=[] for k in range(3,n+1): d_3.append((d_2[k-2]-4**(-3)*d_2[k-3])/(1-4**(-3))) ... d_n=[] for k in range(n,n+1): d_n.append((d_n-1[k-(n-1)]-4**(-n)*d_n-1[k-n])/(1-4**(-n))) return (x-1)/d_n[0]