-
Notifications
You must be signed in to change notification settings - Fork 24
Description
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 LocalSpaces, 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 original LocalSpace factors, but nonetheless mutually disjoint and understood to represent a single degree of freedom (in the same sense that LocalSpace 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 LocalSpaces. Currently, the most straightforward approach is to represent supermode operators by OperatorSymbols 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-level LocalSpaces, 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 bosonic LocalSpaces and two matrices U and V such that U * U.adjoint() - V * V.adjoint() = I and U * 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
BogoliubovTransformationand 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 inUandVthat could make some supermode factors disjoint from someLocalSpacefactors. -
Implementing a class
BogoliubovSpace, parametrized by a list of bosonicLocalSpaces and two vectorsu,v, whereu * u.adjoint() - v * v.adjoint() = 1. These would work as similarly to bosonicLocalSpaces as possible, representing an infinite ladder of basis states and supporting algebraically aware creation, annihilation andSigmaoperators, and be valid targets forOperatorSymbols. The crucial difference would be that they are not in general disjoint from other single-mode Hilbert space factors. They are aware of theLocalSpaces they overlap with, and twoBogoliubovSpaceinstancesbspace1, bspace2parametrized by the sameLocalSpaces know that they are disjoint if and only ifu1 * u2.adjoint() - v1 * v2.adjoint() = 0andu1 * v2.T = u2 * v1.T. Based on this, operators associated with disjoint spaces know to commute. The main role of aBogoliubovTransformationis then to produce a list of mutually disjointBogoliubovSpaces built from the rows ofUandV.
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.