forked from sympy/sympy-paper
/
conclusion_and_future_work.tex
38 lines (32 loc) · 1.95 KB
/
conclusion_and_future_work.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
SymPy is a robust computer algebra system that provides a wide spectrum of
features both in traditional computer algebra and in a plethora of scientific
disciplines. This allows SymPy to be used in a first-class way with other
Python projects, including the scientific Python stack. Unlike many other CASs, SymPy
is designed to be used in an extensible way: both as an end-user
application and as a library.
SymPy expressions are immutable trees of Python objects. SymPy uses Python both
as the internal language and the user language. This permits users to access to
the same
methods that the library implements in order to extend it for their needs.
Additionally, SymPy has a powerful assumptions
system for declaring and deducing mathematical properties of expressions.
SymPy has submodules for many areas of mathematics. This includes functions for
simplifying expressions, performing common calculus operations, pretty printing
expressions, solving equations, and representing symbolic matrices. Other included
areas
are discrete math, concrete math, plotting, geometry, statistics,
polynomials, sets, series, vectors, combinatorics, group theory, code
generation, tensors, Lie algebras, cryptography, and special functions.
Additionally, SymPy contains submodules targeting certain specific domains,
such as classical mechanics and quantum mechanics. This breadth of domains has
been engendered by a strong and vibrant user community.
Anecdotally, these users likely chose SymPy because of its ease of access.
% Future work:
Some of the planned future work for SymPy includes work on improving code
generation, improvements to the speed of SymPy (one area of work in this
direction is \href{https://github.com/symengine/symengine}{SymEngine}, a
C++ symbolic manipulation library that is planned to be usable as a
alternative core for SymPy), improving the assumptions system, and improving the
solvers module.
% TODO: Maybe one sentence for each item
% Feel free to add stuff here.