著者のリストについては、AUTHORS ファイルを参照してください。
さらに多くの人々が SymPy メーリング リストで協力し、バグを報告し、Google Summer of Code、Google Highly Open Participation Contest、Google Code-In への SymPy の参加を組織し、SymPy について書いてブログを書いてくれました...
ライセンス: 新しい BSD ライセンス (詳細については LICENSE ファイルを参照) は、特に明記されていない限り、sympy リポジトリ内のすべてのファイルを対象としています。
私たちのメーリング リストは https://groups.google.com/forum/?fromgroups#!forum/sympy にあります。
Gitter にはコミュニティ チャットがあります。そこでお気軽に何でも聞いてください。私たちはとても歓迎的で親切なコミュニティを持っています。
推奨されるインストール方法は、Anaconda (https://www.anaconda.com/products/distribution) を使用することです。
SymPy の最新バージョンは https://pypi.python.org/pypi/sympy/ から入手することもできます。
git バージョンを取得するには、次のようにします
$ git clone https://github.com/sympy/sympy.git
他のオプション (tarball、debs など) については、https://docs.sympy.org/dev/install.html を参照してください。
インストールとドキュメントの構築に関する詳細な手順については、「SymPy ドキュメント スタイル ガイド」を参照してください。
すべては次の場所にあります。
https://docs.sympy.org/
上記のサイトにあるものはすべて、次の方法で SymPy のローカル コピーに生成できます。
$ cd doc
$ make html
そうすれば、ドキュメントは_build/htmlにあります。読みたくない場合は、簡単な使用法を次に示します。
このディレクトリから Python を起動し、次の操作を行います。
> >> from sympy import Symbol , 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 には、SymPy 名前空間をロードしていくつかの一般的なコマンドを実行する、クラシック Python コンソール (または利用可能な場合は IPython) の単純なラッパーであるコンソールも付属しています。
開始するには、次のように発行します。
$ bin/isympy
SymPy がインストールされていない場合、または単に次の場合は、このディレクトリから実行します。
$ isympy
SymPy がインストールされている場合。
PyPI を使用して SymPy をインストールするには、次のコマンドを実行します。
$ pip install sympy
Anaconda を使用して SymPy をインストールするには、次のコマンドを実行します。
$ conda install -c anaconda sympy
GitHub ソースから SymPy をインストールするには、まずgit
使用して SymPy のクローンを作成します。
$ git clone https://github.com/sympy/sympy.git
次に、クローンを作成したsympy
リポジトリで、次のコマンドを実行します。
$ pip install .
詳細については、https://docs.sympy.org/dev/install.html を参照してください。
オープンソースを初めて使用する場合でも、誰からの貢献も歓迎します。 「貢献の概要」ページと「SymPy ドキュメント スタイル ガイド」をお読みください。初めての方で、何らかの貢献方法を探している場合は、「簡単に修正」というタグが付いた問題から始めるのが良いでしょう。
このプロジェクトの参加者全員が当社の行動規範に従うことが求められることに注意してください。このプロジェクトに参加すると、その規約に従うことに同意したことになります。 CODE_OF_CONDUCT.mdを参照してください。
すべてのテストを実行するには、次を実行します。
$./setup.py test
現在のディレクトリにあります。
よりきめ細かいテストまたは doctest の実行には、 bin/test
またはbin/doctest
使用します。 master ブランチは GitHub Actions によって自動的にテストされます。
プル リクエストをテストするには、sympy-bot を使用します。
パーサーとレクサーはsympy/parsing/latex/_antlr
の ANTLR4 ツールチェーンを使用して生成され、リポジトリにチェックインされました。現時点では、ほとんどのユーザーはこれらのファイルを再生成する必要はありませんが、この機能を使用する予定がある場合は、 antlr4
コマンドライン ツールが必要になります (そして、それがPATH
にあることを確認する必要があります)。それを取得する 1 つの方法は次のとおりです。
$ conda install -c conda-forge antlr=4.11.1
または、ANTLR Web サイトの指示に従って、 antlr-4.11.1-complete.jar
ダウンロードします。次に、指示に従ってCLASSPATH
エクスポートし、 antlr4
エイリアスとして作成する代わりに、次の内容を含む実行可能ファイルにします。
#! /bin/bash
java -jar /usr/local/lib/antlr-4.11.1-complete.jar " $@ "
sympy/parsing/latex/LaTeX.g4
に変更を加えた後、次を実行します。
$ ./setup.py antlr
すべてをクリーンにするには (リポジトリ内と同じツリーを取得します):
$ git clean -Xdf
これは.gitignore
によって無視されたものをすべてクリアします。
$ git clean -df
追跡されていないファイルをすべてクリアします。次のコマンドを使用して、git の最新の変更を元に戻すことができます。
$ git reset --hard
警告: 上記のコマンドは行った変更をすべてクリアし、それらの変更は永久に失われます。これらを実行する前に、 git status
、 git diff
、 git clean -Xn
、およびgit clean -n
を使用して必ず内容を確認してください。
私たちの問題追跡ツールは https://github.com/sympy/sympy/issues にあります。バグを見つけたら報告してください。あるいは、GitHub でリポジトリをフォークしてプル リクエストを作成することもできます。私たちは、大小を問わずあらゆる変更を歓迎します。Git を初めて使用する場合は、プル リクエストの作成をお手伝いします (メーリング リストまたは Gitter チャネルで問い合わせてください)。さらに質問がある場合は、sympy タグを使用して Stack Overflow で回答を見つけることができます。
SymPy は 2005 年に Ondřej Čertík によって開始され、夏の間にコードを書き、2006 年の夏にさらにコードを書きました。2007 年 2 月に Fabian Pedregosa がプロジェクトに参加し、多くの点の修正に協力し、ドキュメントを寄稿して、SymPy を再び生かしました。 。 5 人の学生 (Mateusz Paprocki、Brian Jorgensen、Jason Gedge、Robert Schwarz、Chris Wu) は、Google Summer of Code の一環として 2007 年の夏に SymPy を驚くほど改良しました。 Pearu Peterson は 2007 年の夏に開発に参加し、コアをゼロから書き直すことで SymPy の競争力を大幅に高め、SymPy の速度を 10 倍から 100 倍に高めました。 Jurjen NE Bos は、きれいな印刷やその他のパッチを提供してくれました。 Fredrik Johansson は mpmath を作成し、多くのパッチを提供しました。
SymPy は、2007 年以来、毎年 Google Summer of Code に参加しています。詳細については、https://github.com/sympy/sympy/wiki#google-Summer-of-code をご覧ください。 SymPy は毎年限界まで改良されてきました。 SymPy の開発のほとんどは、Google Summer of Code の学生によって行われました。
2011 年、Ondřej Čertík 氏が主任開発者を辞任し、同じく Google Summer of Code の学生としてスタートした Aaron Meurer 氏が後任に就任しました。 Ondřej Čertík は今もコミュニティで活動していますが、仕事と家族で多忙のため、開発の主導的役割を担うことができません。
それ以来、さらに多くの人が開発に参加しましたが、辞めた人もいます。完全なリストは doc/src/aboutus.rst で、またはオンラインで次の場所で確認できます。
https://docs.sympy.org/dev/aboutus.html#sympy-development-team
git の歴史は、開発が svn から hg に移行した 2007 年に遡ります。それ以前の履歴を確認するには、https://github.com/sympy/sympy-old を参照してください。
git を使用すると、最大の開発者を確認できます。コマンド:
$ git shortlog -ns
プロジェクトへのコミット順に並べ替えられた各開発者が表示されます。コマンド:
$ git shortlog -ns --since="1 year"
昨年のトップ開発者が表示されます。
出版物で SymPy を引用するには、次を使用します。
ムラー A、スミス CP、パパロキ M、チェルティク O、キルピチェフ SB、ロックリン M、クマール A、イワノフ S、ムーア JK、シン S、ラスナヤケ T、ヴィグ S、グレンジャー BE、ミュラー RP、ボナッツィ F、グプタ H、ヴァッツ S 、ヨハンソン F、ペドレゴサ F、カリー MJ、テレル AR、ロウチカ Š、 Saboo A、Fernando I、Kulal S、Cimrman R、Scopatz A. (2017) SymPy: Python のシンボリック コンピューティング。 PeerJ コンピュータ サイエンス3:e103 https://doi.org/10.7717/peerj-cs.103
LaTeX ユーザー向けの BibTeX エントリは次のとおりです。
@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, Ondv{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 Rouv{c}ka, v{S}tv{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 は BSD ライセンスを取得しているため、再配布する場合は BSD ステートメントをコピーする限り、学術的、商業的、フォークや派生の作成など、好きなように自由に使用できます (詳細については LICENSE ファイルを参照してください)。とはいえ、SymPy ライセンスでは必須ではありませんが、都合がよければ、仕事で SymPy を使用するときに SymPy を引用し、すべての変更をコントリビュートして戻すことも検討してください。そうすれば、SymPy を組み込むことができ、私たち全員が恩恵を受けることができます。終わり。