Regardless of the value of ``expansion_method``, results are returned in an
``OdeResult`` instance in the same manner as :func:`.solve_ode`. The result object
stores the results of the LMDE for ``generator`` and ``y0`` in the ``y`` attribute as in
:func:`.solve_ode` before, and the perturbation results are in the ``perturbation_results``
attribute storing a :class:`.PerturbationResults` object, which is a
data container with attributes:
- ``expansion_method``: Method as specified by the user.
- ``expansion_labels``: Index labels for all computed perturbation terms. In the case of
the Dyson or Magnus expansion, the labels are ``Multiset`` instances and in the
`'dyson_like'` case are lists of ``int``\s.
- ``expansion_terms``: A 4d array storing all computed terms. The first axis indexes
the expansion terms in the same ordering as ``expansion_labels``,
and the second axis indexes the perturbation terms evaluated
at the times in ``results.t`` in the same manner as ``results.y``.
this description was written before the introduction of the PowerSeriesData and DysonLikeData classes for storing the perturbation results, and wasn't updated.
The perturbation results are now stored in the perturbation_data attribute (rather than perturbation_results), and are given as either a PowerSeriesData or DysonLikeData class. The description of the attributes of these classes also need to be updated.
The description of the return type for
solve_lmde_perturbation
reads:this description was written before the introduction of the
PowerSeriesData
andDysonLikeData
classes for storing the perturbation results, and wasn't updated.The perturbation results are now stored in the
perturbation_data
attribute (rather thanperturbation_results
), and are given as either aPowerSeriesData
orDysonLikeData
class. The description of the attributes of these classes also need to be updated.