TimePropagation#
-
class cuquantum.
densitymat. TimePropagation( - operator,
- is_hermitian=True,
- scope='split',
- approach='krylov',
- scope_config=None,
- approach_config=None,
Time propagation of a quantum state under the action of an operator.
The propagation advances pure states according to the Schrodinger equation and mixed states according to the Liouvillian equation.
- Parameters:
operator – The
Operatorgoverning the time evolution.is_hermitian – Whether the operator is Hermitian.
scope – Propagation scope. Accepts
"split"or acudm.TimePropagationScopeKindenum value.approach – Propagation approach. Accepts
"krylov"or acudm.TimePropagationApproachKindenum value.scope_config – Optional scope-specific configuration (
TDVPConfig).approach_config – Optional approach-specific configuration (
KrylovConfig).
Methods
- __init__(
- operator: Operator,
- is_hermitian: bool = True,
- scope: str | TimePropagationScopeKind = 'split',
- approach: str | TimePropagationApproachKind = 'krylov',
- scope_config: TDVPConfig | None = None,
- approach_config: KrylovConfig | None = None,
- compute(
- dt: float | complex | tuple,
- t: float,
- params: ndarray | ndarray | Sequence[float] | None,
- state_in: State,
- state_out: State,
Compute the time propagation of a quantum state.
- Parameters:
dt – Time step. Accepts a real
float, acomplexnumber, or a(real, imag)tuple. The real and imaginary parts are passed separately to the C API.t – Current time value passed to all callback functions.
params – Additional callback parameters. Element type must be
float64.state_in – Input quantum state.
state_out – Output quantum state (will be overwritten with propagated result).
- configure(
- scope_config: TDVPConfig | None = None,
- approach_config: KrylovConfig | None = None,
Update the propagation configuration.
If the propagation has already been instantiated, the new configuration will be applied on the next
prepare()orcompute()call.- Parameters:
scope_config – Scope-specific configuration (
TDVPConfig).approach_config – Approach-specific configuration (
KrylovConfig).
- prepare(
- ctx: WorkStream,
- state_in: State,
- state_out: State,
- compute_type: str | None = None,
Prepare the time propagation for computation.
- Parameters:
ctx – Library context containing workspace, stream and other configuration.
state_in – Representative input quantum state.
state_out – Representative output quantum state.
compute_type – CUDA compute type string (e.g.
"complex128").