time_evolution_operators_stf

static OperationNamespace.time_evolution_operators_stf(hamiltonian, sample_times, evolution_times=None, *, name=None)

Calculates the time-evolution operators for a system defined by an STF Hamiltonian by using a 4th order Runge–Kutta method.

Parameters
  • hamiltonian (Stf) – The control Hamiltonian, or batch of control Hamiltonians.

  • sample_times (np.ndarray(1D, real)) – The N times at which you want to sample the unitaries. Must be ordered and contain at least one element. If you don’t provide evolution_times, sample_times must start with 0.

  • evolution_times (np.ndarray(1D, real), optional) – The times at which the Hamiltonian should be sampled for the Runge–Kutta integration. If you provide it, must start with 0 and be ordered. If you don’t provide it, the sample_times are used for the integration.

  • name (str, optional) – The name of the node.

Returns

Tensor of shape […, N, D, D], representing the unitary time evolution. The n-th element (along the -3 dimension) represents the unitary (or batch of unitaries) from t = 0 to sample_times[n].

Return type

Tensor