tkwant.onebody.kernels.PerturbationInterpolator¶

class
tkwant.onebody.kernels.
PerturbationInterpolator
(syst, time_name, time_start, params=None, interpolation_type=Interpolation)¶ A class to extract and interpolate W(t).
This class can be used like tkwant.onebody.kernel.PerturbationExtractor, to calculate W(t) and the matrixvector product W(t) * ket. Interpolation is done only for performance reasons, as W(t) from Kwant is slow to evaluate.
 Parameters
syst (
kwant.builder.FiniteSystem
) – The system from which to extract the timedependent perturbation.time_name (str) – The name of the time argument. Only sites with Hamiltonian value functions with the argument name time_name are extracted into W(t).
time_start (float) – The initial time.
params (dict, optional) – Extra arguments to pass to the Hamiltonian of
syst
, excluding time.interpolation_type (optional) – The interpolator class
Notes
By definition the perturbation is defined with respect to the initial time. The perturbation should be therefore zero for times t < time_start. This is not inforced by this routine however, but W(t) is always evaluated with the time argument it gets.
Methods

apply
(self, double time, const double complex[:] ket, out=None)¶ Evaluate the matrixvector product W(t) @ ket for the given time.
 Parameters
time (int or float) – Time argument, must be equal or larger than time_start.
out (
numpy.ndarray
, optional) – Sparse matrix with to perform the operation inplace.
 Returns
out – The product W(t) @ ket. If an
out
argument is given, the operation is performed inplace and the routine returns None. Return type
numpy.ndarray
or None

evaluate
(self, double time, out=None)¶ Evaluate the W(t) matrix for the given time t.
 Parameters
time (int or float) – Time argument, must be equal or larger than time_start.
out (
coo_matrix
, optional) – Sparse matrix with to perform the operation inplace.
 Returns
out – The matrix W(t). The size of the W(t) matrix is
size
xsize
, containingnnz
complex entries. If anout
argument is given, the operation is performed inplace and the routine returns None. Return type
coo_matrix
or None
Attributes

nnz
¶ The total number of timedependent matrix elements.
 Returns
nnz – The total number of timedependent matrix elements, equal to len(W(t).data).
 Return type