If LP=series(Data[0]), then doesn't LP[1]=Data[1]? and LP[2]=Data[2]?

Could you please explain:

return LP[0] = (a-0.25*a*a)*Data[0]
+ 0.5*a*a*Data[1]
- (a-0.75*a*a)*Data[2]
+ 2*(1.-a)*LP[1]
- (1.-a)*(1.-a)*LP[2]

I'm just working with what I learned in the manual. If there's something else I need to read to be able to understand this language please let me know.