tt = np.empty(n)
tt[0] = 0.0
for i in range(1, n):
    tt[i] = Tm[i] + (tt[i - 1] - Tm[i]) ** -tau[i]
Is a "for" loop necessary if elements of the a numpy vector are dependant upon the previous element?