SageMath: 符號計算


為何使用符號計算?因為在物理和數學理論中推導某些繁瑣的公式的時候,人工進行會比較慢,而且很容易出錯。如果可以用計算機輔助我們完成這些繁瑣的計算就太好了。

比較常用的用於符號計算的數學軟件有Mathematica和Maple,但是這兩個軟件都是收費軟件。本來打算購買一個學生版的Mathematica,但是在注冊繳費的最后一步,發現只能使用VISA信用卡支付,所以最后還是放棄了。

在網上找了一下,發現在開源的項目中,Sage Math也支持符號計算,而且其支持的平台比較廣,包括windows , Mac, Linux,甚至可以利用官網雲平台在線計算並保存結果。
忘記local host的帳戶密碼怎么辦,默認的帳戶名是:admin,至於密碼是一開始你自己設置的。

  1. SageMath的下載和安裝
    可以從官網下載相應的版本,但是要選取合適的版本,之前在Mac上安裝過一個版本,積分的功能有問題,更換安裝包后,這個問題就解決了。
  2. 數值計算
    3+3
    evaluate:
    6
  3. 符號計算
  • 因式乘法
    x=var('x')
    y=var('y')
    eq=(x-y)(x+y)(x^3-y+1)+3
    eq.expand()
    evaluate:
    x^5 - x^3y^2 - x^2y + y^3 + x^2 - y^2 + 3

  • 微分
    derivative(x^3+x^2,x)
    evaluate:
    3x^2 + 2x

  • 不定積分
    integral(1/x-1,x)
    evaluate:
    -x + log(x)

  • 定積分
    t=var('t')
    f=-100
    g=te^(-i2pif*t)
    integrate(g,t,0,1)

  • plot 2D scaler field

x=var('x')
y=var('y')
g2(x,y)=3*e^(-x^2-y^2)
plot3d(g2,(x,-1,1),(y,-1,1))
  • plot 2D vector field
gv2d=g2.gradient()
plot_vector_field(gv2d,(x,-1,1),(y,-1,1))
  • plot 3D vector field
x=var('x')
y=var('y')
z=var('z')
g(x,y,z)=3*e^(-x^2-y^2)-z
gv=g.gradient()
plot_vector_field3d(gv,(x,-1,1),(y,-1,1),(z,-1,1))


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM