qdk_chemistry.data.time_dependent_qubit_hamiltonian.containers.driven module

Driven time-dependent qubit Hamiltonian container.

class qdk_chemistry.data.time_dependent_qubit_hamiltonian.containers.driven.DrivenContainer(base_hamiltonian, drive_hamiltonian, drive)[source]

Bases: TimeDependentQubitHamiltonianContainer

Container for a driven Hamiltonian H(t) = H0 + f(t) * H1.

The Hamiltonian is split into a time-independent part H0 and a time-dependent part H1 whose coefficient is modulated by a scalar drive function f(t).

Parameters:
  • base_hamiltonian (QubitOperator) – Time-independent qubit operator.

  • drive_hamiltonian (QubitOperator) – Driven qubit operator (modulated by drive).

  • drive (Callable[[float], float]) – Scalar function f(t) that modulates drive_hamiltonian.

Raises:

ValueError – If base_hamiltonian and drive_hamiltonian have different qubit counts.

__init__(base_hamiltonian, drive_hamiltonian, drive)[source]

Initialize the driven container.

Parameters:
Return type:

None

evaluate(t)[source]

Return H0 + f(t) * H1 at time t.

Return type:

QubitOperator

Parameters:

t (float) – The time at which to evaluate the Hamiltonian.

Returns:

The qubit operator at the given time.

property base_hamiltonian: QubitOperator[source]

The time-independent Hamiltonian.

property drive_hamiltonian: QubitOperator[source]

The driven Hamiltonian (modulated by the drive).

property drive: Callable[[float], float][source]

The scalar drive function f(t).

property num_qubits: int[source]

Number of qubits (uniform across all times).