Module classification

Module classification 

Source
Expand description

PDE classification algorithms

⚠️ IMPORTANT LIMITATIONS (Version 0.1.0):

This module currently uses simplified heuristics and is NOT mathematically rigorous. See DESIGN_PROPER_CLASSIFICATION.md for the planned proper implementation.

§Current Implementation Status

❌ Known Issues:

  1. No Coefficient Extraction: Does not extract actual coefficients A, B, C from equations
  2. Heuristic Classification: Uses expression structure (Add vs Mul) as proxy for PDE type
  3. Hardcoded Patterns: Only works for specific well-known PDEs (heat, wave, Laplace)
  4. Invalid Discriminant: Returns hardcoded values instead of computing B² - 4AC

Recommended Usage:

  • ✅ Educational purposes with standard PDEs only
  • ❌ Do NOT use for arbitrary PDE classification
  • ❌ Do NOT rely on results for mathematical correctness

§Proper Implementation (Planned v0.2.0)

The proper implementation will:

  1. Extract actual coefficients A, B, C from PDE equations
  2. Compute true discriminant B² - 4AC
  3. Use symbolic sign analysis for classification
  4. Handle both constant and variable coefficient PDEs

See DESIGN_PROPER_CLASSIFICATION.md for complete design specification.

§Mathematical Foundation (Reference)

For a second-order linear PDE: A·u_xx + B·u_xy + C·u_yy + ... = G

Classification by discriminant Δ = B² - 4AC:

  • Elliptic (Δ < 0): Laplace equation, steady-state problems
  • Parabolic (Δ = 0): Heat equation, diffusion processes
  • Hyperbolic (Δ > 0): Wave equation, propagation phenomena

References:

  • Evans, L. C. (2010). Partial Differential Equations. AMS.
  • Strauss, W. A. (2007). Partial Differential Equations: An Introduction. Wiley.

Functions§

classify_pde
Classify a PDE and return its type