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