# SymPy

## GSoC

SymPy has been accepted into Google Summer of Code again. See our ideas page. If you are a college student and are interested in applying please read our application template.

SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python and does not require any external libraries.

## Features

### Polynomials

• Basic arithmetic: division, gcd, ...
• Factorization
• Square-free decomposition
• GrÃ¶bner bases
• Partial fraction decomposition
• Resultants

### Solving equations

• Polynomial equations
• Algebraic equations
• Differential equations
• Difference equations
• Systems of equations

### Combinatorics

• Permutations
• Combinations
• Partitions
• Subsets
• Permutation Groups: Polyhedral, Rubik, Symmetric, ...
• Prufer and Gray Codes

### Discrete math

• Binomial coefficients
• Summations
• Products
• Number theory: generating prime numbers, primality testing, integer factorization, ...
• Logic expressions

### Matrices

• Basic arithmetic
• Eigenvalues/eigenvectors
• Determinants
• Inversion
• Solving
• Abstract expressions

### Geometry

• points, lines, rays, segments, ellipses, circles, polygons, ...
• Intersection
• Tangency
• Similarity

### Plotting

• Coordinate modes
• Plotting Geometric Entities
• 2D and 3D
• Interactive interface
• Colors

### Physics

• Units
• Mechanics
• Quantum
• Gaussian Optics
• Pauli Algebra

### Statistics

• Normal distributions
• Uniform distributions
• Probability

### Printing

• Pretty printing: ASCII/Unicode pretty printing, LaTeX
• Code generation: C, Fortran, Python