qrunch.quantum.operators.second_quantization.hardcore_boson
Module that contains the abstract hardcore boson operators \(\hat{b}\) and \(\hat{b}^\dagger\).
A general second quantized hardcore bosonic Hamiltonian operator can be expressed as a combination of these fundamental operators through addition and multiplication, applied to specific qubits.
from qrunch.quantum.operators.boson import HardCoreBosonCreation, HardCoreBosonAnnihilation
Obs = 0.5 * HardCoreBosonCreation(1) * HardCoreBosonAnnihilation(1)
- 0.7 * HardCoreBosonCreation(1) * HardCoreBosonCreation(2)
* HardCoreBosonAnnihilation(3) * HardCoreBosonAnnihilation(4)
A Hamiltonian like this can then be mapped to Pauli operators (which can be used in e.g. estimators), by using e.g. the Jordan-Wigner mapper.
The hardcore boson annihilation operator, \((\hat{b}_p)\), and creation operator, \((\hat{b}_p^\dagger)\), describe the annihilation and creation of a boson at a given site. They are defined by the following commutation relations:
These operators allow for a paired-electron approximation, facilitating efficient simulations on quantum computers.
Reference: https://arxiv.org/abs/2002.00035.
Classes
Boson annihilation operator acting on a specific site. |
|
Boson creation operator acting on a specific site. |
- class PairedHardcoreBosonAnnihilation
Bases:
PairedHardcoreBosonOperatorBoson annihilation operator acting on a specific site.
- __init__(site: AbstractIndex | int) None
Initialize the boson operator on a specific site.
- Parameters:
site (AbstractIndex | int) – The site to act upon.
- Return type:
None
- get_indices() tuple[AbstractIndex | int]
Get indices of the operator.
- Return type:
tuple[AbstractIndex | int]
- property site: AbstractIndex | int
The site the operator acts on.
- with_indices(index_value_pairs: IndexValuePairs) PairedHardcoreBosonOperator
Create a new copy of the operator with the AbstractIndex set to the given value.
- Parameters:
index_value_pairs (IndexValuePairs) – Map of abstract indices to concrete values.
- Return type:
- class PairedHardcoreBosonCreation
Bases:
PairedHardcoreBosonOperatorBoson creation operator acting on a specific site.
- __init__(site: AbstractIndex | int) None
Initialize the boson operator on a specific site.
- Parameters:
site (AbstractIndex | int) – The site to act upon.
- Return type:
None
- get_indices() tuple[AbstractIndex | int]
Get indices of the operator.
- Return type:
tuple[AbstractIndex | int]
- property site: AbstractIndex | int
The site the operator acts on.
- with_indices(index_value_pairs: IndexValuePairs) PairedHardcoreBosonOperator
Create a new copy of the operator with the AbstractIndex set to the given value.
- Parameters:
index_value_pairs (IndexValuePairs) – Map of abstract indices to concrete values.
- Return type:
Modules
Base class for all fermion operators, which define internal logic. |
|
A compact representation of a hard-core bosonic operator consisting only of single and double excitations. |