Skip to content

Computing error generators and downstream quantities in reports #599

@rileyjmurray

Description

@rileyjmurray

Our report generation code computes error generators from process matrices. That entails computing something like $\log(A B^{-1})$ or $\log(A^{-1}B)$ for process matrices $(A, B)$.

In the practically-universal case when the argument to the matrix log isn't Hermitian positive definite, issues with branch cuts of the log extended to all of ℝ can lead to violating $\exp(\log( M)) = M$. This results in warnings and invalidates the meaning of certain parts of the report. It's also possible for report generation to fail outright (i.e., an exception is raised but never caught) in the rare situations when $M$ ends up being singular.

The numerical computation of matrix logs can be avoided when a model is already parameterized in terms of error generators. Since error generators are one of our most common ways of parameterizing models it makes sense that report generation should try and take advantage of this fact.

I expect it will be difficult to make these changes in a comprehensive way. So I'm opening this issue rather than making a PR right away.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions