qrunch.quantum.algorithms.pauli.quantum_phase_estimation.hamiltonian_encoders.hamiltonian_encoders_creators

Module containing the Hamiltonian encoder sub-builder.

Functions

hamiltonian_encoder_creator()

Start creating a hamiltonian encoder.

Classes

FirstOrderTrotterHamiltonianEncoderSubBuilder

Sub-builder for building first-order Trotterization Hamiltonian encoders.

HamiltonianEncoderBuilder

Builder for building Hamiltonian encoders for quantum phase estimation.

SuzukiTrotterHamiltonianEncoderSubBuilder

Sub-builder for building Suzuki-Trotterization Hamiltonian encoders.

TrotterizationHamiltonianEncoderSubBuilder

Builder for narrowing the TrotterizationHamiltonianEncoders.

class FirstOrderTrotterHamiltonianEncoderSubBuilder

Bases: object

Sub-builder for building first-order Trotterization Hamiltonian encoders.

__init__() None

Initialize the sub-creator.

Return type:

None

choose_trotterization_decomposer() TrotterizationDecomposerSubBuilder[FirstOrderTrotterHamiltonianEncoderSubBuilder]

Choose the Hamiltonian decomposition strategy to use within the Trotter steps.

Return type:

TrotterizationDecomposerSubBuilder[FirstOrderTrotterHamiltonianEncoderSubBuilder]

create() TrotterizationHamiltonianEncoder

Finish the building of the Hamiltonian encoder.

Return type:

TrotterizationHamiltonianEncoder

with_trotter_steps(trotter_steps: int) Self

Set the number of Trotter steps to use in the encoding.

Parameters:

trotter_steps (int)

Return type:

Self

class HamiltonianEncoderBuilder

Bases: object

Builder for building Hamiltonian encoders for quantum phase estimation.

static trotterization() TrotterizationHamiltonianEncoderSubBuilder

Narrow to a Trotterization strategy for encoding the Hamiltonian.

Return type:

TrotterizationHamiltonianEncoderSubBuilder

class SuzukiTrotterHamiltonianEncoderSubBuilder

Bases: object

Sub-builder for building Suzuki-Trotterization Hamiltonian encoders.

__init__() None

Initialize the sub-creator.

Parameters:
  • parent – The parent object to which the backend will be added.

  • field_name – The name of the field in the parent object to which the backend will be added.

Return type:

None

choose_trotterization_decomposer() TrotterizationDecomposerSubBuilder[SuzukiTrotterHamiltonianEncoderSubBuilder]

Choose the Hamiltonian decomposition strategy to use within the Trotter steps.

Return type:

TrotterizationDecomposerSubBuilder[SuzukiTrotterHamiltonianEncoderSubBuilder]

create() TrotterizationHamiltonianEncoder

Finish the building of the Hamiltonian encoder.

Return type:

TrotterizationHamiltonianEncoder

with_expansion_order(order: Literal[2, 4]) Self

Set the product-formula order of the Suzuki-Trotter expansion.

Parameters:

order (Literal[2, 4])

Return type:

Self

with_trotter_steps(trotter_steps: int) Self

Set the number of Trotter steps to use in the encoding.

Parameters:

trotter_steps (int)

Return type:

Self

class TrotterizationHamiltonianEncoderSubBuilder

Bases: object

Builder for narrowing the TrotterizationHamiltonianEncoders.

static first_order_trotter() FirstOrderTrotterHamiltonianEncoderSubBuilder

Narrow to a first-order Trotterization strategy for encoding the Hamiltonian.

Return type:

FirstOrderTrotterHamiltonianEncoderSubBuilder

static suzuki_trotter() SuzukiTrotterHamiltonianEncoderSubBuilder

Narrow to a Suzuki-Trotterization strategy for encoding the Hamiltonian.

Return type:

SuzukiTrotterHamiltonianEncoderSubBuilder

hamiltonian_encoder_creator() HamiltonianEncoderBuilder

Start creating a hamiltonian encoder.

Return type:

HamiltonianEncoderBuilder