qrunch.quantum.estimators.third_party_estimators.cuquantum_state_vector_estimator.utils
Utility functions for cuQuantum state vector estimator.
Functions
|
Comprehensive GPU resource cleanup for cuQuantum SDK. |
Construct a double excitation unitary matrix for four qubits. |
|
Construct a Pauli-X unitary matrix. |
|
Construct a single excitation unitary matrix for two qubits. |
|
|
Convert a library |
- cleanup_gpu_resources(cutn_handle: int | None = None, cusv_handle: int | None = None) None
Comprehensive GPU resource cleanup for cuQuantum SDK.
- Parameters:
cutn_handle (int | None) – cuTensorNet handle (int) if using low-level API
cusv_handle (int | None) – cuStateVector handle (int) if using low-level API
- Return type:
None
Note
This function is safe to call multiple times or with invalid handles. It will log warnings but not raise exceptions.
- Requirements:
Qrunch install requirements: qrunch[cuda] (or qrunch[all]).
A working cuda (cupy) installation.
- cupy_double_excitation_unitary_matrix(theta: float64) NDArray[complex128]
Construct a double excitation unitary matrix for four qubits.
The matrix is adapted for cuStateVec’s little-endian qubit ordering combined with our reversed target order. This effectively swaps the
|0011⟩and|1100⟩states compared to the standard qrunch convention.- Parameters:
theta (float64) – Rotation angle parameter for the excitation gate.
- Return type:
NDArray[complex128]
- Requirements:
Qrunch install requirements: qrunch[cuda] (or qrunch[all]).
A working cuda (cupy) installation.
- cupy_pauli_x_unitary_matrix() NDArray[complex128]
Construct a Pauli-X unitary matrix.
- Requirements:
Qrunch install requirements: qrunch[cuda] (or qrunch[all]).
A working cuda (cupy) installation.
- Return type:
NDArray[complex128]
- cupy_single_excitation_unitary_matrix(theta: float64) NDArray[complex128]
Construct a single excitation unitary matrix for two qubits.
The matrix is adapted for cuStateVec’s little-endian qubit ordering combined with our reversed target order. This effectively transposes the 2x2 subspace in the
|01⟩,|10⟩basis compared to the standard qrunch convention.- Parameters:
theta (float64) – Rotation angle parameter for the excitation gate.
- Return type:
NDArray[complex128]
- Requirements:
Qrunch install requirements: qrunch[cuda] (or qrunch[all]).
A working cuda (cupy) installation.
- get_pauli_string_as_str(pauli_string: PauliString, num_qubits: int) str
Convert a library
PauliStringto its dense literal form.- Parameters:
pauli_string (PauliString) – Object exposing
x_indices,y_indicesandz_indicesthat report the qubit positions of the corresponding Pauli operators.num_qubits (int) – Total number of qubits; determines the output length.
- Return type:
str
- Requirements:
Qrunch install requirements: qrunch[cuda] (or qrunch[all]).
A working cuda (cupy) installation.