Time-Dependent Hamiltonians¶
Time-dependent Hamiltonian helpers.
- class openquantumsim.timedep.InterpolatedCoefficient(times, values)¶
Bases:
objectLinearly interpolated scalar coefficient for time-dependent operators.
- Parameters:
times (ndarray[tuple[Any, ...], dtype[float64]])
values (ndarray[tuple[Any, ...], dtype[complex128]])
- times: ndarray[tuple[Any, ...], dtype[float64]]¶
- values: ndarray[tuple[Any, ...], dtype[complex128]]¶
- class openquantumsim.timedep.HamiltonianTerm(operator, coefficient)¶
Bases:
objectOne term
coefficient(t) * operatorin a time-dependent Hamiltonian.- Parameters:
operator (Operator)
coefficient (Number | Callable[[float], object] | InterpolatedCoefficient)
- coefficient: Number | Callable[[float], object] | InterpolatedCoefficient¶
- class openquantumsim.timedep.TimeDependentHamiltonian(base, terms)¶
Bases:
objectHamiltonian of the form
H0 + sum_i f_i(t) H_i.- Parameters:
base (Operator)
terms (tuple[HamiltonianTerm, ...])
- terms: tuple[HamiltonianTerm, ...]¶
- property shape: tuple[int, int]¶
Matrix shape.
- property dim: int¶
Matrix dimension.
- property space: HilbertSpace | None¶
Hilbert-space descriptor from the base operator.
- to_numpy(t)¶
Evaluate
H(t)as a dense NumPy matrix.- Parameters:
t (float)
- Return type:
ndarray[tuple[Any, …], dtype[complex128]]
- openquantumsim.timedep.time_dependent_hamiltonian(base, terms)¶
Build
H(t) = base + sum_i coefficient_i(t) * operator_i.- Parameters:
base (Operator)
terms (Sequence[HamiltonianTerm | tuple[Operator, Number | Callable[[float], object] | InterpolatedCoefficient]])
- Return type: