Sympyは純粋なPythonで書かれたオープンソースの記号操作パッケージです。
Sympyの目的は、それが簡単に拡張し、理解できることができるようにコードをできるだけ単純に維持しつつ、Pythonでフル機能のCASになることです。
の特長の:ます。
- 基本的な算術演算*、/、+、 -
- 基本的な単純化(* b *表B + 2 * B * * bのように - > 3 * A * B ^ 2)
- 拡張(のような(A + B)^ 2 - > ^ 2 + 2 * A * B + B ^ 2)
- 関数(EXP、LN、罪、COS、日焼け、...)
- 複素数は(EXPのように(私は、x).evalc()* - 登録> COS(x)は+私は罪を*(x))をします。
- 分化します。
- テイラー級数ます。
- 基本置換します。
- 任意精度整数と有理数ます。
- 標準(パイソン)が浮いてます。
(X&GT等; LN(X))
のこのリリースのの新機能は次のとおりです。
- SymPy今はPython 3とPyPyはをサポートしています。 。
- また、このリリースでは組み合わせ論、定積分、確率変数、行列式、セット、古典力学、量子力学、可換代数、プロット、微分幾何学の主要な新機能が含まれます。
- 全体のコードベース全体でのバグ修正の何百もあったします。
のバージョン0.7.1でのの新機能:
- 主な変更点:
- はPython 2.4がサポートされなくなりました。 SymPyは、Python 2.4でまったく動作しません。あなたはまだいくつかの理由でのPython 2.4の下でSymPyを使用する必要がある場合は、SymPy 0.7.0以前を使用する必要があります。
- はPygletプロットライブラリになりました(オプション)外部依存関係です。以前、我々はSymPyでPygletのバージョンを出荷しますが、これは古いものとバギーだった。計画では、それは多くのバックエンドをサポートするように、最終的には、SymPyはるかモジュラーでプロットを作ることですが、これはまだ行われていない。今のところ、まだ唯一Pygletが直接サポートされています。 Pygletのみ、オプションの依存関係であり、唯一のプロットのために必要とされていることに注意してください。 SymPyの残りの部分はまだ(Python用を除く)に依存せず使用することができます。
- isympyは現在、新しいIPython 0.11で動作します。
- mpmathは0.17に更新されました。 http://mpmath.googlecode.com/svn/trunk/CHANGESに対応するmpmathのリリースノートを参照してくださいます。
- は未評価の置換を表現するための潜水オブジェクトを追加しました。これは最終的に(0 X、)潜水艦(デリバティブ(F(_x)、_x)、(_x、)、(0を返す私たちはポイントで評価誘導体、すなわち、差分(f(x)が、x)の.subsを表すことができます))。また、これは、この機能が必要な場合にSymPyが正しくなどをf(グラム(x))を。差分(x)を有するように、連鎖法則を計算することができることを意味します。
- 幾何関数/メイジャーG-機能:
- を追加しましたハイパークラス()とmeijerg()は、それぞれ、超幾何とマイヤーG-の機能を表現する。彼らは、(mpmathを使用して)数値評価とシンボリック分化(しないパラメータに関して)をサポートしています。
- はより身近な、という名前の特別な機能の面で超幾何とメイジャーG-の機能を書き換えるためのアルゴリズムを追加しました。これは、関数hyperexpandを介してアクセス可能である()、またはまたexpand_func経由()。このアルゴリズムは、多くの初等関数、また完全および不完全ガンマ関数、ベッセル関数、誤差関数を認識する。これは、簡単に特別な機能の複数のクラスを処理するように拡張することができます。
- セット:
- を追加しましFiniteSetクラスは、Pythonのセットの動作を模倣する
FiniteSet(0,5)を生成(0,5)U(5、10] - - FiniteSetsとの間隔はよう、例えば間隔(0、10)が相互に作用する
以下は、{'1'、 '2'、{A、B} 1、2、} 可能なように - FiniteSetsは、非数値オブジェクトを処理
- を追加しましProductSetがセットのデカルトの製品を処理するためにします。
- 捕虜オペレータは、期待通りに動作します:R3 =間隔(-OO、OO)** 3。 (3、-5、0)R3 ==真の
- 引き算、労働組合、測定すべての作業を考慮し、複雑な交差点を取ってます。
- は、EQ、LT、GTは、セットにas_relationalメソッドを追加しました使用してブール文を生成するか、等...
- に変更reduce_poly_inequalitiesはむしろセットのリストよりも、セットの共用体を戻ります。
- 反復可能オブジェクト:
- 整数パーティションおよびバイナリのパーティションのルーチンを生成する追加されました。整数のパーティション用のルーチンは、3つの引数、番号自体、生成されたパーティションおよびパーティションになります要素の最大可能数に許容される最大の可能な要素を取ります。バイナリパーティションは2の累乗のみを含有することを特徴としている。
- マルチセットパーティションのルーチンを生成する追加されました。マルチセットを考えると、実装されたアルゴリズムは、マルチセットのすべての可能なパーティションを生成します。
- ベル順列、撹乱、およびinvolutionsするためのルーチンを生成する追加されました。ベル順列は、それを構成するサイクルが減少するために、整数で構成されているものである。攪乱は、i番目の要素がi番目の位置にないように置換される。退縮は、それ自身を掛けたときには恒等置換を与えること順列でます。
- 無制限のネックレスのためのルーチンを生成する追加されました。無制限のネックレスはn文字、可能なタイプのそれぞれのA進の文字列です。これらは、ルーチンのパラメータnとkによって特徴づけられている。
- 指向の森林のためのルーチンを生成する追加されました。これはTAOCP巻4AのアルゴリズムSの実装です。
- XYZスピン拠点:
- は、表現する書き換え、内積ロジックは、任意の2つのスピン塩基間動作するように改善されました。これは、種々の塩基との間の変更を定義する、WignerDクラスに実装ウィグナー-Dマトリックスを利用することによって行った。状態を示す、すなわち(坪= Jxが、JzKet(1,0))を表し、任意のベクトル表現を与えるために使用することができるスピン第j及びmの数値のためのx / y / zの塩基のいずれかで取得する固有状態。同様に、異なる塩基に状態を書き換え、すなわちJzKet(1,0).rewrite( 'Jxが')は、与えられた根拠の要素の線形結合としての状態を書き込みます。これが表す機能に依存しているため、これが唯一の数値jとm値のために働く。異なる塩基に2つの固有状態の内積を評価することができる、すなわち内積(JzKet(1,0)、JxKet(1,1))。二つの異なる塩基が使用される場合、一方の状態は、他の基礎に書き換えられるので、これはjとm個の数値を必要とするが、同じ基準での状態の内積はまだ象徴的に行うことができます。
- その他の変更:
- 私たちは、今私たちのドキュメントにMathJaxを使用しています。 MathJax Javascriptを使用してブラウザでentierly LaTeXの数学をレンダリングします。これは数学がはるかに読みやすい画像を使用して、以前のPNG数学、よりであることを意味します。 MathJaxだけ最新のブラウザでサポートされているので、ドキュメント中のラテックス数学が古いブラウザでは動作しない場合があります。
- nroots()今、あなたは計算の精度を設定することができます。
- ()します。 をsympifyするgmpyとmpmathのタイプのサポートを追加しました
- () lambdifyでいくつかのバグを修正
- as_independentと非可換シンボルとバグを修正します。
- コレクト(問題2516) との不具合を修正しました。
- はPython 3にSymPyの移植に関連する多くの修正が私たちのGSOCの学生ウラジミールPericのおかげで、この作業がほぼ完了します。
- は一部の人々は遡及的に作者ファイルに追加します。
- はODEモジュール内のリカッチ方程式の特殊なケースのためのソルバーを追加しました。
- 繰返しを誘導体はかなり簡潔な方法で印刷されています。
- 複数DiracDeltasと機能を統合してバグを修正します。
- は行列(だけでなく、ベクトル)のために働くMatrix.norm()のサポートを追加します。
- グレブナ拠点アルゴリズムに改良します。
- Plot.saveimageが今にStringIO OUTFILEます。 をサポートしています
- Expr.as_ordered_termsは現在、非LEXの順序をサポートしています。
- diffは今分化シンボルの順番を正規化する。をf(x、y)との.diff(yは、x)は - これはそれをf(x、y)は、の.diff(x、y)のような式を簡素化することができている。あなたは引数をソートすることなく、デリバティブオブジェクトを作成する場合は、デリバティブ(F(x、y)は、x、y)は、!=デリバティブ(f(x、y)を取得するように、あなたは、デリバティブで明示的に作成する必要があり、 yは、x)である。内部で、計算することができ誘導体は常にそれらがに記載されている順序で計算されることに注意します。
- 追加された機能のis_sequence()と反復可能()します。
- はその関数のソースコードのコピーにリンクする各機能、横にソースリンクを追加しスフィンクスでオプションを有効にします。
- 最大の変化は、はるかに強力で、はるかに高速である新しいポリゴン、です。これはソルバと簡素化を含むSymPyの多くの部分に影響します。
- もう一つの大きな変化は、2のGoogleサマーコードのプロジェクトの結果として追加された新しい量子モジュールです。
- は別として、これらの主要な変更から、SymPyのすべての多くの変更があります。
- また、このリリースでは、いくつかの大部分はマイナーな下位互換性のブレイクを持っています。
また、既存の間隔や労働組合ます。との対話中に
<李> *演算子を使用して作成し、すなわちtwodice = FiniteSet(1、2、3、4、5、6)* FiniteSet(1、2、3、4、5、6)、または正方形=区間(0、1) *インターバル(0、1)
ウィグナー-D機能とウィグナー小dの関数を表す<李> Rotation.DとRotation.d方法は、対応する行列を与えるためのdoIt()メソッドを使用して評価することができるWignerDクラスのインスタンスを返すウィグナー-D行列の要素ます。
何かがそれぞれ、注文した反復可能か、通常の反復可能であるかどうかを決定するための
これは多くの新機能を追加するメジャーリリースです。
のバージョン0.7.0でのの新機能であるます。
のバージョン0.6.3でのの新機能:
- に移植されたのpython2.6に(すべてのテストに合格)とJythonの(すべてのテストが&QUOTに応じてそれらを除いて渡す。AST&QUOT;モジュール)します。
- この真の分割は、(Pythonのオプションを; -Qnew&QUOTすべてのテストが&QUOTで合格)を修正しました。
- buildbot.sympy.orgが作成された。 sympyは、現在定期的にはPython 2.4、2.5、およびi386とamd64の両方に2.6でテストされます。
- py.bench:py.testベースのベンチマークます。 。
- ビン/テスト:シンプルpy.testのようなテストフレームワーク、外部依存関係のないときれいに着色された出力を備えます。 。
- ほとんどの制限が動作するようになりました。
- はZ上の因数分解[x]が大幅に改善されました。
- シンボルとVAR構文が統一されます。
- Cコード印刷します。
<李>区分機能を追加した。 nsimplify()が実装されました。
の要件の
- のPythonます。
コメントが見つかりません