為何使用符號計算?因為在物理和數學理論中推導某些繁瑣的公式的時候,人工進行會比較慢,而且很容易出錯。如果可以用計算機輔助我們完成這些繁瑣的計算就太好了。
比較常用的用於符號計算的數學軟件有Mathematica和Maple,但是這兩個軟件都是收費軟件。本來打算購買一個學生版的Mathematica,但是在注冊繳費的最后一步,發現只能使用VISA信用卡支付,所以最后還是放棄了。
在網上找了一下,發現在開源的項目中,Sage Math也支持符號計算,而且其支持的平台比較廣,包括windows , Mac, Linux,甚至可以利用官網雲平台在線計算並保存結果。
忘記local host的帳戶密碼怎么辦,默認的帳戶名是:admin,至於密碼是一開始你自己設置的。
- SageMath的下載和安裝
可以從官網下載相應的版本,但是要選取合適的版本,之前在Mac上安裝過一個版本,積分的功能有問題,更換安裝包后,這個問題就解決了。 - 數值計算
3+3
evaluate:
6 - 符號計算
-
因式乘法
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))
