peropq.ed_module

Classes

ExactDiagonalization

Class implementing exact diagonalization for benchmarks on small system sizes.

Module Contents

class peropq.ed_module.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.

Parameters:

pauli (str) – to be converted.

Return type:

scipy.sparse.spmatrix

get_sparse(pauli_string)

Transforms PauliString into sparse matrix.

Parameters:

pauli_string (peropq.pauli_bitstring.PauliString) – to be transformed into a sparse matrix.

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.

Parameters:
Return type:

scipy.sparse.spmatrix

get_variational_evolution(variational_unitary)

Get the time evolution unitary from a variational unitary.

Parameters:

variational_unitary (peropq.variational_unitary.VariationalUnitary) – to be evolved.

Return type:

scipy.sparse.spmatrix

apply_continuous_to_state(hamiltonian, time, state)

Apply the continuous time evolution.

Parameters:
  • hamiltonian (peropq.hamiltonian.Hamiltonian) – governing the dynamics

  • time (float) – at which we want to time evolve.

  • state (numpy.typing.NDArray) – to be evolved.

Return type:

numpy.typing.NDArray

apply_variational_to_state(variational_unitary, state)

Apply the variational unitary to a state.

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. :returns: exact error norm

Parameters:
Return type:

float