import sympy
x, y = sympy.symbols('x y')
# 1.
expr1 = (x + y)**2
expanded = expr1.expand()
factored = expanded.factor()
print("Expanded:", expanded)
print("Factored:", factored)
# 2.
expr2 = sympy.sin(x)**2 + sympy.cos(x)**2
simplified = expr2.simplify()
print("\nTrig identity:", simplified)
# 3.
expr3 = (x**3 - 1)/(x - 1)
simplified3 = expr3.simplify()
print("\nRational:", simplified3)Symbolic Mathematics with SymPy
What is Symbolic Math?
Most Python computations are numerical - we work with specific numbers. Symbolic computation works with variables and expressions themselves, without assigning numeric values.
Creating Symbols
Symbols are the building blocks of symbolic expressions:
Shorthand for multiple symbols:
Symbolic Expressions
You can build expressions using standard mathematical operations:
NumPy functions expect numbers. SymPy functions work with symbols:
Simplification
SymPy can simplify expressions symbolically:
Expansion and Factoring
Substitution
Evaluate expressions by substituting values:
SymPy can handle complex numbers:
Differentiation
SymPy can compute derivatives symbolically:
Partial Derivatives
Integration
Symbolic integration (both indefinite and definite):
Multiple Integration
Solving Equations
Solve equations symbolically:
Systems of Equations
Pretty Printing
SymPy can display equations beautifully:
Practical Example: Wave Equation
Summary
SymPy provides symbolic mathematics in Python:
- Symbols and expressions - Work with variables algebraically
- Simplification - Simplify, expand, factor expressions
- Calculus - Differentiate and integrate symbolically
- Equation solving - Solve equations and systems analytically
- Pretty printing - Display equations beautifully
SymPy is perfect for: - Deriving equations - Checking analytical solutions - Teaching mathematics - Code generation (convert symbolic → numeric code)
