Skip to content

Extend "SVD Analysis" to Diagonal noise without a constraint on number of eigenvectors #304

Description

@odunbar

Issue

This analysis provides a way to look at contributions to the loss function projected onto eigenvectors of the noise. Currently it will do this for relatively few eigenvectors (which is typically OK for non-diagonal noise estimated with a few data samples).

"""
function analyze_residual(ekp, iter; n_eigenvectors = 3)
obs_series = EKP.get_observation_series(ekp)
obs_noise_cov = EKP.get_obs_noise_cov(obs_series; build = false)

However in the setting of diagonal noise, we can easily look at all eigenvectors (as they are just the unit vectors) and so this function will only compute contributions of the difference (/residual) onto the first, say 3, pixels. this is very lacking. We should be able to check if all obs_noise_cov matrix types are diagonal, and if so, perform the variable decomposition directly, without computing any eigen decompositions. (This can be done before creating a linear map)

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