Physics[Annihilation] - generate "annihilation" operators acting on a given space of quantum states
Physics[Creation] - generate "creation" operators acting on a given space of quantum states
Calling Sequence
Annihilation(A, n1, n2, ... notation = ..., phaseconvention = ..., label = ...)
Creation(A, n1, n2, ... notation = ..., phaseconvention = ..., label = ...)
Parameters
A
-
a name, as a label; identifies the space of quantum states on which the operator returned acts
n1, n2, ...
positive integers; indicate the position of the quantum numbers on which the operator returned acts
notation = ...
(optional) equation of the form notation = explicit or notation = implicit (default); if explicit, the operator returned explicitly shows the space and quantum numbers onto which it acts
label = ...
(optional) the right-hand side can be any Maple name or string, as an alternative to explicit or implicit notation, to be used as label for the annihilation and creation operators associated to the operator A
phaseconvention = ...
(optional) equation of the form phaseconvention = procedure where procedure is a procedure of one argument, telling how to construct the phase factor from the quantum number onto which the operator acts (annihilation default: expr; creation default: expr)
Description
The Annihilation and Creation commands return annihilation and creation operators, respectively, which act on the quantum numbers of state vectors, Kets or Bras, of a space of quantum states. The first argument, A, is the label of the basis of quantum states on which the operator returned acts. The second and subsequent arguments are expected to be positive integers indicating the position of the quantum numbers on which the operator returned acts; if not given, it is assumed that there is only one quantum number.
Note: Annihilation and creation operators can be created to operate only on Bras and Kets belonging to discrete spaces of states, which is the default case when you define quantum operators - for details on that, see Setup and its keyword quantumdiscretebasis and quantumcontinuousbasis.
By default, the annihilation and creation operators returned are displayed as a− and a+, respectively (in the underlying computational implementation, a− and a+ are local variables that you can invoke in an input line using the global variables `a-` and `a+`). Thus, the default returned operator tells neither the basis of states nor the position of the quantum numbers onto which it acts. You can override this default by using the optional argument notation = explicit, as well as label = ... where the right-hand side is a name to by used instead of a. See Options below.
The annihilation and creation operators satisfy the commutation relation, a−,a+−=1, where a−,a+− is the Commutator, unless the label of the basis of states on which the operators act is itself an anticommutative variable, in which case the operators satisfy the anticommutation relation, a−,a++=1, where a−,a++ is the AntiCommutator. When these operators are constructed by calls to Annihilation and Creation, these (anti)commutation relations are automatically set, and so are taken into account by the Commutator and AntiCommutator commands.
When setting different Hilbert spaces using Setup, for example three spaces with only one operator acting on each of them via Setup⁡hilbertspaces=A,B,C, all the (anti)commutators between any two of A, B and C are automatically set equal to 0. Likewise, using Annihilation and Creation to produce annihilation and creation operators corresponding to A, B or C, automatically set equal to 0 all the commutators (or anticommutators) between annihilation and creation operators corresponding to any two of them. In connection, when computing with different Hilbert spaces it is particularly useful the option label = ... to distinguish between annihilation and creation operators acting on different spaces. For example, using, respectively label = a, label = b and label = c for each of the operators A, B and C.
The %Annihilation and %Creation commands are the inert forms of Annihilation and Creation. That is, they represent the same mathematical operations while returning the operators unevaluated. To evaluate the inert operations, use the value command.
Options
notation
The default value is notation = implicit. You can override this value by using the optional argument notation = explicit. This option is useful, for example, to distinguish among various annihilation (or creation) operators within a single worksheet, and to make a− and a+ (entering the returned indexed annihilation and creation operators) be exports of Physics, not local variables. Alternatively, for the same purpose, you can use the alias command. See the Examples for a demonstration.
label
The default value is label = a, so that the annihilation and creation operators returned are displayed as a− and a+, respectively. You can override this value by using the optional argument label = ... where the right-hand side is any Maple name or string to replace the default value a. This option is useful, for example, to distinguish among various annihilation (or creation) operators without having to use the notation = explicit that can make the output have too much information.
phaseconvention
Given a basis of states with label A, and a single quantum number, n, the annihilation operator satisfies the equation a−⁢A0=0 . So the state vector A0 is defined up to a constant factor. Assuming A0 is normalized to 1, this factor is of the form ⅇi⁢θ with θ real. By requiring, additionally, that A1=c1⁢a+⁢A0, with c1 real and positive, and taking into account the (anti)commutation relation satisfied by a− and a+, the factor c1 is equal to 1.
In the bosonic case, considering now that An=cn⁢a+⁢An−1, by using the same assumptions, the following phase convention arises:
a−⁢An =
n⁢An−1
a+⁢An =
n+1⁢An+1
You can override this phase convention with a procedure pc having one argument, by using the optional argument phaseconvention = pc.
In the fermionic case, recalling Pauli's exclusion principle, each quantum number can only assume the values 0 or 1, so:
a−⁢A1 =
A0
a+⁢A1 =
0
In the case of many quantum numbers, for example with a− and a+ acting on the nth quantum number qn, let M=∑m=1n−1⁡qm represent the total number of particles occupying states represented by the previous qm quantum numbers. Then the phaseconvention is
a−⁢Aq1,...,1,... =
−1M⁢Aq1,...,0,...
a+⁢Aq1,...,0,... =
−1M⁢Aq1,...,1,...
The default value for this option in the Annihilation command is phaseconvention = sqrt; the default in the Creation command is phaseconvention = n -> sqrt(n + 1).
Examples
with⁡Physics:
Setup⁡mathematicalnotation=true
mathematicalnotation=true
Produce annihilation and creation operators for a (discrete) basis of state vectors labeled phi regarding the 1st and 2nd quantum numbers of the Ket state vectors of this basis, respectively.
am≔Annihilation⁡φ,1
am≔a−
ap≔Creation⁡φ,1
ap≔a+
In the above, a− and a+ are local variables. These operators are applied to the Bras and Kets of this space of states by using the Physics[.] scalar product operator.
am·Ket⁡φ,n
n⁢φn−1
Bra⁡φ,n·am
n+1⁢φn+1
ap·Ket⁡φ,n
Bra⁡φ,n·ap
Commutator⁡am,ap
1
You can also use the inert form of Commutator, and evaluate the operation by using the value command when desired.
c_am_ap≔%Commutator⁡am,ap
c_am_ap≔a−,a+−
value⁡c_am_ap
Construct one more pair of annihilation and creation operators for a different basis, labeled psi. In order to distinguish this new pair from the one acting on the phi basis, use the optional argument notation = explicit.
am2≔Annihilation⁡ψ,1,notation=explicit
am2≔a−ψ1
ap2≔Creation⁡ψ,2,notation=explicit
ap2≔a+ψ2
Note that the indices of a− and a+ explicitly show the basis of states and position of quantum numbers on which they act. a− and a+ are are also exports of Physics, not local variables.
The first and second pair of operators constructed only act on state vectors of the basis indicated when the operators were constructed
am2·Ket⁡ψ,n,m
n⁢ψn−1,m
ap2·Ket⁡ψ,n,m
m+1⁢ψn,m+1
In order to distinguish between annihilation operators acting on different basis or different quantum numbers, instead of using the option notation = explicit, you can also use an alias.
alias⁡Am1=Annihilation⁡ψ,1:
alias⁡Am2=Annihilation⁡ψ,2:
Am1
Am1·Ket⁡ψ,n,m
Am2
Am2·Ket⁡ψ,n,m
m⁢ψn,m−1
When the label representing the basis of states is anticommutative, the annihilation and creation operators anticommute. To illustrate the phase convention for fermionic states, consider a case where a− and a+ act on the third quantum number.
Physics:-Setup⁡anticommutativeprefix=θ
anticommutativeprefix=θ
am≔Annihilation⁡θ,3,notation=explicit
am≔a−θ3
ap≔Creation⁡θ,3,notation=explicit
ap≔a+θ3
The following is the inert form of am,ap+, and needs to be evaluated by using the value command.
a_am_ap≔%AntiCommutator⁡am,ap
a_am_ap≔a−θ3,a+θ3+
value⁡a_am_ap
In the next example, there is one particle associated with the first quantum number, zero associated with the second quantum number, and a− acts on the third quantum number; so the factor entering the result of the first example is −11=−1.
am_K≔`%.`⁡am,Ket⁡θ,1,0,1
am_K≔a−θ3·θ1,0,1
value⁡am_K
−θ1,0,0
am_K≔`%.`⁡am,Ket⁡θ,1,1,1
am_K≔a−θ3·θ1,1,1
θ1,1,0
ap·Ket⁡θ,1,0,1
ap·Ket⁡θ,1,0,0
−θ1,0,1
A typical situation where the label = ... option is useful is with working with several Hilbert spaces at the same time, so the operators of one space commutes with those of the others, and the same happens with their corresponding annihilation / creation operators. For example, set three quantum operators, A, B and C and tell the system the act on different (disjointed) Hilbert spaces
Setup⁡quantumoperators=A,B,C,hilbertspaces=A,B,C
disjointedspaces=A,B,C,quantumoperators=A,B,C
Set annihilation and creation operators for each of these operators A, B and C . For A, we can but we don't need to specify a label, keep the default label a
a,ap≔Annihilation,Creation⁡A
a,ap≔a−,a+
For B and C we use the label option to indicate the letter to use as root for the display
b,bp≔Annihilation,Creation⁡B,label=b
b,bp≔b−,b+
c,cp≔Annihilation,Creation⁡C,label=c
c,cp≔c−,c+
At this point, you can refer to these operators using a,ad,b,bd and c,cd assigned above, and also the default values `a-`,`a+`,`b-`,`b+` and `c-`,`c+`
a−`a-`
bp−`b+`
Note you don't need to specify any algebra rule between these annihilation / creation operators: they are all implicit in the fact that they annihilate and create states with quanta that are eigenstates of A, B and C, and so the operators of any two of them automatically commute
%Commutator=Commutator⁡a,b
a−,b−−=0
%Commutator=Commutator⁡b,c
b−,c−−=0
%Commutator=Commutator⁡bp,cp
b+,c+−=0
As an applied example, consider in quantum mechanics the Schrieffer-Wolff transformation used to determine an effective (often low-energy) Hamiltonian by decoupling weakly interacting subspaces. The Hamiltonian can be expressed in terms of the annihilation and creation operators set above using Annihilation and Creation:
H≔ω__a⁢ap⁢a+ω__b⁢bp⁢b+U__b⁢bp⁢bp⁢b⁢b+ω__c⁢cp⁢c+g__ab⁢a⁢bp+ap⁢b+g__bc⁢b⁢cp+bp⁢c+g__ac⁢a⁢cp+ap⁢c
H≔ω__a⁢a+⁢a−+ω__b⁢b+⁢b−+U__b⁢b+2⁢b−2+ω__c⁢c+⁢c−+g__ab⁢a−⊗b++a+⊗b−+g__bc⁢b−⊗c++b+⊗c−+g__ac⁢a−⊗c++a+⊗c−
where gab,gac and gbc are the coupling constants between modes a and b, between a and c and between b and c. Assuming for simplicity of illustration that the mode c is completely decoupled from the modes a and b, so that
g__ac≔0;g__bc≔0
g__ac≔0
g__bc≔0
the transformation S such that H'=ⅇS⁢H⁢ⅇ−S is given by
S≔λ⁢a⁢bp−ap⁢b
S≔λ⁢a−⊗b+−a+⊗b−
where
λ≔g__ab⋅1−ω__a+ω__b
λ≔g__ab−ω__a+ω__b
This transformation, assumed to be small, can be expanded using Baker-Cambpbell-Haussdorf formula, which, up to second order is given by (use inert commutators and versions of H and S to see what is being computed)
%H+%Commutator⁡%S,%H+12⁢%Commutator⁡%S,%Commutator⁡%S,%H
H+S,H−+S,S,H−−2
Releasing the computation of the expression above using value; we get
value⁡
ω__a⁢a+⁢a−+ω__b⁢b+⁢b−+U__b⁢b+2⁢b−2+ω__c⁢c+⁢c−+g__ab⁢a−⊗b++a+⊗b−+g__ab⁢ω__a⁢a−⊗b+−ω__b⁢a−⊗b+−2⁢U__b⁢a−⊗b+2⁢b−+g__ab⁢−a−⁢a++b−⁢b++ω__a⁢a+⊗b−−ω__b⁢a+⊗b−−2⁢U__b⁢a+⊗b+⁢b−2−g__ab⁢a+⁢a−−b+⁢b−−ω__a+ω__b+g__ab2⁢2⁢U__b⁢a−2⊗b+2−4⁢g__ab⁢a−⊗b++ω__a⁢−a−⁢a++b−⁢b+−ω__b⁢−a−⁢a++b−⁢b+−2⁢U__b⁢−2⁢a−⁢a+⊗b+⁢b−+b+⁢b−2⁢b+−ω__a⁢a+⁢a−−b+⁢b−+ω__b⁢a+⁢a−−b+⁢b−+2⁢U__b⁢2⁢a+⁢a−⊗b+⁢b−−b+2⁢b−2−4⁢g__ab⁢a+⊗b−+2⁢U__b⁢a+2⊗b−22⁢−ω__a+ω__b2
Expanding in series and keeping terms up to order 2 in the (small) coupling gab,
Gtaylor⁡,g__ab,3
−2⁢U__b⁢g__ab+ω__a−ω__b⁢g__ab−ω__a+ω__b⁢b+2⁢b−2+2⁢a+2⊗b−2⁢U__b⁢g__ab2+2⁢a−2⊗b+2⁢U__b⁢g__ab2+4⁢U__b⁢g__ab⁢ω__a−ω__b⁢a−⊗b+2⁢b−+4⁢U__b⁢g__ab⁢ω__a−ω__b⁢a+⊗b+⁢b−2−2⁢b+⁢b−2⁢b+⁢U__b⁢g__ab2+4⁢a+⁢a−⊗b+⁢b−⁢U__b⁢g__ab2+4⁢a−⁢a+⊗b+⁢b−⁢U__b⁢g__ab2+ω__a−ω__b⁢g__ab2+2⁢ω__a⁢ω__a−ω__b⁢a+⁢a−+−g__ab2+2⁢ω__b⁢ω__a−ω__b⁢b+⁢b−+2⁢ω__c⁢ω__a−ω__b⁢c+⁢c−+g__ab2⁢a−⁢a+−b−⁢b+2⁢ω__a−ω__b2
Rewriting for clarity,
collect⁡Simplify⁡,ap⁢a,ap2⁢a2,bp⁢b,bp2⁢b2,g__ab,simplify
g__ab2−ω__b+ω__a+ω__a⁢a+⁢a−+U__b−ω__a+ω__b⁢g__ab2−ω__b+ω__a2+ω__b⁢b+⁢b−+−U__b⁢g__ab2−ω__b+ω__a2+U__b⁢b+2⁢b−2−U__b⁢b+⁢b−+b+2⁢b−2−a−2⊗b+2−4⁢a+⁢a−⊗b+⁢b−−a+2⊗b−2⁢g__ab2−ω__b+ω__a2+2⁢U__b⁢a−⊗b+2⁢b−+a+⊗b+⁢b−2⁢g__ab−ω__b+ω__a+ω__c⁢c+⁢c−
Finally, dropping highly oscillating terms involving tensor products of modes a and b - they will only weakly contribute to the dynamics - we get
subs⁡bp2⁢a⁢b=0,ap⁢bp⁢b2=0,ap2⁢b2=0,bp2⁢a2=0,
g__ab2−ω__b+ω__a+ω__a⁢a+⁢a−+U__b−ω__a+ω__b⁢g__ab2−ω__b+ω__a2+ω__b⁢b+⁢b−+−U__b⁢g__ab2−ω__b+ω__a2+U__b⁢b+2⁢b−2−U__b⁢b+⁢b−+b+2⁢b−2−4⁢a+⁢a−⊗b+⁢b−⁢g__ab2−ω__b+ω__a2+ω__c⁢c+⁢c−
H__approx≔collect⁡,ap⁢a,ap2⁢a2,bp⁢b,bp2⁢b2,g__ab,simplify
H__approx≔g__ab2−ω__b+ω__a+ω__a⁢a+⁢a−+−g__ab2−ω__b+ω__a+ω__b⁢b+⁢b−+−2⁢U__b⁢g__ab2−ω__b+ω__a2+U__b⁢b+2⁢b−2+4⁢a+⁢a−⊗b+⁢b−⁢U__b⁢g__ab2−ω__b+ω__a2+ω__c⁢c+⁢c−
Going to higher orders or keeping track of more modes/systems is tedious with paper and pencil, but straightforward on a worksheet following the approach above.
The display of tensor products in all the lines above includes the tensor product operator ⊗. In computations with paper and pencil, however, the display of that operator is frequently omitted. For that purpose, use
Setup⁡tensorproductnotation=false
tensorproductnotation=false
The display of Happrox is now
H__approx
g__ab2−ω__b+ω__a+ω__a⁢a+⁢a−+−g__ab2−ω__b+ω__a+ω__b⁢b+⁢b−+−2⁢U__b⁢g__ab2−ω__b+ω__a2+U__b⁢b+2⁢b−2+4⁢a+⁢a−⁢b+⁢b−⁢U__b⁢g__ab2−ω__b+ω__a2+ω__c⁢c+⁢c−
See Also
`.`, AntiCommutator, Bra, Bracket, Commutator, Gtaylor, Ket, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Setup, type,anticommutative, type,commutative, type,noncommutative, value
References
Cohen-Tannoudji, C.; Diu, B.; and Laloe, F. Quantum Mechanics. Chapter II. Paris, France: Hermann, 1977.
Compatibility
The Physics[Annihilation] and Physics[Creation] commands were updated in Maple 2024.
Download Help Document