BravyiKitaevSuperFastMapper#
- class BravyiKitaevSuperFastMapper[source]#
Bases:
FermionicMapper
The Bravyi-Kitaev super-fast fermion-to-qubit mapping.
This implementation follows closely Reference [1].
References
[1] Kanav Setia and James D. Whitfield, "Bravyi-Kitaev Superfast simulation of electronic structure on a quantum computer", J. Chem. Phys. 148, 164104 (2018). https://doi.org/10.1063/1.5019371
Methods
- map(second_q_ops, *, register_length=None)#
Maps a second quantized operator or a list, dict of second quantized operators based on the current mapper.
- প্যারামিটার:
second_q_ops (FermionicOp | List[FermionicOp | None] | Dict[str, FermionicOp]) -- A second quantized operator, or list thereof.
register_length (int | None) -- when provided, this will be used to overwrite the
register_length
attribute of theSparseLabelOp
being mapped. This is possible because theregister_length
is considered a lower bound in aSparseLabelOp
.
- রিটার্নস:
A qubit operator in the form of a
SparsePauliOp
, or list (resp. dict) thereof if a list (resp. dict) of second quantized operators was supplied.- রিটার্ন টাইপ:
SparsePauliOp | List[SparsePauliOp | None] | Dict[str, SparsePauliOp]
- classmethod mode_based_mapping(second_q_op, register_length=None)#
Utility method to map a
SparseLabelOp
to a qubit operator using a pauli table.- প্যারামিটার:
second_q_op (SparseLabelOp) -- the SparseLabelOp to be mapped.
register_length (int | None) -- when provided, this will be used to overwrite the
register_length
attribute of the operator being mapped. This is possible because theregister_length
is considered a lower bound.
- রিটার্নস:
The qubit operator corresponding to the problem-Hamiltonian in the qubit space.
- রেইজেস:
QiskitNatureError -- If number length of pauli table does not match the number of operator modes, or if the operator has unexpected label content
- রিটার্ন টাইপ:
- classmethod pauli_table(register_length)#
Generates a Pauli-lookup table mapping from modes to pauli pairs.
The generated table is processed by
QubitMapper.sparse_pauli_operators()
.- প্যারামিটার:
register_length (int) -- the register length for which to generate the table.
- রিটার্নস:
A list of tuples in which the first and second Pauli operator the real and imaginary Pauli strings, respectively.
- রিটার্ন টাইপ:
list[tuple[qiskit.quantum_info.operators.symplectic.pauli.Pauli, qiskit.quantum_info.operators.symplectic.pauli.Pauli]]
- classmethod sparse_pauli_operators(register_length)#
Generates the cached
SparsePauliOp
terms.This uses
QubitMapper.pauli_table()
to construct a list of operators used to translate the second-quantization symbols into qubit operators.- প্যারামিটার:
register_length (int) -- the register length for which to generate the operators.
- রিটার্নস:
Two lists stored in a tuple, consisting of the creation and annihilation operators, applied on the individual modes.
- রিটার্ন টাইপ:
tuple[list[qiskit.quantum_info.operators.symplectic.sparse_pauli_op.SparsePauliOp], list[qiskit.quantum_info.operators.symplectic.sparse_pauli_op.SparsePauliOp]]