GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

sympy

sympy – 純粋なPythonで書かれたコンピュータ代数システム

投稿日:

純粋なPythonで書かれたコンピュータ代数システム http://sympy.org/

SymPy

シンボリック数学のためのPythonライブラリ。

http://sympy.org/

著者のリストについては、AUTHORSファイルを参照してください。

SymPyのメーリングリストを助け、バグを報告し、SymPyがGoogle Summer of Codeに参加するのを手助けし、Googleのオープンな参加コンテスト、Google Code-InがSymPyについて書いてブログを書いた。

ライセンス:新しいBSDライセンス(詳細については、LICENSEファイルを参照)は、特に明記しない限り、sympyリポジトリ内のすべてのファイルをカバーします。

私たちのメーリングリストはhttps://groups.google.com/forum/?fromgroups#!forum/sympyです。

私たちはGitterでコミュニティチャットをしています。 お気軽にお問い合わせください。 私たちは非常に歓迎し、有用なコミュニティを持っています。

ダウンロード

推奨インストール方法は、Anaconda、 https: //www.anaconda.com/download/です

SymPyの最新バージョンはhttps://pypi.python.org/pypi/sympy/から入手することもできます。

gitバージョンを取得するには

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

その他のオプション(tarball、debsなど)については、 http://docs.sympy.org/dev/install.htmlを参照してください。

ドキュメントと使用法

すべては:

http://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がインストールされている場合

インストール

SymPyは、mpmath < http://mpmath.org/ >ライブラリ(バージョン> = 0.19)に強く依存しています。 最初にインストールする必要があります。mpmathのインストールガイドを参照してください。

https://github.com/fredrik-johansson/mpmath#1-download–installation

SymPy自体をインストールするには、次のコマンドを実行します。

$ python setup.py install

システム全体にインストールする場合は、前のコマンドの前にsudoを付ける必要があります。

$ sudo python setup.py install

詳細については、 http://docs.sympy.org/dev/install.htmlを参照してください。

貢献する

たとえあなたがオープンソースに慣れていなくても、誰からの貢献も歓迎します。 寄付の紹介をお読みください。 あなたが新しい人で、始めるのに適した方法を探しているのなら、 簡単に修正できるタグが付いた問題を見てください

このプロジェクトのすべての参加者は、行動規範に従うことが期待されます。 このプロジェクトに参加することによって、その条件を遵守することに同意します。 CODE_OF_CONDUCT.mdを参照してください。

テスト

すべてのテストを実行するには、以下を実行します。

$./setup.py test

現在のディレクトリにあります。

より細かいテストやdoctestを実行するには、 bin/testまたはそれぞれbin/doctestます。 マスターブランチはTravis CIによって自動的にテストされます。

プルリクエストをテストするには、 sympy-botを使用します。

実験的なLaTeXパーサー/レクサーを再生成する

parserとlexerはsympy / parsing / latex / _antlrで`ANTLR4 <http://antlr4.org`_ツールチェーンで生成され、repoにチェックインされました。 現在のところ、ほとんどのユーザーはこれらのファイルを再生成する必要はありませんが、この機能を使用する場合はantlr4コマンドラインツールが必要です。 それを得る1つの方法は次のとおりです。

$ conda install -c conda-forge antlr=4.7

sympy / parsing / latex / LaTeX.g4を変更した後、次のコマンドを実行します。

$ ./setup.py antlr

クリーン

すべてを消去する(リポジトリと同じツリーを取得する):

$ ./setup.py clean

あなたはgitで以下のものを使って物を掃除することもできます:

$ git clean -Xdf

これは.gitignoreによって無視されたすべてをクリアし、

$ git clean -df

untrackedファイルをすべてクリアします。 gitの最新の変更を元に戻すことができます:

$ git reset --hard

警告:上記のコマンドは、行った変更をすべてクリアし、永久に失うことになります。 これらの処理を行う前に、 git statusgit diffgit clean -Xngit clean -n確認してください。

バグ

Googleの問題追跡ツールはhttps://github.com/sympy/sympy/issuesにあります あなたが見つけたバグを報告してください。 あるいは、GitHubでリポジトリをフォークし、プルリクエストを作成することもできます。 大小を問わず、すべての変更を歓迎します。もしあなたがgitを初めて使っているのであれば(私たちのメーリングリストやGitterに問い合わせてください)プルリクエストをするのを手伝ってくれます。

簡単な歴史

SymPyは2005年にOndřejČertíkによって開始され、夏にいくつかのコードを書いた後、2006年の夏にコードを書きました。2007年2月、Fabian Pedregosaはプロジェクトに参加し、多くのことを修正し、文書化し、 。 5人の学生(Mateusz Paprocki、Brian Jorgensen、Jason Gedge、Robert Schwarz、Chris Wu)は、Google Summer of Codeの一環として、2007年夏にSymPyを信じられないほど改良しました。 Pearu Petersonは2007年の夏にこの開発に加わり、コアを一から書き直すことで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、またはオンラインで完全なリストを見ることができます:

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

gitの歴史は、開発がsvnからhgに移行した2007年に戻ります。 その時点までの履歴を確認するには、 http://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、Vats S 、Johansson F、Pedregosa F、Curry MJ、Terrel AR、RoučkaS、Saboo A、Fernando I、Kulal S、Cimrman R、Scopatz A.(2017)SymPy:Pythonのシンボリックコンピューティング PeerJ Computer Science 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, 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 provide additional examples and further outline 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ステートメントを再配布する場合は、BSDステートメントをコピーする限り、好きなものを自由に使用することができます。学術的、商業的、フォークまたはデリバティブを作成することができます(詳しくは、ライセンスファイルを参照してください)。 SymPyライセンスでは必要ないものの、SymPyを使用する際にはSymPyを挙げてください。また、すべての変更を元に戻すことを考慮すると、それを組み込むことができます。終わり。







-sympy
-, , ,

執筆者: