Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A computer algebra system written in pure Python

License

NotificationsYou must be signed in to change notification settings

sympy/sympy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pypi versionJoin the chat at https://gitter.im/sympy/sympyZenodo BadgeDownloadsGitHub IssuesGit TutorialPowered by NumFocusCommits since last release

SymPy Banner

See theAUTHORS file for the list of authors.

And many more people helped on the SymPy mailing list, reported bugs,helped organize SymPy's participation in the Google Summer of Code, theGoogle Highly Open Participation Contest, Google Code-In, wrote andblogged about SymPy...

License: New BSD License (see theLICENSE file for details) covers allfiles in the sympy repository unless stated otherwise.

Our mailing list is athttps://groups.google.com/forum/?fromgroups#!forum/sympy.

We have a community chat atGitter. Feelfree to ask us anything there. We have a very welcoming and helpfulcommunity.

Download

The recommended installation method is through Anaconda,https://www.anaconda.com/products/distribution

You can also get the latest version of SymPy fromhttps://pypi.python.org/pypi/sympy/

To get the git version do

$ git clone https://github.com/sympy/sympy.git

For other options (tarballs, debs, etc.), seehttps://docs.sympy.org/dev/install.html.

Documentation and Usage

For in-depth instructions on installation and building thedocumentation, see theSymPy Documentation Style Guide.

Everything is at:

https://docs.sympy.org/

You can generate everything at the above site in your local copy ofSymPy by:

$ cd doc$ make html

Then the docs will be in_build/html. Ifyou don't want to read that, here is a short usage:

From this directory, start Python and:

>>>fromsympyimportSymbol,cos>>>x=Symbol('x')>>>e=1/cos(x)>>>print(e.series(x,0,10))1+x**2/2+5*x**4/24+61*x**6/720+277*x**8/8064+O(x**10)

SymPy also comes with a console that is a simple wrapper around theclassic python console (or IPython when available) that loads the SymPynamespace and executes some common commands for you.

To start it, issue:

$ bin/isympy

from this directory, if SymPy is not installed or simply:

$ isympy

if SymPy is installed.

Installation

To install SymPy using PyPI, run the following command:

$ pip install sympy

To install SymPy using Anaconda, run the following command:

$ conda install -c anaconda sympy

To install SymPy from GitHub source, first clone SymPy usinggit:

$ git clone https://github.com/sympy/sympy.git

Then, in thesympy repository that you cloned, simply run:

$ pip install .

Seehttps://docs.sympy.org/dev/install.html for more information.

Contributing

We welcome contributions from anyone, even if you are new to opensource. Please read ourIntroduction to Contributingpage and theSymPy Documentation Style Guide. If youare new and looking for some way to contribute, a good place to start isto look at the issues taggedEasy to Fix.

Please note that all participants in this project are expected to followour Code of Conduct. By participating in this project you agree to abideby its terms. SeeCODE_OF_CONDUCT.md.

Tests

To execute all tests, run:

$./setup.py test

in the current directory.

For the more fine-grained running of tests or doctests, usebin/testor respectivelybin/doctest. The master branch is automatically testedby GitHub Actions.

To test pull requests, usesympy-bot.

Regenerate ExperimentalLaTeX Parser/Lexer

The parser and lexer were generated with theANTLR4toolchain insympy/parsing/latex/_antlr and checked into the repo.Presently, most users should not need to regenerate these files, butif you plan to work on this feature, you will need theantlr4command-line tool (and you must ensure that it is in yourPATH).One way to get it is:

$ conda install -c conda-forge antlr=4.11.1

Alternatively, follow the instructions on the ANTLR website and downloadtheantlr-4.11.1-complete.jar. Then export theCLASSPATH as instructedand instead of creatingantlr4 as an alias, make it an executable filewith the following contents:

#!/bin/bashjava -jar /usr/local/lib/antlr-4.11.1-complete.jar"$@"

After making changes tosympy/parsing/latex/LaTeX.g4, run:

$ ./setup.py antlr

Clean

To clean everything (thus getting the same tree as in the repository):

$ git clean -Xdf

which will clear everything ignored by.gitignore, and:

$ git clean -df

to clear all untracked files. You can revert the most recent changes ingit with:

$ git reset --hard

WARNING: The above commands will all clear changes you may have made,and you will lose them forever. Be sure to check things withgit status,git diff,git clean -Xn, andgit clean -n before doing anyof those.

Bugs

Our issue tracker is athttps://github.com/sympy/sympy/issues. Pleasereport any bugs that you find. Or, even better, fork the repository onGitHub and create a pull request. We welcome all changes, big or small,and we will help you make the pull request if you are new to git (justask on our mailing list or Gitter Channel). If you further have any queries, you can find answerson Stack Overflow using thesympy tag.

Brief History

SymPy was started by Ondřej Čertík in 2005, he wrote some code duringthe summer, then he wrote some more code during summer 2006. In February2007, Fabian Pedregosa joined the project and helped fix many things,contributed documentation, and made it alive again. 5 students (MateuszPaprocki, Brian Jorgensen, Jason Gedge, Robert Schwarz, and Chris Wu)improved SymPy incredibly during summer 2007 as part of the GoogleSummer of Code. Pearu Peterson joined the development during the summer2007 and he has made SymPy much more competitive by rewriting the corefrom scratch, which has made it from 10x to 100x faster. Jurjen N.E. Boshas contributed pretty-printing and other patches. Fredrik Johansson haswritten mpmath and contributed a lot of patches.

SymPy has participated in every Google Summer of Code since 2007. Youcan seehttps://github.com/sympy/sympy/wiki#google-summer-of-code forfull details. Each year has improved SymPy by bounds. Most of SymPy'sdevelopment has come from Google Summer of Code students.

In 2011, Ondřej Čertík stepped down as lead developer, with AaronMeurer, who also started as a Google Summer of Code student, taking hisplace. Ondřej Čertík is still active in the community but is too busywith work and family to play a lead development role.

Since then, a lot more people have joined the development and somepeople have also left. You can see the full list in doc/src/aboutus.rst,or online at:

https://docs.sympy.org/dev/aboutus.html#sympy-development-team

The git history goes back to 2007 when development moved from svn to hg.To see the history before that point, look athttps://github.com/sympy/sympy-old.

You can use git to see the biggest developers. The command:

$ git shortlog -ns

will show each developer, sorted by commits to the project. The command:

$ git shortlog -ns --since="1 year"

will show the top developers from the last year.

Citation

To cite SymPy in publications use

Meurer A, Smith CP, Paprocki M, Čertík O, Kirpichev SB, Rocklin M,Kumar A, Ivanov S, Moore JK, Singh S, Rathnayake T, Vig S, Granger BE,Muller RP, Bonazzi F, Gupta H, Vats S, Johansson F, Pedregosa F, CurryMJ, Terrel AR, Roučka Š, Saboo A, Fernando I, Kulal S, Cimrman R,Scopatz A. (2017) SymPy: symbolic computing in Python.PeerJ ComputerScience 3:e103https://doi.org/10.7717/peerj-cs.103

A BibTeX entry for LaTeX users is

@article{10.7717/peerj-cs.103,title ={SymPy: symbolic computing in Python},author ={Meurer, Aaron and Smith, Christopher P. and Paprocki, Mateusz and \v{C}ert\'{i}k, Ond\v{r}ej and Kirpichev, Sergey B. and Rocklin, Matthew and Kumar, Amit and Ivanov, Sergiu and Moore, Jason K. and Singh, Sartaj and Rathnayake, Thilina and Vig, Sean and Granger, Brian E. and Muller, Richard P. and Bonazzi, Francesco and Gupta, Harsh and Vats, Shivam and Johansson, Fredrik and Pedregosa, Fabian and Curry, Matthew J. and Terrel, Andy R. and Rou\v{c}ka, \v{S}t\v{e}p\'{a}n and Saboo, Ashutosh and Fernando, Isuru and Kulal, Sumith and Cimrman, Robert and Scopatz, Anthony},year =2017,month = Jan,keywords ={Python, Computer algebra system, Symbolics},abstract ={            SymPy is an open-source computer algebra system written in pure Python. It is built with a focus on extensibility and ease of use, through both interactive and programmatic applications. These characteristics have led SymPy to become a popular symbolic library for the scientific Python ecosystem. This paper presents the architecture of SymPy, a description of its features, and a discussion of select submodules. The supplementary material provides additional examples and further outlines details of the architecture and features of SymPy.},volume =3,pages ={e103},journal ={PeerJ Computer Science},issn ={2376-5992},url ={https://doi.org/10.7717/peerj-cs.103},doi ={10.7717/peerj-cs.103}}

SymPy is BSD licensed, so you are free to use it whatever you like, beit academic, commercial, creating forks or derivatives, as long as youcopy the BSD statement if you redistribute it (see the LICENSE file fordetails). That said, although not required by the SymPy license, if itis convenient for you, please cite SymPy when using it in your work andalso consider contributing all your changes back, so that we canincorporate it and all of us will benefit in the end.


[8]ページ先頭

©2009-2025 Movatter.jp