Skip to content

BhuvaneshBhatt/SymbolicMath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SymbolicMath

SymbolicMath is a small collection of symbolic math tools built on top of Python and SymPy.

This repository currently contains the following packages:

  • MultipleIntegrate — symbolic definite integration for many multiple integrals
  • BranchCuts — symbolic tools for analyzing branch cuts, multivalued expressions, and complex function behavior
  • PDESolve — symbolic PDE solver, currently using only Lie-symmetry based method
  • SemialgebraicGeometry / semialg — symbolic real semialgebraic geometry, cylindrical decomposition, quantifier elimination, and region computation
  • TensorAtlas — symbolic tensor calculus, differential geometry, relativity, and geometric algebra

The goal of the repo is to provide practical symbolic methods for problems that are not addressed by SymPy.


Packages

MultipleIntegrate

MultipleIntegrate focuses on symbolic definite integration, especially for structured families of multiple integrals.

It includes support for many cases such as:

  • product-region multiple integrals
  • Gaussian integrals and moments
  • rational full-line integrals
  • polynomial moment families
  • selected transform-friendly trigonometric and exponential integrals
  • special-function outputs involving logarithms, arctangents, gamma, and beta functions

The package uses a strategy-based approach rather than relying only on direct antiderivatives.


BranchCuts

BranchCuts focuses on the symbolic analysis of branch cuts and related issues for complex elementary and special functions.

Typical goals include:

  • identifying where expressions are discontinuous in the complex plane
  • determining branch-cut structure under composition
  • simplifying expressions while respecting branch behavior
  • helping reason about multivalued functions such as logarithms, roots, inverse trig functions, and related expressions

This package is useful when exact symbolic transformations depend on choosing the correct complex branch structure.


PDESolve

liepde, under PDESolve, is a standalone package for Lie-symmetry based PDE reduction and symbolic solution workflows.

It is designed for scalar PDEs written with SymPy and focuses on practical symmetry-based reduction rather than fully general PDE solving. The package can return the best available result from its workflow: a full explicit solution when available, otherwise a lifted similarity solution, otherwise a reduced equation.

Current capabilities include:

  • scalar jet-space PDE parsing
  • automatic PDE-order inference
  • solved-form principal derivative selection
  • determining-equation construction for Lie point symmetries
  • polynomial ansatz solving for infinitesimals
  • symbolic search for reducible symmetry combinations
  • Frobenius-chart based reductions
  • repeated reduction workflow utilities
  • reduced-equation solving
  • lifting reduced solutions back to the original variables
  • configurable result levels and detailed diagnostics
  • analysis-only mode for PDE inspection without a full solve attempt
  • direct fallback solving with SymPy where appropriate
  • pattern-based fallback solutions for several standard PDE families, including:
    • transport equations
    • heat / diffusion equations
    • advection-diffusion equations
    • wave equations

SemialgebraicGeometry / semialg

semialg, under SemialgebraicGeometry, focuses on real semialgebraic computation: symbolic reasoning about sets and formulas defined by polynomial equalities, inequalities, and Boolean combinations of such constraints.

It is designed for exact real-algebraic workflows built on top of SymPy, with an emphasis on practical decision procedures, cylindrical decomposition, quantifier elimination, sampling, simplification, and region operations.

Current capabilities include:

  • semialgebraic formula preprocessing and normalization
  • cylindrical algebraic decomposition workflows
  • quantifier elimination for supported real polynomial formulas
  • satisfiability, tautology, implication, and equivalence checks
  • witness and sample-point generation for semialgebraic constraints
  • exact sign evaluation utilities for sample points and sign vectors
  • simplification of Boolean and piecewise semialgebraic formulas
  • real-domain and range analysis for supported algebraic expressions
  • semialgebraic minimization and maximization
  • region operations including union, intersection, difference, complement, closure, interior, boundary, dimension, and components
  • predicates for region containment, equality, disjointness, boundedness, closedness, and compactness
  • symbolic measure, integration, moments, centroids, and covariance for supported semialgebraic regions
  • standard region constructors for intervals, boxes, simplices, balls, spheres, cylinders, cones, polyhedra, and related geometric regions
  • structured CAD-cell extraction, cylindrical solution descriptions, adjacency graphs, and connectivity analysis
  • parameter-space and real-root classification utilities
  • exact algebraic backend routines such as subresultants, border bases, and zero-dimensional solving

The package is intended for symbolic real geometry problems where exact logical structure matters: feasibility over the reals, decomposition of polynomial constraint systems, region analysis, and exact or symbolic reduction of geometric integrals. Unsupported or out-of-scope inputs should be handled explicitly rather than silently converted into heuristic numerical results.


TensorAtlas

tensoratlas is a symbolic tensor, differential-geometry, relativity, and geometric-algebra package built on top of SymPy.

It is intended for exact and semi-symbolic calculations involving tensors, coordinate systems, differential forms, frames, curvature, and related geometric structures. The package emphasizes explicit symbolic workflows that are inspectable, testable, and suitable for mathematical experimentation.

Current capabilities include:

  • coordinate charts and coordinate maps
  • scalar, vector, covector, and tensor fields
  • tensor products, contractions, index raising/lowering, and metric-aware operations
  • coordinate gradients, divergences, curls, and Laplace-type operations
  • differential forms, wedge products, exterior derivatives, pullbacks, and Cartan-style workflows
  • frame and coframe utilities
  • Christoffel symbols, Riemann curvature, Ricci tensors, scalar curvature, and Einstein tensors
  • selected relativity-oriented workflows for metrics and curvature computations
  • symbolic geometric algebra for orthogonal and diagonal metrics
  • example notebooks and scripts demonstrating common tensor-calculus and geometry workflows

tensoratlas is useful for problems where tensor expressions should remain symbolic and transparent, rather than being hidden inside purely numerical geometry or simulation code. It is especially aimed at exploratory work in differential geometry, mathematical physics, relativity, geometric algebra, and symbolic tensor manipulation.

The package is still under active development. The most stable public workflows are the explicit coordinate/tensor-field APIs, differential-form operations, relativity helpers, and documented examples. Lower-level canonicalization and experimental symbolic-rewrite utilities may change as the package matures.


Repository structure

    SymbolicMath/
    ├── MultipleIntegrate/
    ├── BranchCuts/
    ├── PDESolve/
    ├── SemialgebraicGeometry/
    │   └── semialg/
    ├─TensorAtlas/
    ├── README.md
    └── ...

Installation

Install the repository in editable mode:

pip install -e .

If the packages are kept as separate subpackages, install dependencies such as:

pip install sympy pytest

Status

All of the packages are designed to be extended incrementally as new symbolic strategies and recognizers are added.


Author

Bhuvanesh Bhatt


License

See the license file(s) included in the repository.

About

Symbolic math computation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors