SymPy Modules Reference¶
Because every feature of SymPy must have a test case, when you are not sure how
to use something, just look into the tests/
directories, find that feature
and read the tests for it, that will tell you everything you need to know.
Most of the things are already documented though in this document, that is automatically generated using SymPy’s docstrings.
Click the “modules” (Module Index) link in the top right corner to easily access any SymPy module, or use the list below:
- SymPy Core
- Combinatorics Module
- Number Theory
- Basic Cryptography Module
- Concrete Mathematics
- Discrete Module
- Numerical evaluation
- Structural Details of Code Generation with SymPy
- Introduction
- Code printers (sympy.printing)
- Codegen (sympy.utilities.codegen)
- Autowrap
- Classes and functions for rewriting expressions (sympy.codegen.rewriting)
- Tools for simplifying expressions using approximations (sympy.codegen.approximations)
- Classes for abstract syntax trees (sympy.codegen.ast)
- Special C math functions (sympy.codegen.cfunctions)
- C specific AST nodes (sympy.codegen.cnodes)
- C++ specific AST nodes (sympy.codegen.cxxnodes)
- Fortran specific AST nodes (sympy.codegen.fnodes)
- Algorithms (sympy.codegen.algorithms)
- Python utilities (sympy.codegen.pyutils)
- C utilities (sympy.codegen.cutils)
- Fortran utilities (sympy.codegen.futils)
- Numeric Computation
- Functions Module
- Geometry Module
- Holonomic Functions
- Symbolic Integrals
- Numeric Integrals
- Integration over Polytopes
- Lie Algebra Module
- Logic Module
- Matrices
- Polynomials Manipulation Module
- Printing System
- Printer Class
- PrettyPrinter Class
- C code printers
- C++ code printers
- RCodePrinter
- Fortran Printing
- Mathematica code printing
- Javascript Code printing
- Julia code printing
- Octave (and Matlab) Code printing
- Rust code printing
- Theano Code printing
- Gtk
- LambdaPrinter
- LatexPrinter
- MathMLPrinter
- PythonCodePrinter
- PythonPrinter
- srepr
- StrPrinter
- Tree Printing
- Preview
- Implementation - Helper Classes/Functions
- Pretty-Printing Implementation Helpers
- dotprint
- Plotting Module
- Pyglet Plotting Module
- Assumptions Module
- Term rewriting
- Series Module
- Sets
- Simplify
- simplify
- separatevars
- nthroot
- besselsimp
- hypersimp
- hypersimilar
- nsimplify
- posify
- logcombine
- Radsimp
- Ratsimp
- Trigonometric simplification
- Power simplification
- Combinatorial simplification
- Square Root Denesting
- Common Subexpression Elimination
- Hypergeometric Function Expansion
- Traversal Tools
- EPath Tools
- Details on the Hypergeometric Function Expansion Module
- Stats
- ODE
- PDE
- Solvers
- Diophantine
- Inequality Solvers
- Solveset
- What’s wrong with solve():
- Why Solveset?
- Why do we use Sets as an output type?
- Input API of
solveset
- What is this domain argument about?
- What are the general methods employed by solveset to solve an equation?
- How do we manipulate and return an infinite solution?
- How does
solveset
ensure that it is not returning any wrong solution? - Search based solver and step-by-step solution
- How do we deal with cases where only some of the solutions are known?
- What will you do with the old solve?
- How are symbolic parameters handled in solveset?
- References
- Solveset Module Reference
- linear_eq_to_matrix
- linsolve
- nonlinsolve
- transolve
- Diophantine Equations (DEs)
- Inequalities
- Ordinary Differential equations (ODEs)
- Partial Differential Equations (PDEs)
- Tensor Module
- Utilities
- Parsing input
- Calculus
- Physics Module
- Category Theory Module
- Differential Geometry Module
- Vector Module
- Algebras Module
Contributions to docs¶
All contributions are welcome. If you’d like to improve something, look into
the sources if they contain the information you need (if not, please fix them),
otherwise the documentation generation needs to be improved (look in the
doc/
directory).