$$ \newcommand{\uex}{{u_{\small\mbox{e}}}} \newcommand{\vex}{{v_{\small\mbox{e}}}} \newcommand{\half}{\frac{1}{2}} \newcommand{\tp}{\thinspace .} \newcommand{\Oof}[1]{\mathcal{O}(#1)} $$

« Previous
Next »

Symbolic computing with difference operators

A class DiffOp represents many common difference operators:

>>> from truncation_errors import DiffOp
>>> from sympy import *
>>> u = Symbol('u')
>>> diffop = DiffOp(u, independent_variable='t')
>>> diffop['geometric_mean']
-D1u**2*dt**2/4 - D1u*D3u*dt**4/48 + D2u**2*dt**4/64 + ...
>>> diffop['Dtm']
D1u + D2u*dt/2 + D3u*dt**2/6 + D4u*dt**3/24
>>> diffop.operator_names()
['geometric_mean', 'harmonic_mean', 'Dtm', 'D2t', 'DtDt',
 'weighted_arithmetic_mean', 'Dtp', 'Dt']

Names in diffop: Dtp for \( D^+_t \), Dtm for \( D_t^- \), Dt for \( D_t \), D2t for \( D_{2t} \), DtDt for \( D_tD_t \).

« Previous
Next »