class bayespy.inference.vmp.transformations.RotateGaussianMarkovChain(X, *args)[source]

Rotation parameter expansion for bayespy.nodes.GaussianMarkovChain

Assume the following model.

Constant, unit isotropic innovation noise. Unit variance only?

Maybe: Assume innovation noise with unit variance? Would it help make this function more general with respect to A.

TODO: Allow constant A or not rotating A.

R x_n = R A R^{-1} R x_{n-1} + R B u_{n-1} + noise
R x_n = R [A, B] [R^{-1}, 0; 0, I] [R, 0; 0, I] [x_{n-1}; u_{n-1}]

A may vary in time.

Shape of A: (N,D,D) Shape of AA: (N,D,D,D)

No plates for X.

__init__(X, *args)[source]


__init__(X, *args)

bound(R[, logdet, inv])

get_bound_terms(R[, logdet, inv])


rotate(R[, inv, logdet])


This method should be called just before optimization.