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

Update box matrix normalization and decouple K matrix model from BoxQuantization #2

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

ebatz
Copy link

@ebatz ebatz commented Apr 18, 2018

The commits do two things:

  1. Decouple the implementation of a K matrix model from the BoxQuantization class, i.e. whoever wants to implement a K matrix model writes a class subclassing KtildeMatrixBase, and takes care of handling the model parameters there. BoxQuantization does not any longer loop fit parameters through to the K Matrix.

  2. Change of normalization of the box matrix elements such that the K matrix does not depend on any finite-volume quantity anymore. Previously, the K matrix needed factors of k0 in it to make contact with the standard expressions for effective range, Breit-Wigner etc.

Some more detail on each change is provided in the commit messages.

Ben Horz added 4 commits April 18, 2018 16:04
Previously the K matrix model was intertwined with the BoxQuantizationclass,
e.g. fit parameters were accessed through BoxQuantization. Instead, the
BoxQuantization class should not care about how a K Matrix model is
implemented as long as it provides the two functions

	calculate(..)
	isZero(..)

now defined pure virtual in the new KtildeMatrixBase base class. A
K-matrix model is implemented by subclassing KtildeMatrixBase and
providing these functions. Model parameters are handled exclusively by
the K matrix model provided by the user.

A BoxQuantization object is now constructed by passing in an object
derived from KtildeMatrixBase and a boolean indicating whether this is a
model for Ktilde or KtildeInverse.

The example driver routines have been updated to reflect the changes in
interface.
This change in normalization induces a change in the normalization of
the Ktilde matrix to make it more natural. The difference is most easily
seen by comparing

	eq. (2.9) of https://arxiv.org/abs/1802.03100v1	(new convention)
	eq. (46)  of https://arxiv.org/abs/1707.05817v1 (old convention)

In the old normalization, the K matrix depended on m_ref L, i.e. a
finite-volume quantity. Using the new normalization, the K matrix does
not pick up a dependence on any finite-volume quantity, and the
Breit-Wigner parametrization takes its canonical form.
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