peropq.exact_diagonalization¶
Classes¶
Class implementing exact diagonalization for benchmarks on small system sizes. |
Module Contents¶
- class peropq.exact_diagonalization.ExactDiagonalization(number_of_qubits)¶
Class implementing exact diagonalization for benchmarks on small system sizes.
- Parameters:
number_of_qubits (int)
- number_of_qubits¶
- pauli_to_sparse(pauli)¶
Converts a Pauli to a 2x2 sparse matrix.
param: pauli to be converted.
- Parameters:
pauli (peropq.pauli.Pauli)
- Return type:
scipy.sparse.spmatrix
- get_sparse(pauli_string)¶
Transforms PauliString into sparse matrix.
param: pauli_string to be transformed into a sparse matrix.
- Parameters:
pauli_string (peropq.pauli.PauliString)
- Return type:
scipy.sparse.spmatrix
- get_hamiltonian_matrix(hamiltonian)¶
param: hamiltonian to be converted to sparse.
- Parameters:
hamiltonian (peropq.hamiltonian.Hamiltonian)
- Return type:
scipy.sparse.spmatrix
- get_continuous_time_evolution(hamiltonian, time)¶
Get the continuous time evolution of an Hamiltonian.
param: hamiltonian governing the dynamics param: time at which we want to time evolve.
- Parameters:
hamiltonian (peropq.hamiltonian.Hamiltonian)
time (float)
- Return type:
scipy.sparse.spmatrix
- get_variational_evolution(variational_unitary)¶
Get the time evolution unitary from a variational unitary.
param: variational_unitary to be evolved.
- Parameters:
variational_unitary (peropq.variational_unitary.VariationalUnitary)
- Return type:
scipy.sparse.spmatrix
- apply_continuous_to_state(hamiltonian, time, state)¶
Apply the continuous time evolution.
param: hamiltonian governing the dynamics param: time at which we want to time evolve. param: state to be evolved.
- Parameters:
hamiltonian (peropq.hamiltonian.Hamiltonian)
time (float)
state (numpy.typing.NDArray)
- Return type:
numpy.typing.NDArray
- apply_variational_to_state(variational_unitary, state)¶
Apply the variational unitary to a state.
param: variational_unitary to be applied param: state on which the unitary is applied
- Parameters:
variational_unitary (peropq.variational_unitary.VariationalUnitary)
state (numpy.typing.NDArray)
- Return type:
numpy.typing.NDArray
- get_error(variational_unitary, hamiltonian)¶
Returns the error made for by the variational unitary (compared to the continuous time evolution).
param: variational_unitary to be compared with the continuous time evolution. param: hamiltonian used to caclulated the continuous time evolution.
- Parameters:
variational_unitary (peropq.variational_unitary.VariationalUnitary)
hamiltonian (peropq.hamiltonian.Hamiltonian)
- Return type:
float