** TODO: Flesh this out **
This issue depends on ticket [#95].
The idea is to introduce the ability to build functions of operators easily. In particular, two functions are required: Powers of operators, which are relatively common, e.g., when calculating uncertainties, and exponentiation of operators, which are a prerequisite for the split operator method.
Dealing with the following issues is recommended:
- Split operators into trivial components. For example, most kinetic energy operators can be represented as a product of three terms: A dvr2fbr transformation, multiplication with a "potential" (in the FBR, that is), and a back-transformation fbr2dvr. The product can be inspected (and for example exponentiated) reasonably well, while the kinetic energy operator is rather opaque for any transformation.
- implement powers of functions and exponentials. Deal especially for exponentials with edge cases (products with time-dependent operators).
- Allow the handling of adjoint operators. In particular creating adjoint operators, and checking if operators are adjoined. Some of the Liouvillians might profit from that, in particular the Lindblad and Redfield Liouvillians
Diff:
Diff:
Related
Tickets:
#95