Perturbation Theory (qiskit_dynamics.perturbation
)#
This module contains tools for numerically computing and utilizing perturbation theory terms. Perturbation theory is an advanced topic; a brief review of the concepts and notation required to understand the contents in this module are given in the Time-dependent perturbation theory and multi-variable series expansions review discussion.
Time-dependent perturbation theory#
The function solve_lmde_perturbation()
computes Dyson series [1]
and Magnus expansion [2][3] terms in a
multi-variable setting via algorithms in [4]. It can also be used
to compute Dyson-like integrals using the algorithm in [5]. Results
are returned in either a PowerSeriesData
or DysonLikeData
class, which are data
classes with functionality for indexing and accessing specific perturbation terms. See the function
documentation for further details.
Truncated power-series representation and multisets#
The class ArrayPolynomial
represents an array-valued multivariable polynomial (i.e. a
truncated power series), and provides functionality for both evaluating and transforming
array-valued polynomials.
This module makes use of the multiset package for indexing multi-variable power series. See the multiset and power series notation section of the perturbation review for an explanation of this convention.
Perturbation module functions#
|
Compute time-dependent perturbation theory terms for an LMDE. |
Perturbation module classes#
|
A polynomial with array-valued coefficients. |
|
Storage container for power series data. |
|
Storage container for DysonLike series data. |
References