Multichannel AR / block Levinson API

Online MIMO predictor contract

MIMOLatticePredictor is a causal vector predictor. Coefficients may be fitted offline with block_levinson_durbin, but runtime prediction follows a strict predict-before-update contract:

predictor = lattice_dsp.MIMOLatticePredictor.from_levinson(fit)

y_hat = predictor.predict()   # uses only previous vectors
error = predictor.update(y_t) # consumes the current vector afterward

For diagonal reflection matrices, the predictor decomposes into independent one-channel/SISO predictors. For full matrix reflections, previous samples from one channel can help predict another channel.