Custom generators of rotations in set_pair_coupling!
#456
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.
To support custom spin representations on each site, the user must be able to specify the generators of rotation. For example, to work with explicit spin and orbital angular momenta, one should work in a tensor product space representation. But some models might also employ a direct sum of spin multiplets, and it's nice to give power users this level of control.
The proper, eventual solution will be a variant of
Momentthat can be passed to the system constructor. That might take a while, so this PR provides partial support, where the generators of rotation can be provided in the call toset_pair_coupling!. This new feature is not exposed in the public API.What's correct in this PR:
What's missing and dangerous:
set_pair_coupling!. Generators cannot yet be passed toset_onsite_coupling!.Because of these limitations, there is an intentional choice to hide the new keyword argument
genfrom the public docs.