Git Product home page Git Product logo

Comments (7)

fjosw avatar fjosw commented on July 28, 2024

Hi @JuanUrrea6, thanks for opening this issue. Do you have a proposal for improving the code and including the feature you are mentioning? While I don't have a use case myself, I can see that this is useful and I am happy to review any pull request that adds this functionality.

from pyerrors.

JuanUrrea6 avatar JuanUrrea6 commented on July 28, 2024

I can provide the lines of code which given a Corr object calculate the GEVP eigenvectors and eigenvalues with their corresponding errors via an intermediate Cholesky decomposition. Nonetheless these eigenpairs are sorted according to the magnitude of the eigenvalue in ascending order as per the eigh() default since I have not implemented the determinant-based sorting and until now just compared the eigenvectors that I get with the sorted ones that the GEVP() function produces to check consistency.

from pyerrors.

fjosw avatar fjosw commented on July 28, 2024

I am a bit unsure about how to include this in the code. One way could be to add an additional keyword argument to the CorrGEVPmethod which allows to extract the eigenvectors asObs` which (at least for now) would only work with the standard sorting method. Does this sound sensible? Maybe also @s-kuberski or @JanNeuendorf have opinions on this matter?

from pyerrors.

s-kuberski avatar s-kuberski commented on July 28, 2024

Hi. I agree that adding this is a good idea and that a keyword for the GEVP function would be a nice way to include this. I think I did have an implementation of this in the past, but this was not related to the Corr module.

Concerning the sorting algorithm: I don't think that you have to include error propagation in the sorting algorithms as we, in contrast to other resampling methods, only have one solution for the GEVP at each time slice. Therefore, you could just go ahead with the sorting according to the mean values and use it to sort your Obs-values eigenvectors. I think that this could easily be implemented by checking the data type at the start of the sorting and, if Obs are present, use vectors of floats to sort the vectors of Obs. Or am I missing something here?

from pyerrors.

fjosw avatar fjosw commented on July 28, 2024

I agree that the sorting could just be done on float versions of the vectors. Would you be willing to have a look at this and open a pull request @JuanUrrea6 ?

from pyerrors.

JuanUrrea6 avatar JuanUrrea6 commented on July 28, 2024

My only argument in favor of including errors in the sorting is that the determinants for different orderings have to be compared and while this is straightforward for the values of these determinants alone, the inclusion of the corresponding errors can change the outcome if one defines a significance criterion for the comparison in terms of these errors.

I would be happy to help, but due to current commitments I cannot say for sure when I would manage to have ready a version that uses this error-inclusive sorting and I don't know if that would interfere with your schedule of future versions. If this is a modification that you would like to have rather soon then I can gladly provide the code for the calculation of the vectors with errors as I currently have it on top of which one could implement the sorting.

from pyerrors.

fjosw avatar fjosw commented on July 28, 2024

At least from my side, this is not an urgent issue so for me it would be fine to push this back until either of us finds time to take a closer look.

from pyerrors.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.