# qml.qchem.obs.particle_number¶

particle_number(orbitals, mapping='jordan_wigner', wires=None)[source]

Computes the particle number operator $$\hat{N}=\sum_\alpha \hat{n}_\alpha$$ in the Pauli basis.

The particle number operator is given by

$\hat{N} = \sum_\alpha \hat{c}_\alpha^\dagger \hat{c}_\alpha,$

where the index $$\alpha$$ runs over the basis of single-particle states $$\vert \alpha \rangle$$, and the operators $$\hat{c}^\dagger$$ and $$\hat{c}$$ are the particle creation and annihilation operators, respectively.

Parameters
• orbitals (int) – Number of spin orbitals. If an active space is defined, this is the number of active spin-orbitals.

• mapping (str) – Specifies the transformation to map the fermionic operator to the Pauli basis. Input values can be 'jordan_wigner' or 'bravyi_kitaev'.

• wires (Wires, list, tuple, dict) – Custom wire mapping used to convert the qubit operator to an observable measurable in a PennyLane ansatz. For types Wires/list/tuple, each item in the iterable represents a wire label corresponding to the qubit number equal to its index. For type dict, only int-keyed dict (for qubit-to-wire conversion) is accepted. If None, will use identity map (e.g. 0->0, 1->1, …).

Returns

the fermionic-to-qubit transformed observable

Return type

pennylane.Hamiltonian

Example

>>> orbitals = 4
>>> N = particle_number(orbitals, mapping="jordan_wigner")
>>> print(N)
(2.0) [I0]
+ (-0.5) [Z0]
+ (-0.5) [Z1]
+ (-0.5) [Z2]
+ (-0.5) [Z3]
>>> N = particle_number(orbitals, mapping="jordan_wigner", wires=['w0','w1','w2','w3'])
>>> print(N)
(2.0) [Iw0]
+ (-0.5) [Zw0]
+ (-0.5) [Zw1]
+ (-0.5) [Zw2]
+ (-0.5) [Zw3]