Skip to content

Potential error in eigendecomposition with Measurements.jl #173

@BambOoxX

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions