sage简介

Sage是免费、开源的数学软件,可用于代数、几何、数论、密码学、数值计算以及其他相关领域的教学和科研。Sage的总体目标是成为一个实用的、免费的、开源的数学软件以代替Maple,Mathematica,Magma和MATLAB。(Sage应该是一个数学工具箱,它将很多开源的数学软件粘和在一起,同时可以和很多商业的数学软件进行衔接。)
Sage的使用界面分为两种一种是命令行版,一种是浏览器版。在命令行模式下输入notebook(),即可进入浏览器版。两种模式的主要区别之一是:命令行模式下每次只能执行一条命令,而浏览器版可以在输入多条命令后,键入shift+enter按序一次执行。
Sage使用的python语言,因此需注意不同的块一定要保持缩进一致。

1、常见运算符
    1.1 + - * / ^ **
        ^和**意思一样:2^3和2**3结果一样
    1.2 %:取余;//:取整
        注意两边必须是整数。
    1.3 == != >= <= > <
    1.4 其他
        sqrt:开方
        factorial:阶乘

2、运算精度
    如表达式中的数字都是整数,则运算结果为精确结果,否则为近似结果。(对于pi和e等常量例外)
        例如:sin(1/2)和sin(0.5)
    使用函数n可以强制使用近似值。(默认15位有效数字)
        例如:n(sqrt(2))
        可以使用参数digits指定有效数字的位数。有两种写法,如n(pi,digits=5)和pi.n(digits=5)。(注意digits不能省略)
        另外函数n只是改变显示方式,并不改变数字本身。如:n(sqrt(2),digits=5)**2

3、查找帮助
    加个?即可。如n?、sin?等。
    也可使用tab补全辅助输入函数名。
   
4、定义自己的函数(def)
    def 函数名(变量名):
        中间过程
        return 返回值
    例如:
    def f(x):
        return factorial(x)
    f(3)    #返回3的阶乘

5、for循环控制
    for i in range(10):
        print i
    for i in range(3,10):
        print i
    for i in range(4,10,2):
        print i
    注意:注意块起始的冒号;循环控制不包括最后的那个点(这个例子中是10)。

6、常用数据结构
    6.1 list:任意对象的列表,下标从0开始。
        len(v):得到v的长度;
        v.append(obj):向v的末尾添加新的对象;
        del v[i]:删除v的第i个元素。
        例如:
        v = [1, "hello", 2/3, sin(x^3)]
        print v[1]
    6.2 dictionary:即哈希表、键值对
        例如:
        d = {'hi':-2,  3/8:pi,   e:pi}
        print d['hi']

7、解方程
    例如:
    solve(x^2 + 3*x + 2, x)
    solve([x^2 + b*x + c == 0],x)
    solve([x+y==6, x-y==4], x, y)
    find_root(cos(phi)==sin(phi),0,pi/2)    #注意要注明区间

8、微分和积分
    微分:
        diff(sin(u), u)
        diff(sin(x^2), x, 4) #四阶微分
    偏微分:
        f = x^2 + 17*y^2
        f.diff(x)
        f.diff(y)
    积分:
        integral(x*sin(x^2), x) #不定积分
        integral(x/(x^2+1), x, 0, 1) #定积分

9、部分分式分解
    f = 1/((1+x)*(x-1))
    f.partial_fraction(x)

参考网址:
1、http://ai7.org/wp/html/682.html
2、http://www.lainme.com/doku.php/topic/sage/start

你可能感兴趣的:(sage简介)