-
Notifications
You must be signed in to change notification settings - Fork 369
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
General n-body rotations for PolynomialTensor #86
Comments
Before this is resolved, maybe make the code throw an exception if there are other tensors stored? Failing silently feels dangerous. |
From what I have seen, the rotation is just applied to all the indices of the tensor, with no regards to the "key", i.e. the (1, 1, 0, 0) and the (0, 0, 1, 1) tensors should be rotated the same way. Can anyone confirm that this is indeed the correct behavior? |
It seems that the release paper "specialized" the rotation U to be real and orthogonal. Shouldn't we support the general case anyway? |
Yes, we should support the general case. The rotations of the (1, 1, 0, 0) tensors and (0, 0, 1, 1) tensors should differ by some complex conjugates (as we discussed in person). |
I'll note here that for the complex one-body case, the transformation M' = R M R^T generalizes to R* M R^T. |
Closed by #117 |
Currently, the
rotate_basis
method of the PolynomialTensor class only rotates the (1, 0) and (1, 1, 0, 0) tensors, i.e., the tensors corresponding to terms of the form a^\dagger_p a_q and a^\dagger_p a^\dagger_q a_r a_s. Ideally, it would correctly rotate all tensors that are stored in the PolynomialTensor instance.The rotation of the (1, 0) tensor is straightforward (just a basis change for a matrix), and the implementation of the rotation for the (1, 1, 0, 0) tensor is described in equations (22) and (23) of the release paper. The task for this issue is to work out how to generalize these expressions to arbitrary tensors and implement it in the
rotate_basis
method.The text was updated successfully, but these errors were encountered: