pythonのsympyは、xが正、負、実数、複合などの変数について仮定を設定できることを知っています。sympyが変数の相対的な仮定他の変数にたとえば、変数xとyがある場合、そのソリューションでx> yと仮定してsympyを設定できますか?あるいは、もし私が2つの変数、aとBを持っていれば、sympyを+ 2B <と仮定するように設定できますか?このような仮定は、sympyがsolve()と固有ベクトルの複雑な解を単純化するのに役立ちます。sympyの変数の仮定を他の変数と比較して設定する
私は、これらの仮定をsympyで設定することに関する情報を見つけておらず、見つけていません。
私は特定の行列
a,b = symbols('a,b', nonnegative=False)
M = Matrix([ [1-a-2*b, a, b, b],
[a, 1-a-2*b, b, b],
[b, b, 1-a-2*b, a],
[b, b, a, 1-a-2*b] ])
Sympyの固有ベクトルを見つけようとしていますので、私は質問が正しく
M.eigenvals()
私はMATLABとWolframAlphaを介して確認しました固有値を発見したすべての同じ結果を与える。しかし、固有ベクトルは混乱
M.eigenvects()
MATLABとWolframAlpha [1,1,1,1] [-1、-1,1,1] [0,0、-1,1の両方のリターン・固有ベクトルであります] [-1,1,0,0]であり、正しい固有ベクトルである。私はsympyの結果を単純化することさえしようとしなかった。私はそれが+ 2b < 1を指定するような変数についての仮定と関係していると思うが、わからない。
を使用することができない場合は、インプレース
Matrix.simplify
行為は(あなたが前提のシステムについて多くのことを知っているように見えることに注意してください。私は現在の状態について、より実用的なヒントを学ぶことができるところ2016年の後半に想定システムのバージョンが登場しましたか?Sympyはバージョン1になりました。仮定モジュールとシンボルコンストラクタの前提があるため、まだ2つの仮定システムがあるようです。 – Shaun@Shaun、更新された指示を求めるのに最適な場所は、sympyメーリングリストです。 – Krastanov