Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Integration over some form of the filter function and the spectrum happens in
infidelity()
andcalculate_error_vector_correlation_functions()
. There is quite a bit of duplicate code in those functions.Additionally, for large dimensions the integrand can consume a lot of memory if set up in one go, eg
has
n_nops * d**4 * n_omega
elements. Switching instead to a loop over one of the factors ofR
in the integrand can significantly reduce the memory footprint to the order of the control matrix itself.The downside to this is of course a loss in performance since we replace
einsum
by aPython
loop. Therefore introduce a switch to let the user control this.