qml.bose.christiansen_mapping¶
- christiansen_mapping(bose_operator, ps=False, wire_map=None, tol=None)[source]¶
Convert a bosonic operator to a qubit operator using the Christiansen mapping.
This mapping assumes that the maximum number of allowed bosonic states is 2 and works only for Christiansen bosons defined in J. Chem. Phys. 120, 2140 (2004). The bosonic creation and annihilation operators are mapped to the Pauli operators as
b†0=(X0−iY02),...,b†n=Xn−iYn2,and
b0=(X0+iY02),...,bn=Xn+iYn2,where X, Y, and Z are the Pauli operators.
- Parameters
bose_operator (BoseWord, BoseSentence) – the bosonic operator
ps (bool) – Whether to return the result as a
PauliSentence
instead of an operator. Defaults toFalse
.wire_map (dict) – A dictionary defining how to map the states of the Bose operator to qubit wires. If
None
, integers used to label the bosonic states will be used as wire labels. Defaults toNone
.tol (float) – tolerance for discarding the imaginary part of the coefficients
- Returns
a linear combination of qubit operators
- Return type
Union[PauliSentence, Operator]