-
Notifications
You must be signed in to change notification settings - Fork 23
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
Hilbert space supermode factors and canonical transformations #89
Comments
So if we define |
If possible, I think From a user perspective, I feel like it would be preferable for Speaking of names, |
Yes, I agree. Which means we should go with option 2 of the proposal (implementing
In principle, I agree. But this (and the re-interpretation of
The distinguishing feature is that there's a single degree of freedom (a single quantum number). However, that degree of freedom could be obtained from a transformation of the "canonical" degrees of freedom defined by the We could rename There would be some code duplication as a consequence of this (
In any case
I sympathize, but maybe it's just because it's an unusual name, and once you type it a couple dozen of times, it will get easier. I would have a slight preference to sticking with Otherwise, maybe |
I think it depends on your perspective. Clearly, a Bogoliubov transformation can be thought of as dual to a unitary transformation of Hilbert Space, which evokes "rotation". But in the phase space perspective that we usually take on bosonic modes, it's a symplectic transformation, which as far as I understand basically means a combination of rotation (understood as a unitary mapping between modes, such as local modes to Fourier modes) and multimode squeezing. That's not to say I endorse the name In general I think we have consensus on both the end goal and the steps to take:
What I'm really excited about is the eventually possibility to choose between different factorizations of Hilbert space when writing out numerical operators. QNET will do all the symbolic manipulations assuming true bosonic operators in any representation, possibly passing back and forth between several of them associated with different |
Just realized that we can generalize a little bit further: in addition to Bogoliubov transformations, translations |
I have no objections to the generalization. |
I agree that CanonicalSpace is questionable. I honestly don't know what the best name would be. BogoliubovSpace isn't too good because a canonical transformation may well be a pure translation. I think the relevant hierarchy of transformation names would be: The first restriction is requiring that the transformation preserves canonical commutation relations, and the second is homogeneity. |
Assuming we fully deal with #90 (properly separate out Bosonic/Fermionic/N-level operators), would our |
The name "canonical transformation" refers to transformations that preserve canonical (anti)commutation relations for either bosons or fermions, and doesn't cover other kinds of systems. However, using a similar infrastructure to support some types of unitary transformations on them sounds very useful too. One of the merits of canonical transformations is that they preserve the structure of the factorization of Hilbert space, i.e., you pass from a tensor product of N bosons to a tensor product of N different bosons, but in both cases, they multiply to the same Hilbert space. Passing from the computational basis to the Bell basis for a multiqubit system is similar, right? You go from a tensor product of N two-level systems to a tensor product of N different two-level systems? There might even be an exact correspondence between this an a very simple case of a fermionic Bogoliubov transformation. |
Yeah, I think so. But anyway, just something to keep in mind... |
We have been discussing native support for various aspects of non-local supermodes. This could involve both infrastructure to explicitly define Bogoliubov transformations from a list of
LocalSpace
s, and more generally an extension to the Hilbert space algebra to support some notion of Hilbert space factors which are nonlocal with respect to the originalLocalSpace
factors, but nonetheless mutually disjoint and understood to represent a single degree of freedom (in the same sense thatLocalSpace
represents a single degree of freedom).This functionality would be very helpful when passing between alternative representations to the canonical factorization of Hilbert space defined by a list of
LocalSpace
s. Currently, the most straightforward approach is to represent supermode operators byOperatorSymbol
s on the full Hilbert space, but this means that the algebra is ignorant of the canonical commutation relations for supermode creation and annihilation operators, and of the fact that operators on orthogonal supermodes commute. This places a huge burden on the user to apply a large number of carefully designed patterns in order to simplify expressions.At the moment we restrict this proposal to bosonic
LocalSpace
modes. Bogoliubov transformations are also defined for fermionic modes, which in QNET can be represented by two-levelLocalSpace
s, but there are unresolved subtleties regarding QNET and finite-level systems that should be clarified before attempting to generalize (see #90). It is further unclear if it is possible to generalize the notion of Bogoliubov transformations to a product of N-level systems where N is neither 2 nor infinity.Representing the Bogoliubov transformation, we envision a class
BogoliubovTransformation
parametrized by a list of bosonicLocalSpace
s and two matricesU
andV
such thatU * U.adjoint() - V * V.adjoint() = I
andU * V.T
is symmetric. There are two ways to go from here:Not touching the Hilbert space algebra. In this case, everything we want to do with supermodes would involve classes parametrized by a
BogoliubovTransformation
and supermode indices. For example, we can obtain the creation operator for Bogoliubov mode 3 by callingBogoliubovCreate(3, btransform)
, wherebtransform = BogoliubovTransformation(local_spaces, U, V)
. We can instantiate an operator symbol acting on the subspace defined by Bogoliubov mode 2 and 5 by callingO = BogoliubovOperatorSymbol('O', [2, 5], btransform)
. There are no objects to explicitly represent the Hilbert space factors of the supermodes, but operators defined on disjoint subspaces know to commute, with full awareness of zeros inU
andV
that could make some supermode factors disjoint from someLocalSpace
factors.Implementing a class
BogoliubovSpace
, parametrized by a list of bosonicLocalSpace
s and two vectorsu
,v
, whereu * u.adjoint() - v * v.adjoint() = 1
. These would work as similarly to bosonicLocalSpace
s as possible, representing an infinite ladder of basis states and supporting algebraically aware creation, annihilation andSigma
operators, and be valid targets forOperatorSymbol
s. The crucial difference would be that they are not in general disjoint from other single-mode Hilbert space factors. They are aware of theLocalSpace
s they overlap with, and twoBogoliubovSpace
instancesbspace1, bspace2
parametrized by the sameLocalSpace
s know that they are disjoint if and only ifu1 * u2.adjoint() - v1 * v2.adjoint() = 0
andu1 * v2.T = u2 * v1.T
. Based on this, operators associated with disjoint spaces know to commute. The main role of aBogoliubovTransformation
is then to produce a list of mutually disjointBogoliubovSpace
s built from the rows ofU
andV
.In either case, commutation relations between local and supermode creation and annihilation operators are known (i.e., when
b_j = u_jk * a_k + v_jk * a_k.dag()
, we have[b_j, a_k] = -v_jk
and[b_j, a_k.dag()] = u_jk
, etc.), so expressions with mixed local and supermode operators simplify as appropriate. This could be useful, e.g., for obtaining the Heisenberg equation of motion for a local mode from a Hamiltonian expressed in terms of supermodes.The text was updated successfully, but these errors were encountered: