Overview of findiff features
masterfindiff is a Python package designed for computing numerical derivatives and solving partial differential equations (PDEs) in any number of dimensions.
Key capabilities include:
- Numerical Differentiation: Differentiate arrays of any dimension along any axis with configurable accuracy orders. Supports both uniform and non-uniform grids.
- Vector Calculus: Built-in support for standard operators like
gradient,divergence, andcurl. - Advanced Operators: Handle arbitrary linear combinations of derivatives with constant or variable coefficients. Supports arbitrary stencils and compact (implicit) finite differences.
- PDE Solving: Solve PDEs with Dirichlet, Neumann, Robin, or Periodic boundary conditions. Supports time-dependent PDEs via the Method of Lines (e.g., Forward Euler, RK4, Backward Euler, Crank-Nicolson).
- Performance: Fully vectorized operations with support for GPU, JAX, and CuPy backends. Can be combined with
jax.jitfor acceleration. - Mathematical Tools: Generate matrix representations of operators, solve eigenvalue problems (e.g., Schrodinger equation), and calculate raw finite difference coefficients.