from Numeric import *
from math import *
from scipy import gplt

# questa successione esplode in avanti ed è stabile all'indietroo

y = zeros(100, 'double')
y[1]=1./exp(1.)*(exp(1.)-1)
for n in range(1,99,1):
  y[n+1]=1.-(n+1)*y[n]
gplt.figure()
gplt.plot(arange(0,100), y)
# si sa che per n->inf y->0 (cioè y->1/n), però non la si riesce a calcolare perchè già per n<200 l'algoritmoitmo
# va in overflow e non si può procedere oltre.


# Se si procede all'indietro, cioè supponendo y(n+1)=0 per n grande e calcolando da questo y(n), sii
# riesce a calcolare tutta la successione fino a y(1) :
y = zeros(1000, 'double')
for n in range (998, 0 , -1):
  y[n]=(1.-y[n+1])/(n)
gplt.figure()  
gplt.plot(arange(0,1000), y)
