Sympy是一個開源的象徵手法包裝,純Python編寫的。
Sympy的目標是成為一個全功能的CAS在Python,而代碼保持盡可能簡單,所以它可以很容易地擴展和理解
特點:
- 在基本的算術*,/,+, -
- 在基本的簡化(如A * B * B + 2 * B *一* B - > 3 * A * B ^ 2)
- 在擴展(如(A + B)^ 2 - >一種^ 2 + 2 * A * B + B ^ 2)
- 在功能(EXP,LN,正弦,餘弦,棕褐色,...)
- 在複數(如EXP(I * X).evalc() - > COS(X)+ I * SIN(X))
- 在分化
- 泰勒級數
- 在基本替代(如X-> LN(X))
- 在任意精度的整數和有理數
- 標準(蟒蛇)浮
什麼在此版本中是新的:
- 在SymPy現在支持Python 3和PyPy
- 在此版本還包括在組合主要的新功能,定積分,隨機變量,矩陣表達式,套,經典力學,量子力學,交換代數,繪圖和微分幾何。
- 也有數以百計的錯誤修正的整個代碼庫。
什麼在0.7.1版本新:
- 在主要變化:
- 在Python 2.4中不再支持。 SymPy不會在Python 2.4在所有的工作。如果你仍然需要使用SymPy的Python 2.4下出於某種原因,你需要更早使用SymPy 0.7.0或
- 在該Pyglet繪圖庫現在是一個(可選)的外部依賴。此前,我們發貨版本Pyglet與SymPy,但這是老馬車。我們的計劃是最終使繪圖中SymPy更加模塊化,使其支持多種後端,但這尚未完成。目前,仍然只有Pyglet直接支持。需要注意的是Pyglet僅僅是一個可選的依賴,並且只需要用於繪圖。仍可使用SymPy其餘沒有任何依賴關係(除了為Python)。
- 在isympy現在與新IPython的0.11。
- 在mpmath已經更新到0.17。請參見相應的mpmath發行說明在http://mpmath.googlecode.com/svn/trunk/CHANGES。
- 在增加了一個替補對象代表未計算替換。這最終讓我們表示的衍生物在一個點進行評價,即,差異(F(X)中,x).subs(X,0)返回替補(微分(F(_x),_x),(_x,),(0, ))。這也意味著,SymPy現在可以正確計算的鍊式法則時,此功能是必需的,如用F(G(X))。差異(X)。
- 在超幾何函數/梅傑G-功能:
- 添加類超()和meijerg()來表示超幾何和梅耶爾G-功能,分別。他們支持數值計算(使用mpmath)和象徵性的差異(不與相對參數)。
- 新增的算法在更熟悉的,命名為特殊功能方面重寫超幾何和梅耶爾G功能。它是通過功能hyperexpand訪問(),或者也可以通過expand_func()。該算法識別許多基本功能,同時還完全和不完全伽瑪功能,貝塞爾函數和錯誤的功能。它可以很容易地擴展為處理多個類的特殊功能。
- 設置:
- 添加FiniteSet類模仿蟒蛇集的行為,同時也與已有的間隔和工會 互動
- FiniteSets和間隔進行交互,以便,例如區間(0,10) - FiniteSet(0,5)產生(0,5)U(5,10]
- 在FiniteSets還可以處理非數字對象,所以,以下是可能的{1,2,“一”,“二”,{A,B}}
- 添加ProductSet處理套笛卡爾積
- 創建使用*運算符,即twodice = FiniteSet(1,2,3,4,5,6)* FiniteSet(1,2,3,4,5,6)或平方=間隔(0,1) *間隔(0,1)
- 在戰俘運營商還按預期工作:R3 =間隔(-oo,OO)** 3; (3,-5,0)中R 3 == TRUE
- 在減法,工會,測量各項工作走複雜的路口進去。
- 新增as_relational方法來套,使用和生產布爾陳述或者,公式,LT,億噸,等等...
- 在改變reduce_poly_inequalities返回套工會,而不是套名單
- 的iterable:
- 添加生成例程整數分區和二進制分區。該例程為整數分區需要3個參數,該數字本身,在生成的分區和元件,這將是該分區中的最大可能的數目所允許的最大可能的元件。二分區的特點是含有兩個唯一力量。
- 在新增發電常規多組分區。給定一個多集,實現將產生多集的所有可能的分區算法。
- 添加生成例程鐘排列,紊亂,以及對合。甲鈴置換是其中,組成它的循環組成的整數的遞減順序。甲紊亂是置換,使得第i個元素是不是在第i個位置。對合是置換,當由自身相乘給出同一性置換。
- 添加生成常規無限制項鍊。一個無限制的項鍊是n個字符,每一個可能的類型的一進制串。這些都被其特徵在於,在例程中的參數n和k。
- 添加生成例程面向森林。這是算法S的TAOCP卷4A的實現。
- 在XYZ旋轉基地:
- 的代表,改寫和InnerProduct邏輯進行了改進任意兩個旋基地之間的合作。這是通過利用所述的Wigner-D矩陣,在WignerD類實現時,在限定的各個鹼基之間的變化進行。代表一個狀態,即表示(JzKet(1,0),基礎= Jx的),可以用於得到矢量表示的任何得到的任何的對於j和m中的自旋的數值的X / Y / Z的鹼本徵態。同樣地,重寫的狀態到不同的基礎,即JzKet(1,0).rewrite('Jx的'),將寫狀態為基礎給出的元素的線性組合。因為這依賴於代表的功能,這僅適用於數字J和M值。在不同的鹼基2本徵態的內積可以評價,即InnerProduct(JzKet(1,0),JxKet(1,1))。當兩個不同的鹼時,一個狀態被重寫到其他的基礎上,所以這需要j和米的數值,但在相同的基礎狀態的innerproducts仍然可以象徵性地進行。
- 的Rotation.D和Rotation.d方法,代表的Wigner-D功能和維格納小D功能,返回WignerD類,它可與度特()方法來評估的實例,以得到相應的矩陣維格納-D矩陣的元素。
- 在其他的變化:
- 我們現在使用MathJax在我們的文檔。 MathJax在使用JavaScript的瀏覽器呈現LaTeX的數學entierly。這意味著,算術比以前PNG數學,它使用的圖像更具有可讀性。 MathJax只支持現代瀏覽器,所以在文檔LaTeX的數學可能無法在舊的瀏覽器。
- 在nroots()現在允許您設置的計算精度
- 在增加了對gmpy和mpmath的類型支持sympify()
- 修正了一些漏洞與lambdify()
- 修正了as_independent和非交換符號的錯誤。
- 修正了一個錯誤與收集(問題2516)
- 有關SymPy移植到Python 3。感謝我們的學生編程之夏弗拉基米爾佩里奇許多修正,這項任務已基本完成。
- 在一些人追溯添加到Authors文件。
- 在增加了一個解算器ODE模塊中的Riccati方程的一個特例。
- 在迭代衍生物漂亮打印在簡潔的方式。
- 在修復一個bug與集成功能多DiracDeltas。
- 在添加Matrix.norm()的作品為矩陣(不只是載體)的支持。
- 在改進了Groebner基算法。
- 在Plot.saveimage現在支持一個StringIO的OUTFILE
- 在Expr.as_ordered_terms現在支持非法排序。
- 在差異現在canonicalizes分化符號的次序。這是因此它可以簡化像的f(x,y)的.diff作(X,Y)的表達 - 的f(x,y)的.diff作(Y,X)。如果你想創建一個衍生對象不排序的參數時,你應該明確地使用衍生創建它,這樣你會得到微分(F(X,Y),X,Y)!=微分(F(X,Y), Y,X)。需要注意的是在內部,衍生物,可以計算出始終計算的,因為它們是在給定的順序。
- 新增功能is_sequence()和迭代器()來確定,如果事情是一個有序的迭代或正常迭代器,分別為。
- 已啟用的獅身人面像,增加了旁邊的每個功能,可鏈接到源代碼的功能複製源鏈接的選項。
什麼是0.7.0版本,新的:
- 在這是,增加了許多新功能的一個主要版本。
- 在最大的變化是新的多邊形,這是更強大,速度更快。這會影響SymPy的許多地方,包括求解器和簡化。
- 在另一個大的變化是新的量子模塊,增加了作為準則谷歌暑期兩個項目的結果。
- 除了這些重大的變化,也有在所有SymPy的許多變化。
- 在這個版本也有一些小的大多是向後兼容的休息。
什麼在0.6.3版本新:
- 在移植到python2.6的(所有測試通過)和Jython(所有測試都通過了,除了那些根據" AST"模塊)。
- 在真司是固定的(所有測試都通過與" -Qnew" Python的選項) 。
- 在buildbot.sympy.org創建; sympy現在定期測試了Python 2.4,2.5,和2.6兩個i386和AMD64。
- py.bench:py.test型標杆
- 在斌/測試:一個簡單的py.test般的測試框架,沒有外部的依賴關係,並與漂亮的彩色輸出 。
- 在大多數的限制現在的工作。
- 在分解了Z [X]大幅提高。
- 在分段函數加入。 nsimplify()實施。
- 在符號和無功語法進行統一。
- 在C代碼打印。
要求:
- 在Python中
評論沒有發現