peropq.ed_module ================ .. py:module:: peropq.ed_module Classes ------- .. autoapisummary:: peropq.ed_module.ExactDiagonalization Module Contents --------------- .. py:class:: ExactDiagonalization(number_of_qubits) Class implementing exact diagonalization for benchmarks on small system sizes. .. py:attribute:: number_of_qubits .. py:method:: pauli_to_sparse(pauli) Converts a Pauli to a 2x2 sparse matrix. :param pauli: to be converted. .. py:method:: get_sparse(pauli_string) Transforms PauliString into sparse matrix. :param pauli_string: to be transformed into a sparse matrix. .. py:method:: get_hamiltonian_matrix(hamiltonian) Param hamiltonian: to be converted to sparse. .. py:method:: 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. .. py:method:: get_variational_evolution(variational_unitary) Get the time evolution unitary from a variational unitary. :param variational_unitary: to be evolved. .. py:method:: 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. .. py:method:: 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 .. py:method:: 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