Comments (7)
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.
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.
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 Corr
GEVPmethod which allows to extract the eigenvectors as
Obs` 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.
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.
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.
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.
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)
- numerical differentiation in derived_obs not working HOT 5
- Automatic windowing method fails for gapped and irregular chains HOT 4
- Issues with _filter_zeroes and Corr HOT 4
- Exception when applying .symmetric() to Corr containing None HOT 1
- Gamma_method() is broken for Obs that are NaN
- Multi-dimensional fits
- Bug coming from difference in search methods in sfcf inputs HOT 2
- `Corr.show()` draws prange in same color as error bars. HOT 1
- No dobs-related functions from the input submodule can be used HOT 1
- Warning in pandas tests
- Numpy 1.25 breaks a few linalg functions HOT 3
- Failing python 3.12 pytest workflow
- Duplicate data cause `gamma_method()` to fail with an unhelpful message HOT 3
- plot_history unexpected behaviour for gapped idl HOT 2
- read_hd5 in pyerrors 2.9.0 not fully backwards compatible to <=2.8.2 HOT 1
- Read specific interval with read_ms5_xsf() HOT 2
- Files keyword for multiple reps in read_sfcf HOT 2
- pyerrors does not work with the upcoming numpy 2 release HOT 7
- Corr.__getitem__ unexpected behaviour HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyerrors.