Say you want up[v][2], the th ancestor of . First, jump steps: up[v][1] is the grandparent. Then jump another steps from there: up[up[v][1]][1]. You have jumped steps total. So:
up[v][2] = up[up[v][1]][1]
This pattern holds for all . Every column depends only on the previous column, so you compute columns in order from to . Each entry is filled in time.