sage笔记

一、命令行
    sage -h: 查看常用参数
    sage -advanced: 列出所有可用参数
    sage -n: 直接启动notebook模式
    sage -R: 运行R
    sage -optional: 列出可安装的所有可选包
    sage -standard: 列出可安装的所有标准包
    sage -i [包]: 安装所需的包,如果未给出包名称,则列出已安装包
    sage -upgrade: 升级
    sage: 启动sage
    
二、notebook
    由若干个格子组成,一个格子是一个输入输出块。
    1、启动
        sage -n 或者启动sage后输入notebook()。
    2、执行计算
        多条命令输入,按enter分割。
        输入完毕,按shift+enter开始计算。
    3、tab补全
    4、插入新格子(两种方法)
        4.1 alt+enter
        4.2 将鼠标移到一个格子的上边界或下边界,会出现一道粗线,点击即可
    5、合并和切割格子
        5.1 ctrl+enter将当前格子分为两个并分别计算
        5.2 ctrl+backspace将当前格子与上一个合并
    6、删除格子:backspace
    7、隐藏输出结果
        在结果左侧点击切换显示方式
       
三、符号计算
    先使用var定义变量,如var('a,b,c')。
    
    一个方程(关系表达式)可以赋值给一个变量,即用一个变量表示一个方程(关系表达式)。
        如equ= y >= x^2
        可以对equ进行加减乘除等运算,每一个运算都同时对关系表达式两侧进行。
            注意一个关系表达式在运算前为真,有可能在运算后为假。
        可以对两个关系表达式进行加减乘除,但要注意两个关系表达式的符号要相同。如:
            equ1= x^2+2*x+1 >= 3*x^2+x+5
            equ2= x+6 >= 6*x^2+9*x
            两个关系表达式都为>=
    
    除关系表达式外,任意sage数据类型都可以参与符号运算。如:
        e1= (a+b+c)^2
        expand(e1)
        M = matrix(2,2,[x,y,z,x])
        v = vector([x,y])
        M * v
    
    正负无穷的表示:+oo、-oo、+infinity、-infinity、unsigned_infinity
    
四、符号表达式函数:
    n:计算近似值
    Order:阶,即表达式的最高阶
    factorial:阶乘
    arccos:反余弦;arccosh:反双曲余弦
        arcsin、arcsinh、arctan、arctanh
        sin、sinh、cos、cosh、tan、tanh
        arctan2:两参数的反正切,如x.arctan2(y)、arctan2(1,2)
    args、arguments:返回表达式中的参数(字母排序)
        function:指明表达式中哪个字母是参数,如
            f=x+y
            f.args()
            g=f.function(x)
            g.args()
        variables:返回表达式的变量(字母排序)。注:和args的区别不明。
            defaule_variables:返回第一个变量,即variables()产生的结果列表中的第一个。
                如果表达式中没有变量,则返回x。
    assume:假设,如assume(x>2),即假设x>2,注意前后上下文的假设不能冲突
        forget:取消之前的假设,在假设使用完毕后使用,否则可能会对后续计算产生影响,如:
            assume(x>2)
            assume(x>3)
            forget()
    bool:返回表达式的布尔值,如bool(x>3)
    binomial:返回二项式系数,参数为数字返回计算结果,参数为字母返回表达式。见binomial?
        注意:x.binomial(3)和binomial(x,3)的返回形式是不一样的(虽然结果一样)。
    coeff(s,n):返回表达式中s的n次方那一项的系数,n默认为1。
        coeffs:返回方程中某一变量不同次方的系数,以列表形式给出结果。如:
            f=2*x^2 + 3*x + 1
            f.coeffs()
        注:coeff和coeffs也可写为coefficient和coefficients。
    collect:根据所给参数合并同类项,如:
        f = 100 + a*x + x^3*sin(x*y) + x*y + x/y + 2*sin(x*y)/x
        f.collect(x)
        f.collect(sin(x*y))
        collect_common_factors():合并同类项时约去分子分母中的公因子。如:
            (x/(x^2 + x)).collect_common_factors()
    combine:将分母相同的项进行合并(不进行通分)
    conjugate:返回共轭复数
    contradicts:若所给表达式与已知表达式矛盾,返回true。如:
        (x<3).contradicts(x==0) #返回false
        (x<y).contradicts(x==30) #返回false
        (x<y).contradicts({x: 30, y: 20}) #返回true
    convert:单位转换,使用unit包,如:
        units.length.foot.convert()
        units.mass.kilogram.convert(units.mass.pound)
    csgn:返回参数的符号。正数返回1,负数返回-1,0返回0,未知数x返回csgn(x)。
        如:SR(-2).csgn()    #不能使用csgn(-2)。
        在某些情况下数字参与符号计算需使用SR限定在符号域(Symbolic Ring)。
    normalize:将表达式通分,变为分数形式。
        denominator:返回表达式的分母部分,默认normalize=true。
        numerator:返回表达式的分子部分,默认normalize=true。
        numerator_denominator:分别返回表达式的分子和分母部分,默认normalize=true。
        对于非分数形式的表达式,若使用参数normalize=false,则分子返回整个表达式,分母返回1。
    diff:返回表达式的导数。diff也可写为differentiate和derivative。
        diff的参数可以使用多个变量。如:
        t = (x^2+y)^2
        t.differentiate(x,2,y,y)
    exp_simplify:对包含对数、指数和开方的表达式进行简化。
        也可写为radical_simplify、simplify_radical、simplify_exp。
        注:若简化结果为0,则返回0。(使用的算法是Maxima radcan())
    expand:展开式。expand_rational功能相同。
        expand_log:当表达式中的对数部分包含乘方、乘积和比值时,对表达式的对数部分进行展开。
        expand_trig(full=False, half_angles=False, plus=True, times=True):
            对三角函数和双曲函数中的角度之和与角度之积进行展开。
            注:trig_expand和expand_trig功能相同。
        factorial_simplify:将包含阶乘的表达式进行展开计算
            注:simplify_factorial
    factor:因式分解。
        factor_list:返回因式分解后的因子列表。如:4
            f = expand((2*u*v^2-v^2-4*u^3)^2 * (-u)^3 * (x-sin(x))^3)
            f.factor()
            f.factor_list()
    find:返回所有符合模式的表达式,当一个子表达式符合模式时,不查找子表达式的子表达式。
        注:使用SR.wild定义通配符,见SR.wild?
    find_maximum_on_interval:返回表达式在区间[a,b]上的最大值及对应的自变量值。
    find_minimum_on_interval:返回表达式在区间[a,b]上的最小值及对应的自变量值。

 

待续

转载于:https://my.oschina.net/explore/blog/56057

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值