О SymPy

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.

Google Summer of Code (GSoC) 2013

SymPy is a mentoring organization for GSoC 2013. Apply now, the deadline is May 2, 2013. See the G+ announcement for links and information how to apply.

Функции

Основные возможности SymPy:

  • Basic arithmetic: Support for operators such as +, -, *, /, ** (power)
  • Упрощение
  • Раскрытие выражений
  • Функции trigonometric, hyperbolic, exponential, roots, logarithms, absolute value, spherical harmonics, factorials and gamma functions, zeta functions, polynomials, special functions, ...
  • Подстановки
  • Числа: arbitrary precision integers, rationals, and floats
  • Некоммутативные выражения
  • Проверка соответствия выражения шаблону

Многочлены

  • Basic arithmetic: division, gcd, ...
  • Разложение на множители
  • Разложение, свободное от квадратов
  • Gröbner bases
  • Разложение на элементарные дроби
  • Resultants

Вычисления

  • Пределы limit(x*log(x), x, 0) -> 0
  • Дифференцирование
  • Интегрирование Интегрирование с использованием алгоритмов Рича-Нормана
  • Ряды Тейлора (Лорана)

Решение уравнений

  • Polynomial equations
  • Algebraic equations
  • Differential equations
  • Difference equations
  • Систем уравнений

Combinatorics

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

Discrete math

  • Биномиальные коэффициенты
  • Summations
  • Произведения последовательностей
  • Теория чисел generating prime numbers, primality testing, integer factorization, ...
  • Логические выражения

Матрицы

  • Basic arithmetic
  • Eigenvalues/eigenvectors
  • Детерминанты
  • Inversion
  • Solving
  • Abstract expressions

Геометрическая алгебра

Модуль геометрии

  • points, lines, rays, segments, ellipses, circles, polygons, ...
  • Пересечение
  • Tangency
  • Подобие

Рисование

  • Coordinate modes
  • Рисование геометрических фигур
  • Двух- и трёхмерное построение графиков
  • Интерактивный режим
  • Поддержка цветов

Физика

  • Единицы измерения
  • Механика
  • Квантовая физика
  • Оптика
  • Матрицы Паули и Дирака

Статистика

  • Пакеты для дистрибутивов
  • Непрерывное равномерное распределение
  • Теория вероятностей

Печать

  • Красивая печать (Pretty-printing) Печать с использованием ASCII или Unicode символов. Печать в формате LaTeX
  • Генерация кода C, Fortran, Python