bayespy.inference.vmp.transformations.RotateGaussianMarkovChain

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]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(X, *args) Initialize self.
bound(R[, logdet, inv])
get_bound_terms(R[, logdet, inv])
nodes()
rotate(R[, inv, logdet])
setup() This method should be called just before optimization.