SymPy は、オープンソースの Python ライブラリで、 記号計算 に使用されます。スタンドアロンアプリケーション、他のアプリケーションへのライブラリ、あるいはSymPy Live [ 2 ] やSymPy Gamma [ 3 ] としてWeb上でライブで提供されるなど、コンピュータ代数機能を提供します。SymPyはPythonのみで記述されており、依存関係もほとんどないため、インストールや操作が簡単です。[ 4 ] [ 5 ] [ 6 ] この容易なアクセス性と、広く知られた言語で書かれたシンプルで拡張性の高いコードベースが相まって、SymPyは比較的導入しやすい コンピュータ代数システムとなっています。
SymPyは、基本的な記号演算 から微積分 、代数 、離散数学 、量子物理学 に至るまで幅広い機能を備えています。計算結果をLaTeX コードとしてフォーマットすることも可能です。[ 4 ] [ 5 ]
SymPyはフリーソフトウェア であり、三条項BSD ライセンスの下で提供されています。主な開発者はOndřej ČertíkとAaron Meurerです。2005年にOndřej Čertíkによって開発が開始されました。[ 7 ]
特徴 SymPy ライブラリは、多くのオプション モジュールを含むコアに分割されています。
現在、SymPyのコアには約26万行のコードが含まれています[ 8 ] (包括的なセルフテストセットも含まれています:バージョン0.7.5の時点で350のファイルに10万行以上)。その機能には以下が含まれます:[ 4 ] [ 5 ] [ 9 ] [ 10 ] [ 11 ]
コア機能
多項式
微積分
方程式を解く
離散数学
行列
幾何学
プロット 注意: プロットには外部のMatplotlib またはPyglet モジュールが必要です。
座標モデル 幾何学的エンティティのプロット 2Dと3D インタラクティブインターフェース 色 アニメーション
物理
統計
組合せ論
印刷
依存関係 バージョン 1.0 以降、SymPy には mpmath パッケージが依存関係として含まれています。
機能を強化できるオプションの依存関係がいくつかあります。
gmpy : gmpy がインストールされている場合、SymPyの多項式モジュールは、より高速な基底型のために自動的に gmpy を使用します。これにより、特定の演算のパフォーマンスが数倍向上する可能性があります。matplotlib : matplotlib がインストールされている場合、SymPy はそれをプロットに使用できます。Pyglet : 代替プロット パッケージ。
参照
参考文献 ^ 「リリース - sympy/sympy」 。 2025年 5月14日 閲覧 – GitHub 経由。^ "SymPy Live" . live.sympy.org . 2021年8月25日 閲覧。 ^ 「SymPy Gamma」 . www.sympygamma.com . 2021年8月25日 閲覧。 ^ a b c 「SymPyホームページ」 。 2014年10月13日 閲覧 。 ^ a b c Joyner, David; Čertík, Ondřej; Meurer, Aaron; Granger, Brian E. (2012). 「オープンソースのコンピュータ代数システム:SymPy」. ACM Communications in Computer Algebra . 45 (3/4): 225– 234. doi : 10.1145/2110170.2110185 . S2CID 44862851 . ^ アーロン、ミューラー;スミス、クリストファー P.パプロッキ、マテウシュ。チェルティク、オンドジェイ。キルピチェフ、セルゲイB。ロックリン、マシュー。クマール、アミット。イワノフ、セルジュ。ムーア、ジェイソン K. (2017-01-02)。 「SymPy: Python のシンボリック コンピューティング」 (PDF) 。 PeerJ コンピュータ サイエンス 。 3 :e103。 ドイ : 10.7717/peerj-cs.103 。 ISSN 2376-5992 。 ^ 「SymPy vs. Mathematica · sympy/Sympy Wiki」 . GitHub . ^ 「Open HUBにおけるSympyプロジェクトの統計」 。 2014年10月13日 閲覧 。 ^ Gede, Gilbert; Peterson, Dale L.; Nanjangud, Angadh; Moore, Jason K.; Hubbard, Mont (2013). Pythonによる制約付きマルチボディダイナミクス:記号方程式の生成から出版まで . ASME 2013 国際設計工学技術会議およびコンピューターと情報工学会議. アメリカ機械学会. pp. V07BT10A051. doi : 10.1115/DETC2013-13470 . ISBN 978-0-7918-5597-3 。^ Rocklin, Matthew; Terrel, Andy (2012). 「Symbolic Statistics with SymPy」. Computing in Science & Engineering . 14 (3): 88– 93. Bibcode : 2012CSE....14c..88R . doi : 10.1109/MCSE.2012.56 . S2CID 18307629 . ^ Asif, Mushtaq; Olaussen, Kåre (2014). 「高階積分器のための自動コード生成器」. Computer Physics Communications . 185 (5): 1461– 1472. arXiv : 1310.2111 . Bibcode : 2014CoPhC.185.1461M . doi : 10.1016/j.cpc.2014.01.012 . S2CID 42041635 . ^ 「Assumptions Module — SymPy 1.4 ドキュメント」 . docs.sympy.org . 2019年7月5日 閲覧 。 ^ 「連続体力学 — SymPy 1.4ドキュメント」 . docs.sympy.org . 2019年7月5日 閲覧 。 ^ 「GitHub - symengine/symengine: SymEngineはC++で書かれた高速なシンボリック操作ライブラリです」 GitHub . 2021年8月25日 閲覧 。 ^ "mpmath - 任意精度浮動小数点演算用のPythonライブラリ" . mpmath.org . 2021年8月25日 閲覧 。 ^ “GitHub - pearu/sympycore: code.google.com/p/sympycore から自動的にエクスポートされました” . GitHub . 2021年1月. 2021年8月25日 閲覧 。 ^ 開発者、SfePy。 「SfePy: Pythonでのシンプルな有限要素法 — SfePyバージョン: 2021.2+git.13ca95f1ドキュメント」 sfepy.org 。 2021年8月25日 閲覧 。 ^ 「GitHub - pygae/galgebra: SymPy用記号幾何学代数/計算パッケージ」 . GitHub . 2021年8月25日 閲覧 。 ^ 「Quameon - Pythonでの量子モンテカルロ」 . quameon.sourceforge.net . 2021年8月25日 閲覧 。 ^ 「Lcapyのドキュメントへようこそ! — Lcapy 0.76ドキュメント」 2021年1月16日. 2021年1月16日時点の オリジナルよりアーカイブ。 2021年8月25日 閲覧 。 ^ 「LaTeX Expressionプロジェクトドキュメント — LaTeX Expression 0.3.devドキュメント」 . mech.fsv.cvut.cz. 2021年8月25日 閲覧 。 ^ 「Symbolic Statistics with SymPy」 . ResearchGate . 2021年8月25日 閲覧。 ^ 「Diofantのドキュメント — Diofant 0.13.0a4.dev13+g8c5685115のドキュメント」 . diofant.readthedocs.io . 2021年8月25日 閲覧 。
外部リンク