qrunch.chemistry.reduced_density_matrices.reduced_density_matrix_calculator
Module for reduced density matrix (RDM) calculators.
Classes
Class for calculating reduced density matrices (RDMs). |
- class ReducedDensityMatrixCalculator
Bases:
objectClass for calculating reduced density matrices (RDMs).
- __init__(estimator: Estimator) None
Initialize the reduced density matrix calculator.
- Parameters:
estimator (Estimator) – The estimator to be used for the matrix elements. Can be created using the
estimator_creator()builder.- Return type:
None
- calculate_1_rdm(circuit: Circuit, shots: int | None = None) ndarray[tuple[int, ...], dtype[float64]]
Calculate the 1-particle RDMs.
Eq. 47 of https://arxiv.org/pdf/2404.16586
\[\Gamma^{[1]}_{pq} = \sum_{\tau} \langle \Psi | a^{\dagger}_{p \tau} a_{q \tau} | \Psi \rangle\]- Parameters:
circuit (Circuit) – Circuit to use as the ansatz for estimating the RDMs.
shots (int | None) – The number of shots to use in the estimation. Defaults to None.
- Return type:
ndarray[tuple[int, …], dtype[float64]]
- calculate_2_rdm(circuit: Circuit, shots: int | None = None) ndarray[tuple[int, ...], dtype[float64]]
Calculate the 2-particle RDMs.
Eq. 48 of https://arxiv.org/pdf/2404.16586
\[\Gamma^{[2]}_{pqrs} = \sum_{\tau \sigma} \langle \Psi | a^{\dagger}_{p \tau} a^{\dagger}_{r \sigma} a_{s \sigma} a_{q \tau} | \Psi \rangle\]- Parameters:
circuit (Circuit) – Circuit to use as the ansatz for estimating the RDMs.
shots (int | None) – The number of shots to use in the estimation. Defaults to None.
- Return type:
ndarray[tuple[int, …], dtype[float64]]
- calculate_3_rdm(circuit: Circuit, shots: int | None = None) ndarray[tuple[int, ...], dtype[float64]]
Calculate the 3-particle RDMs.
Eq. 49 of https://arxiv.org/pdf/2404.16586
\[\begin{split}\Gamma^{[3]}_{pqrstu} = \sum_{\tau \sigma \delta} \langle \Psi | a^{\dagger}_{p \tau} a^{\dagger}_{r \sigma} a^{\dagger}_{t \delta} \\ a_{u \delta} a_{s \sigma} a_{q \tau} | \Psi \rangle\end{split}\]- Parameters:
circuit (Circuit) – Circuit to use as the ansatz for estimating the RDMs.
shots (int | None) – The number of shots to use in the estimation. Defaults to None.
- Return type:
ndarray[tuple[int, …], dtype[float64]]
- calculate_4_rdm(circuit: Circuit, shots: int | None = None) ndarray[tuple[int, ...], dtype[float64]]
Calculate the 4-particle RDMs.
\[\begin{split}\Gamma^{[4]}_{pqrstumn} = \sum_{\tau \sigma \delta \gamma} \langle \Psi | a^{\dagger}_{p \tau} a^{\dagger}_{r \sigma} \\ a^{\dagger}_{t \delta} a^{\dagger}_{m \gamma} \\ a_{n \gamma} a_{u \delta} a_{s \sigma} a_{q \tau} | \Psi \rangle\end{split}\]- Parameters:
circuit (Circuit) – Circuit to use as the ansatz for estimating the RDMs.
shots (int | None) – The number of shots to use in the estimation. Defaults to None.
- Return type:
ndarray[tuple[int, …], dtype[float64]]