Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Follow new formulation in terms of cumulant expansion #27

Merged
merged 83 commits into from
Oct 11, 2020

Conversation

thangleiter
Copy link
Member

Implement the new formulation in terms of a cumulant expansion. This mostly involves:

  • rename "error vector correlation functions" to "decay amplitudes"
  • introduce the cumulant function
  • calculate the error transfer matrix as the matrix exponential of the cumulant function

@coveralls
Copy link

coveralls commented Jun 15, 2020

Pull Request Test Coverage Report for Build 182

  • 144 of 144 (100.0%) changed or added relevant lines in 5 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.5%) to 95.467%

Totals Coverage Status
Change from base Build 161: 0.5%
Covered Lines: 1849
Relevant Lines: 1915

💛 - Coveralls

 * Factor out some core computations into dedicated functions. This
   makes the code more readable.

 * Use util.cexp - 1 instead of np.expm1 to compute the integral. This
   should be significantly faster with negligible precision loss.

 * Use opt_einsum.contract_expression instead of np.einsum for the core
   computation. This should be faster by a factor of 1..1.5
This is useful for derivatives and second order calculations.
Adds minor performance improvements for an edge case while adding lots
of code complexity
@thangleiter thangleiter merged commit e2c5c3e into master Oct 11, 2020
@thangleiter thangleiter deleted the feature/follow_new_formulation branch December 1, 2020 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants