Symbolic findiff

11. Symbolic findiff#

from findiff import SymbolicDiff, SymbolicMesh
from sympy import Symbol
/usr/lib/python3.12/site-packages/findiff/operators.py:7: SyntaxWarning: invalid escape sequence '\p'
  """ A representation of a general linear differential operator expressed in finite differences.
mesh = SymbolicMesh("x, y")
u = mesh.create_symbol("u")
m = Symbol("m")
n = Symbol("n")
u
\[\displaystyle u\]
d2_dx2, d2_dy2 = (SymbolicDiff(mesh, axis=k, degree=2) for k in range(2))
(d2_dx2(u, at=(m, n), offsets=(-1, 0, 1)) + d2_dy2(u, at=(m, n), offsets=(-1, 0, 1)))
\[\displaystyle \frac{{u}_{m,n + 1} + {u}_{m,n - 1} - 2 {u}_{m,n}}{\Delta y^{2}} + \frac{{u}_{m + 1,n} + {u}_{m - 1,n} - 2 {u}_{m,n}}{\Delta x^{2}}\]