* [Fix] Pandas 3 string type handling
* [ci] Temporarily remove WError because of scipy deprecation
* [Fix] Address edge cases in _deserialize_df
- Use pd.isna() instead of truthiness check for gzip null guard, fixing
incorrect behavior when null is np.nan (which is truthy in Python)
- Add bounds check to while loop to prevent IndexError when all non-null
values are empty strings converted to None by regex replace
* [Fix] Address edge cases in _deserialize_df and add string dtype tests
- Guard against IndexError on empty DataFrames and all-null columns
- Use is not None instead of pd.isna() for Obs objects in auto_gamma
- Add tests for string dtype columns (with/without None, CSV and SQL)
- Add test for empty DataFrame deserialization
* [Fix] Avoid skipping NA-to-None conversion and guard auto_gamma against None lists
- Replace continue with conditional to preserve NA-to-None conversion for all-null columns
- Guard auto_gamma list lambda against None values to prevent TypeError
- Add tests for all-empty-string columns and Obs lists with None + auto_gamma
* add option that the headers of an append-mode file can have different format
* add tests for irregular headers in append mode
* hotfix: fix bug in append start read implementation
* lint
* lint II
* [Fix] corrected expected_chisquare by adding the number of priors
* test/fits_test.py: dof and expected chisquare the same in uncorrelated fit w. prior to uncorrelated data
* [Fix] Removed the possibility to create an Obs from data on several replica
* [Fix] extended tests and corrected a small bug in the previous commit
---------
Co-authored-by: Simon Kuberski <simon.kuberski@cern.ch>
* [Fix] Fix test for membership should be 'not in' (E713)
* [Fix] Fix module imported but unused (F401)
* [Fix] More precise Exception types in dirac, obs and correlator
* fix: corrected bug that prevented combined fits with multiple x-obs in some cases
* made test more complex
* [Fix] Slightly increase tolerance for matrix function test.
* Adapt test_merge_idx to compare lists
---------
Co-authored-by: Simon Kuberski <simon.kuberski@cern.ch>
Co-authored-by: Fabian Joswig <fjosw@users.noreply.github.com>
* feat: corr_matrix kwargs as input for least squares fit
* feat/tests: inverse covariance matrix and correlation matrix kwargs as input for least squares function
* feat/tests/example: reduced new kwargs to 'inv_chol_cov_matrix' and outsourced the inversion & cholesky decomposition of the covariance matrix (function 'invert_corr_cov_cholesky(corr, covdiag)')
* tests: added tests for inv_chol_cov_matrix kwarg for the case of combined fits
* fix: renamed covdiag to inverrdiag needed for the cholesky decomposition and corrected its documentation
* examples: added an example of a correlated combined fit to the least_squares documentation
* feat/tests/fix(of typos): added function 'sort_corr()' (and a test of it) to sort correlation matrix according to a list of alphabetically sorted keys
* docs: added more elaborate documentation/example of sort_corr(), fixed typos in documentation of invert_corr_cov_cholesky()
* [fix] First version of a fix to cope with missing replica.
* [fix] added test for missing replica
* [fix] refactored fix for missing replica, modified tests
* [fix] refinement of tests
* [fix] Fixed intendation for flake8
* [feat] special module with Bessel functions added.
* [feat] init adapted.
* [tests] First test for special module added.
* [tests] Check kn special function derivative explicitly vs numerical
derivative of scipy function.
* [feat] Added remaining autograd scipy special functions to the special
module.
* [feat] Imports corrected, docstring added.
* Added the function error_gevp() to compute the gevp with statistical errors.
* Changed method name from error_gevp to error_GEVP and removed automatic gamma method
* added auto_gamma to error_GEVP
* Specified exceptions in Corr.error_GEVP
* Fixed a wrong path. It should be np.linalg.LinAlgError
* Added a test for error_GEVP
* The tests of error_gevp loads a test matrix
* Incorporated eigenvectors with uncertainties in GEVP routine
* Cleaned up GEVP routines
* Cleaned up breaking change from merge
* Released tolerance in test of GEVP
* Repaired broken GEVP test
---------
Co-authored-by: Simon Kuberski <simon.kuberski@uni-muenster.de>
* make template
* read_sfcf_multi running with compact format
* fix append mode, norrmal tests work
* improve readability
* add simple test for multi_read
* simple multi_test works
* add first method to check sfcf param hashes
* add docstring
* simple test for o format working
* use benedict to make loops easier
* introduce python-benedict as dep
* no nice_out, less error prone, found bug in tests
* Revert "introduce python-benedict as dep"
This reverts commit 9696d68b7a.
* Revert "use benedict to make loops easier"
This reverts commit fa3987479b.
* no nice output after reverts
* [build] Added jkuhl-uni as CODEOWNER for sfcf.
* refactor: flatten internal dicts
* very small test extension
* ...flake8
* docu
* Delete second sep init
---------
Co-authored-by: Fabian Joswig <fabian.joswig@uni-muenster.de>
* feat: implemented __eq__ method for Corr class.
* feat: __eq__ method now respects None entries in correlators.
* feat: Obs can now be compared to None, __ne__ method removed as it is
not required.
* feat: Corr.__eq__ rewritten to give a per element comparison.
* tests: additional test case for correlator comparison added.
* feat: comparison now also works for padding.
* feat: vectorized gamma_method function added.
* feat: vectorized gamma method generalized to also work on other objects
like Corr or Fit_result.
* feat: alias gamma_method for vectorized gamma_method added.
* docs: example 5 updated to include vectorized gamma_method.
* docs: output of example 5 updated.