Skip to content
Discussion options

You must be logged in to vote

Alright, figured it out in case it's useful for anyone. It involves constructing the rectangular block $\left(-C^{-1} A, A^\intercal C^{-1} A + I, -A^\intercal C^{-1}\right)$, padding it with zeros on the right, vmap-ing over shifts for each row, and some reshaping.

def state_space_precision(A, innovation_precision, n):
    """
    Evaluate the state space precision.

    Args:
        A: Transition matrix with shape `(..., p, p)`, where `p` is the dimensionality 
            of the state space.
        innovation_precision: Precision of innovation noise with shape `(..., p, p)`.
        n: Number of steps.

    Returns:
        Precision of the state with shape `(..., n * p, n * p)`.

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by tillahoffmann
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant