Skip to content

Potential error in eigendecomposition with Measurements.jl #173

Description

@BambOoxX

Now that #163 has a solution, I've tried to test numeric values for the code.

In addition, I have implemented a custom eigen decomposition under uncertainty using the developments in https://arxiv.org/pdf/2002.05001. Note however that I'm in no way an expert on this theory, I'm just trying to cross-check things.

One thing that is surprising to me is a special case with Hermitian matrices. The paper states that the projection of the uncertainty of the eigenmodes onto their mean values should produce a skew-Hermitian matrix (discussion just below eq (10) in the paper), what I translate as

# Assuming #163 works
A = Symmetric(rand(10,10)  0.05.*rand(10,10))
l,p = eigen(A)
Measurements.value.(p)'*Measurements.uncertainty.(p) # Should be skew-symmetric but returns symmetric with non-zero diagonal

My implementation based on the paper provides the expected behavior, but I have some doubts in my own capability to beat specialists on the matter.
Could someone provide some insight into this ? I opened the issue here as it seems more likely to be a linear algebra issue than a Measurements issue but who knows.

The basic verification that (A-l_i*I)*p_i = 0 in Measurements confuses me even more, as it reduces uncertainties to zero in the residuals while my implementation does not.
Given that even 0. ± 0.1 - (0. ± 0.1) does not return a zero uncertainty, something feels fishy, but I am not sure of anything anymore.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions