peropq.exact_diagonalization

Classes

ExactDiagonalization

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:
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:
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:
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:
Return type:

float