シンピ

シンピ
開発者SymPy開発チーム
初回リリース2007 (2007年
安定版リリース
1.14.0 [ 1 ] / 2025年4月27日 ( 2025-04-27 )
リポジトリ
書かれたパイソン
オペレーティング·システムクロスプラットフォーム
タイプコンピュータ代数システム
ライセンス3条項BSD
Webサイトwww.sympy.org ウィキデータで編集する

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
  • インタラクティブインターフェース
  • アニメーション

物理

統計

組合せ論

印刷

  • SageMath : MathematicaMapleMATLABMagmaのオープンソース代替品(SymPy は Sage に含まれています)
  • SymEngine: SymPyのコア部分をC++で書き直し、パフォーマンスを向上させたものです。現在、SymEngineをSageの基盤エンジンとして採用する作業が進行中です。[ 14 ]
  • mpmath:任意精度浮動小数点演算用のPythonライブラリ[ 15 ]
  • SympyCore: Pythonを使ったもう一つの数式処理システム[ 16 ]
  • SfePy: 1次元、2次元、3次元の有限要素法によって連立偏微分方程式(PDE)を解くソフトウェア。[ 17 ]
  • GAlgebra:幾何代数モジュール(旧称sympy.galgebra)。[ 18 ]
  • Quameon: Pythonによる量子モンテカルロ[ 19 ]
  • Lcapy:線形回路解析を教えるための実験的なPythonパッケージ。[ 20 ]
  • LaTeX Expressionプロジェクト:自動置換と結果計算を備えた記号形式の代数式の簡単なLaTeXタイプセッティング。[ 21 ]
  • シンボリック統計モデリング:複雑な物理モデルに統計演算を追加する。[ 22 ]
  • Diofant: Sergey B Kirpichev によって始められた SymPy のフォーク[ 23 ]

依存関係

バージョン 1.0 以降、SymPy には mpmath パッケージが依存関係として含まれています。

機能を強化できるオプションの依存関係がいくつかあります。

  • gmpy : gmpy がインストールされている場合、SymPyの多項式モジュールは、より高速な基底型のために自動的に gmpy を使用します。これにより、特定の演算のパフォーマンスが数倍向上する可能性があります。
  • matplotlib : matplotlib がインストールされている場合、SymPy はそれをプロットに使用できます。
  • Pyglet : 代替プロット パッケージ。

参照

参考文献

  1. ^ 「リリース - sympy/sympy」 。 2025年5月14日閲覧GitHub経由。
  2. ^ "SymPy Live" . live.sympy.org . 2021年8月25日閲覧。
  3. ^ 「SymPy Gamma」 . www.sympygamma.com . 2021年8月25日閲覧。
  4. ^ a b c「SymPyホームページ」 。 2014年10月13日閲覧
  5. ^ 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 . 
  6. ^アーロン、ミューラー;スミス、クリストファー P.パプロッキ、マテウシュ。チェルティク、オンドジェイ。キルピチェフ、セルゲイB。ロックリン、マシュー。クマール、アミット。イワノフ、セルジュ。ムーア、ジェイソン K. (2017-01-02)。「SymPy: Python のシンボリック コンピューティング」(PDF)PeerJ コンピュータ サイエンス3:e103。ドイ: 10.7717/peerj-cs.103ISSN 2376-5992 
  7. ^ 「SymPy vs. Mathematica · sympy/Sympy Wiki」 . GitHub .
  8. ^ 「Open HUBにおけるSympyプロジェクトの統計」 。 2014年10月13日閲覧
  9. ^ 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
  10. ^ 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 . 
  11. ^ 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 . 
  12. ^ 「Assumptions Module — SymPy 1.4 ドキュメント」 . docs.sympy.org . 2019年7月5日閲覧
  13. ^ 「連続体力学 — SymPy 1.4ドキュメント」 . docs.sympy.org . 2019年7月5日閲覧
  14. ^ 「GitHub - symengine/symengine: SymEngineはC++で書かれた高速なシンボリック操作ライブラリです」 GitHub . 2021年8月25日閲覧
  15. ^ "mpmath - 任意精度浮動小数点演算用のPythonライブラリ" . mpmath.org . 2021年8月25日閲覧
  16. ^ “GitHub - pearu/sympycore: code.google.com/p/sympycore から自動的にエクスポートされました” . GitHub . 2021年1月. 2021年8月25日閲覧
  17. ^開発者、SfePy。「SfePy: Pythonでのシンプルな有限要素法 — SfePyバージョン: 2021.2+git.13ca95f1ドキュメント」sfepy.org2021年8月25日閲覧
  18. ^ 「GitHub - pygae/galgebra: SymPy用記号幾何学代数/計算パッケージ」 . GitHub . 2021年8月25日閲覧
  19. ^ 「Quameon - Pythonでの量子モンテカルロ」 . quameon.sourceforge.net . 2021年8月25日閲覧
  20. ^ 「Lcapyのドキュメントへようこそ! — Lcapy 0.76ドキュメント」 2021年1月16日. 2021年1月16日時点のオリジナルよりアーカイブ。 2021年8月25日閲覧
  21. ^ 「LaTeX Expressionプロジェクトドキュメント — LaTeX Expression 0.3.devドキュメント」 . mech.fsv.cvut.cz. 2021年8月25日閲覧
  22. ^ 「Symbolic Statistics with SymPy」 . ResearchGate . 2021年8月25日閲覧。
  23. ^ 「Diofantのドキュメント — Diofant 0.13.0a4.dev13+g8c5685115のドキュメント」 . diofant.readthedocs.io . 2021年8月25日閲覧