def funcroot_sx(n): a=[0 for i in range(n)] k = 1 while k<n: a[k]=rat(1,k) k=k*2 return funcroot(a, 1)
def sink(i): if i%2==0: return 0 return rat(1,factorial(i)*(-1)**((i-1)/2)) a = [ sink(i) for i in range(n) ] out = open("sin-funcroot.py","w") out.write("from rational import rat\n") out.write("a=[]\n") try: idx = 1 for r in funcrootgen(a, 1): out.write("a.append(%s)\n"%repr(r)) out.write("\n") out.flush() print idx, float(r) idx+=1 except Exception: out.close()
def sink(i): if i%2==0: return 0 return rat(1,factorial(i)*(-1)**((i-1)/2))
#else: #h,w=matrices[0].size() #for m in matrices: #h1, w1 = m.size() #if h1 != h: #raise ValueError, "Can not hjoin matrices: sizes are wrong" #w+=w1 #self.height = h #self.width = w #def size(self): #return self.height, self.width #def __getitem__(self, (i,j)): #for m in self.matrices: #w,h = m.size() #if j<w: #return m[i,j] #j -= w #raise IndexError, (i, "Index too big") #def __setitem__(self, (i,j), v): #for m in self.matrices: #w,h = m.size() #if j<w: #m[i,j] = v #return #j -= w #raise IndexError, (i, "Index too big") from rational import rat m=mtx(6,6,values=lambda i,j:rat(i+1,j+2) if i<=j else rat(0)) print inv(m,zero=rat(0), one=rat(1))