Ticket #9880: trac_9880-fix_doctests-be.patch

File trac_9880-fix_doctests-be.patch, 58.6 KB (added by burcin, 10 years ago)
  • sage/calculus/calculus.py

    # HG changeset patch
    # User Burcin Erocal <burcin@erocal.org>
    # Date 1322237282 -3600
    # Node ID 2bc4681299656f5724535ce35b995fd142b12a99
    # Parent  d78cf5ad0709bfedb67054eff2242d5c15a90f65
    [mq]: trac_9880-fix_doctests-be.patch
    
    diff --git a/sage/calculus/calculus.py b/sage/calculus/calculus.py
    a b  
    109109    [   (r, theta) |--> cos(theta) (r, theta) |--> -r*sin(theta)]
    110110    [   (r, theta) |--> sin(theta)  (r, theta) |--> r*cos(theta)]
    111111    sage: T.diff().det() # Jacobian
    112     (r, theta) |--> r*sin(theta)^2 + r*cos(theta)^2
     112    (r, theta) |--> r*cos(theta)^2 + r*sin(theta)^2
    113113
    114114When the order of variables is ambiguous, Sage will raise an
    115115exception when differentiating::
     
    180180::
    181181
    182182    sage: f(x,y) = log(x)*cos(y); f
    183     (x, y) |--> log(x)*cos(y)
     183    (x, y) |--> cos(y)*log(x)
    184184
    185185Then we have fixed an order of variables and there is no ambiguity
    186186substituting or evaluating::
     
    243243    sage: ComplexField(200)(sin(I))
    244244    1.1752011936438014568823818505956008151557179813340958702296*I
    245245    sage: f = sin(I) + cos(I/2); f
    246     sin(I) + cos(1/2*I)
     246    cos(1/2*I) + sin(I)
    247247    sage: CC(f)
    248248    1.12762596520638 + 1.17520119364380*I
    249249    sage: ComplexField(200)(f)
     
    344344Check that the problem with Taylor expansions of the gamma function
    345345(Trac #9217) is fixed::
    346346
    347     sage: taylor(gamma(1/3+x),x,0,3)      # random output - remove this in trac #9880
     347    sage: taylor(gamma(1/3+x),x,0,3)
    348348    -1/432*((36*(pi*sqrt(3) + 9*log(3))*euler_gamma^2 + 27*pi^2*log(3) + 72*euler_gamma^3 + 243*log(3)^3 + 18*(6*pi*sqrt(3)*log(3) + pi^2 + 27*log(3)^2 + 12*psi(1, 1/3))*euler_gamma + 324*psi(1, 1/3)*log(3) + (pi^3 + 9*(9*log(3)^2 + 4*psi(1, 1/3))*pi)*sqrt(3))*gamma(1/3) - 72*gamma(1/3)*psi(2, 1/3))*x^3 + 1/24*(6*pi*sqrt(3)*log(3) + 4*(pi*sqrt(3) + 9*log(3))*euler_gamma + pi^2 + 12*euler_gamma^2 + 27*log(3)^2 + 12*psi(1, 1/3))*x^2*gamma(1/3) - 1/6*(6*euler_gamma + pi*sqrt(3) + 9*log(3))*x*gamma(1/3) + gamma(1/3)
    349349    sage: map(lambda f:f[0].n(), _.coeffs())  # numerical coefficients to make comparison easier; Maple 12 gives same answer
    350350    [2.6789385347..., -8.3905259853..., 26.662447494..., -80.683148377...]
     
    353353
    354354    sage: k = var("k")
    355355    sage: sum(1/(1+k^2), k, -oo, oo)
    356     1/2*I*psi(-I) - 1/2*I*psi(I) + 1/2*I*psi(-I + 1) - 1/2*I*psi(I + 1)
     356    -1/2*I*psi(I + 1) + 1/2*I*psi(-I + 1) - 1/2*I*psi(I) + 1/2*I*psi(-I)
    357357
    358358Ensure that ticket #8624 is fixed::
    359359
     
    460460    ::
    461461
    462462        sage: symbolic_sum(k * binomial(n, k), k, 1, n)
    463         n*2^(n - 1)
     463        2^(n - 1)*n
    464464
    465465    ::
    466466
     
    14081408    EXAMPLES::
    14091409
    14101410        sage: a = lim(exp(x^2)*(1-erf(x)), x=infinity); a
    1411         limit(-e^(x^2)*erf(x) + e^(x^2), x, +Infinity)
     1411        limit(-erf(x)*e^(x^2) + e^(x^2), x, +Infinity)
    14121412        sage: a = sage.calculus.calculus.dummy_limit(sin(x)/x, x, 0);a
    14131413        limit(sin(x)/x, x, 0)
    14141414    """
     
    16111611    Trac #8459 fixed::
    16121612
    16131613        sage: maxima('3*li[2](u)+8*li[33](exp(u))').sage()
    1614         3*polylog(2, u) + 8*polylog(33, e^u)
     1614        8*polylog(33, e^u) + 3*polylog(2, u)
    16151615
    16161616    Check if #8345 is fixed::
    16171617
  • sage/calculus/desolvers.py

    diff --git a/sage/calculus/desolvers.py b/sage/calculus/desolvers.py
    a b  
    141141        sage: y = function('y', x)
    142142        sage: de = diff(y,x,2) - y == x
    143143        sage: desolve(de, y)
    144         k1*e^x + k2*e^(-x) - x
     144        k2*e^(-x) + k1*e^x - x
    145145       
    146146
    147147    ::
    148148
    149149        sage: f = desolve(de, y, [10,2,1]); f
    150         -x + 5*e^(-x + 10) + 7*e^(x - 10)
     150        -x + 7*e^(x - 10) + 5*e^(-x + 10)
    151151
    152152    ::
    153153
     
    163163
    164164        sage: de = diff(y,x,2) + y == 0
    165165        sage: desolve(de, y)
    166         k1*sin(x) + k2*cos(x)
     166        k2*cos(x) + k1*sin(x)
    167167
    168168    ::
    169169
    170170        sage: desolve(de, y, [0,1,pi/2,4])
    171         4*sin(x) + cos(x)
     171        cos(x) + 4*sin(x)
    172172
    173173    ::
    174174
     
    220220    ::
    221221
    222222        sage: desolve(diff(y,x)*sin(y) == cos(x),y,[pi/2,1])
    223         -cos(y(x)) == sin(x) - cos(1) - 1
     223        -cos(y(x)) == -cos(1) + sin(x) - 1
    224224
    225225    Linear equation - Sage returns the expression on the right hand side only::
    226226
    227227        sage: desolve(diff(y,x)+(y) == cos(x),y)
    228         1/2*((sin(x) + cos(x))*e^x + 2*c)*e^(-x)
     228        1/2*((cos(x) + sin(x))*e^x + 2*c)*e^(-x)
    229229
    230230    ::
    231231
    232232        sage: desolve(diff(y,x)+(y) == cos(x),y,show_method=True)
    233         [1/2*((sin(x) + cos(x))*e^x + 2*c)*e^(-x), 'linear']
     233        [1/2*((cos(x) + sin(x))*e^x + 2*c)*e^(-x), 'linear']
    234234
    235235    ::
    236236
    237237        sage: desolve(diff(y,x)+(y) == cos(x),y,[0,1])
    238         1/2*(e^x*sin(x) + e^x*cos(x) + 1)*e^(-x)
     238        1/2*(cos(x)*e^x + e^x*sin(x) + 1)*e^(-x)
    239239
    240240    This ODE with separated variables is solved as
    241241    exact. Explanation - factor does not split `e^{x-y}` in Maxima
     
    313313    ::
    314314       
    315315        sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,[0,3,pi/2,2])
    316         3*((e^(1/2*pi) - 2)*x/pi + 1)*e^(-x) + 1/2*sin(x)
     316        3*(x*(e^(1/2*pi) - 2)/pi + 1)*e^(-x) + 1/2*sin(x)
    317317       
    318318    ::
    319319       
    320320        sage: desolve(diff(y,x,2)+2*diff(y,x)+y == cos(x),y,[0,3,pi/2,2],show_method=True)
    321         [3*((e^(1/2*pi) - 2)*x/pi + 1)*e^(-x) + 1/2*sin(x), 'variationofparameters']
     321        [3*(x*(e^(1/2*pi) - 2)/pi + 1)*e^(-x) + 1/2*sin(x), 'variationofparameters']
    322322       
    323323    ::
    324324       
     
    343343    ::
    344344       
    345345        sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,[0,3,pi/2,2])
    346         (2*(2*e^(1/2*pi) - 3)*x/pi + 3)*e^(-x)
     346        (2*x*(2*e^(1/2*pi) - 3)/pi + 3)*e^(-x)
    347347       
    348348    ::
    349349       
    350350        sage: desolve(diff(y,x,2)+2*diff(y,x)+y == 0,y,[0,3,pi/2,2],show_method=True)
    351         [(2*(2*e^(1/2*pi) - 3)*x/pi + 3)*e^(-x), 'constcoeff']
     351        [(2*x*(2*e^(1/2*pi) - 3)/pi + 3)*e^(-x), 'constcoeff']
    352352       
    353353    TESTS:
    354354   
     
    691691        sage: de2 = diff(y,t) - x + 1 == 0
    692692        sage: desolve_system([de1, de2], [x,y])
    693693        [x(t) == (x(0) - 1)*cos(t) - (y(0) - 1)*sin(t) + 1,
    694          y(t) == (x(0) - 1)*sin(t) + (y(0) - 1)*cos(t) + 1]
     694         y(t) == (y(0) - 1)*cos(t) + (x(0) - 1)*sin(t) + 1]
    695695         
    696696    Now we give some initial conditions::
    697697   
  • sage/calculus/functional.py

    diff --git a/sage/calculus/functional.py b/sage/calculus/functional.py
    a b  
    9393        (a, x)
    9494        sage: f = exp(sin(a - x^2))/x
    9595        sage: derivative(f, x)
    96         -2*e^(sin(-x^2 + a))*cos(-x^2 + a) - e^(sin(-x^2 + a))/x^2
     96        -2*cos(-x^2 + a)*e^(sin(-x^2 + a)) - e^(sin(-x^2 + a))/x^2
    9797        sage: derivative(f, a)
    98         e^(sin(-x^2 + a))*cos(-x^2 + a)/x
     98        cos(-x^2 + a)*e^(sin(-x^2 + a))/x
    9999   
    100100    Syntax for repeated differentiation::
    101101   
     
    167167    ::
    168168   
    169169        sage: integral(x/(x^3-1), x)
    170         1/3*sqrt(3)*arctan(1/3*(2*x + 1)*sqrt(3)) + 1/3*log(x - 1) - 1/6*log(x^2 + x + 1)
     170        1/3*sqrt(3)*arctan(1/3*sqrt(3)*(2*x + 1)) - 1/6*log(x^2 + x + 1) + 1/3*log(x - 1)
    171171   
    172172    ::
    173173   
     
    214214    Note, however, that::
    215215   
    216216        sage: integral( exp(-x^2)*ln(x), x, 0, oo)
    217         -1/4*(euler_gamma + 2*log(2))*sqrt(pi)
     217        -1/4*sqrt(pi)*(euler_gamma + 2*log(2))
    218218   
    219219    This definite integral is easy::
    220220   
     
    328328    it unevaluated::
    329329   
    330330        sage: lim(exp(x^2)*(1-erf(x)), x=infinity)
    331         limit(-e^(x^2)*erf(x) + e^(x^2), x, +Infinity)
     331        limit(-erf(x)*e^(x^2) + e^(x^2), x, +Infinity)
    332332    """
    333333    if not isinstance(f, Expression):
    334334        f = SR(f)
     
    371371    Taylor polynomial in two variables::
    372372
    373373        sage: x,y=var('x y'); taylor(x*y^3,(x,1),(y,-1),4)
    374         (y + 1)^3*(x - 1) + (y + 1)^3 - 3*(y + 1)^2*(x - 1) - 3*(y + 1)^2 + 3*(y + 1)*(x - 1) - x + 3*y + 3
     374        (x - 1)*(y + 1)^3 - 3*(x - 1)*(y + 1)^2 + (y + 1)^3 + 3*(x - 1)*(y + 1) - 3*(y + 1)^2 - x + 3*y + 3
    375375    """
    376376    if not isinstance(f, Expression):
    377377        f = SR(f)
     
    382382    EXAMPLES::
    383383   
    384384        sage: a = (x-1)*(x^2 - 1); a
    385         (x - 1)*(x^2 - 1)
     385        (x^2 - 1)*(x - 1)
    386386        sage: expand(a)
    387387        x^3 - x^2 - x + 1
    388388   
  • sage/calculus/functions.py

    diff --git a/sage/calculus/functions.py b/sage/calculus/functions.py
    a b  
    5454    Two-by-two Wronskian of sin(x) and e^x::
    5555   
    5656        sage: wronskian(sin(x), e^x, x)
    57         e^x*sin(x) - e^x*cos(x)
     57        -cos(x)*e^x + e^x*sin(x)
    5858
    5959    Or don't put x last::
    6060   
    6161        sage: wronskian(x, sin(x), e^x)
    62         (e^x*sin(x) + e^x*cos(x))*x - 2*e^x*sin(x)
     62        (cos(x)*e^x + e^x*sin(x))*x - 2*e^x*sin(x)
    6363
    6464    Example where one of the functions is constant::
    6565   
  • sage/calculus/test_sympy.py

    diff --git a/sage/calculus/test_sympy.py b/sage/calculus/test_sympy.py
    a b  
    157157    sage: type(e)
    158158    <type 'sage.symbolic.expression.Expression'>
    159159    sage: e
    160     sin(y) + cos(x)
     160    cos(x) + sin(y)
    161161    sage: e = sage.all.cos(var("y")**3)**4+var("x")**2
    162162    sage: e = e._sympy_()
    163163    sage: e
  • sage/calculus/tests.py

    diff --git a/sage/calculus/tests.py b/sage/calculus/tests.py
    a b  
    2626::
    2727
    2828    sage: christoffel(3,3,2, [t,r,theta,phi], m)
    29     -sin(theta)*cos(theta)
     29    -cos(theta)*sin(theta)
    3030    sage: X = christoffel(1,1,1,[t,r,theta,phi],m)
    3131    sage: X
    32      1/2/((1/r - 1)*r^2)
     32    1/2/(r^2*(1/r - 1))
    3333    sage: X.rational_simplify()
    3434     -1/2/(r^2 - r)
    3535
     
    6868    sage: g(x) = cos(x) + x^3
    6969    sage: u = f(x+t) + g(x-t)
    7070    sage: u
    71     -(t - x)^3 + sin((t + x)^2) + cos(-t + x)
     71    -(t - x)^3 + cos(-t + x) + sin((t + x)^2)
    7272    sage: u.diff(t,2) - u.diff(x,2)
    7373    0
    7474
     
    9595    sage: derivative(arctan(x), x)
    9696    1/(x^2 + 1)
    9797    sage: derivative(x^n, x, 3)
    98     (n - 2)*(n - 1)*n*x^(n - 3)
     98    (n - 1)*(n - 2)*n*x^(n - 3)
    9999    sage: derivative( function('f')(x), x)
    100100    D[0](f)(x)   
    101101    sage: diff( 2*x*f(x^2), x)
    102102    4*x^2*D[0](f)(x^2) + 2*f(x^2)
    103103    sage: integrate( 1/(x^4 - a^4), x)
    104     1/4*log(-a + x)/a^3 - 1/4*log(a + x)/a^3 - 1/2*arctan(x/a)/a^3
     104    -1/2*arctan(x/a)/a^3 - 1/4*log(a + x)/a^3 + 1/4*log(-a + x)/a^3
    105105    sage: expand(integrate(log(1-x^2), x))
    106     x*log(-x^2 + 1) - 2*x - log(x - 1) + log(x + 1)
     106    x*log(-x^2 + 1) - 2*x + log(x + 1) - log(x - 1)
    107107    sage: integrate(log(1-x^2)/x, x)
    108     1/2*log(-x^2 + 1)*log(x^2) + 1/2*polylog(2, -x^2 + 1)
     108    1/2*log(x^2)*log(-x^2 + 1) + 1/2*polylog(2, -x^2 + 1)
    109109    sage: integrate(exp(1-x^2),x)
    110     1/2*sqrt(pi)*e*erf(x)
     110    1/2*sqrt(pi)*erf(x)*e
    111111    sage: integrate(sin(x^2),x)
    112     1/8*((I - 1)*sqrt(2)*erf((1/2*I - 1/2)*sqrt(2)*x) + (I + 1)*sqrt(2)*erf((1/2*I + 1/2)*sqrt(2)*x))*sqrt(pi)   
     112    1/8*sqrt(pi)*((I + 1)*sqrt(2)*erf((1/2*I + 1/2)*sqrt(2)*x) + (I - 1)*sqrt(2)*erf((1/2*I - 1/2)*sqrt(2)*x))
    113113
    114114    sage: integrate((1-x^2)^n,x)
    115115    integrate((-x^2 + 1)^n, x)
    116116    sage: integrate(x^x,x)
    117117    integrate(x^x, x)
    118118    sage: integrate(1/(x^3+1),x)
    119     1/3*sqrt(3)*arctan(1/3*(2*x - 1)*sqrt(3)) + 1/3*log(x + 1) - 1/6*log(x^2 - x + 1)
     119    1/3*sqrt(3)*arctan(1/3*sqrt(3)*(2*x - 1)) - 1/6*log(x^2 - x + 1) + 1/3*log(x + 1)
    120120    sage: integrate(1/(x^3+1), x, 0, 1)
    121     1/9*pi*sqrt(3) + 1/3*log(2)
     121    1/9*sqrt(3)*pi + 1/3*log(2)
    122122
    123123::
    124124
     
    161161    sage: diff(sin(x), x, 3)
    162162    -cos(x)
    163163    sage: diff(x*sin(cos(x)), x)
    164     -x*sin(x)*cos(cos(x)) + sin(cos(x))
     164    -x*cos(cos(x))*sin(x) + sin(cos(x))
    165165    sage: diff(tan(x), x)
    166166    tan(x)^2 + 1
    167167    sage: f = function('f'); f
     
    192192::
    193193
    194194    sage: integrate( x/(x^3-1), x)
    195     1/3*sqrt(3)*arctan(1/3*(2*x + 1)*sqrt(3)) + 1/3*log(x - 1) - 1/6*log(x^2 + x + 1)
     195    1/3*sqrt(3)*arctan(1/3*sqrt(3)*(2*x + 1)) - 1/6*log(x^2 + x + 1) + 1/3*log(x - 1)
    196196    sage: integrate(exp(-x^2), x)
    197197    1/2*sqrt(pi)*erf(x)   
    198198    sage: integrate(exp(-x^2)*log(x), x)       # todo: maple can compute this exactly.
     
    210210    sage: function('f, g')
    211211    (f, g)
    212212    sage: diff(f(t)*g(t),t)
    213     f(t)*D[0](g)(t) + g(t)*D[0](f)(t)
     213    g(t)*D[0](f)(t) + f(t)*D[0](g)(t)
    214214    sage: diff(f(t)/g(t), t)
    215     -f(t)*D[0](g)(t)/g(t)^2 + D[0](f)(t)/g(t)
     215    D[0](f)(t)/g(t) - f(t)*D[0](g)(t)/g(t)^2
    216216    sage: diff(f(t) + g(t), t)
    217217    D[0](f)(t) + D[0](g)(t)   
    218218    sage: diff(c*f(t), t)
  • sage/calculus/var.pyx

    diff --git a/sage/calculus/var.pyx b/sage/calculus/var.pyx
    a b  
    189189    method to replace functions::
    190190   
    191191        sage: k.substitute_function(supersin, sin)
    192         2*sin(x)*cos(x)
     192        2*cos(x)*sin(x)
    193193    """
    194194    if len(args) > 0:
    195195        return function(s, **kwds)(*args)
     
    223223        ...
    224224        NameError: name 'x' is not defined
    225225        sage: expand((e + i)^2)
    226         2*I*e + e^2 - 1
     226        e^2 + 2*I*e - 1
    227227        sage: k
    228228        15       
    229229    """
  • sage/calculus/wester.py

    diff --git a/sage/calculus/wester.py b/sage/calculus/wester.py
    a b  
    2929
    3030    sage: # (YES) Evaluate  e^(Pi*Sqrt(163)) to 50 decimal digits
    3131    sage: a = e^(pi*sqrt(163)); a
    32     e^(pi*sqrt(163))
     32    e^(sqrt(163)*pi)
    3333    sage: print RealField(150)(a)
    3434    2.6253741264076874399999999999925007259719820e17
    3535
     
    156156
    157157    sage: # (YES) Factorize x^100-1.
    158158    sage: factor(x^100-1)
    159     (x - 1)*(x + 1)*(x^2 + 1)*(x^4 - x^3 + x^2 - x + 1)*(x^4 + x^3 + x^2 + x + 1)*(x^8 - x^6 + x^4 - x^2 + 1)*(x^20 - x^15 + x^10 - x^5 + 1)*(x^20 + x^15 + x^10 + x^5 + 1)*(x^40 - x^30 + x^20 - x^10 + 1)
     159    (x^40 - x^30 + x^20 - x^10 + 1)*(x^20 + x^15 + x^10 + x^5 + 1)*(x^20 - x^15 + x^10 - x^5 + 1)*(x^8 - x^6 + x^4 - x^2 + 1)*(x^4 + x^3 + x^2 + x + 1)*(x^4 - x^3 + x^2 - x + 1)*(x^2 + 1)*(x + 1)*(x - 1)
    160160    sage: # Also, algebraically
    161161    sage: x = polygen(QQ)
    162162    sage: factor(x^100 - 1)
     
    193193    sage: f = (x^2+2*x+3)/(x^3+4*x^2+5*x+2); f
    194194    (x^2 + 2*x + 3)/(x^3 + 4*x^2 + 5*x + 2)
    195195    sage: f.partial_fraction()
    196     -2/(x + 1) + 2/(x + 1)^2 + 3/(x + 2)
     196    3/(x + 2) - 2/(x + 1) + 2/(x + 1)^2
    197197
    198198::
    199199
     
    233233    sage: eqn = prod(x-i for i in range(1,5 +1)) < 0
    234234    sage: # but don't know how to solve
    235235    sage: eqn
    236     (x - 5)*(x - 4)*(x - 3)*(x - 2)*(x - 1) < 0
     236    (x - 1)*(x - 2)*(x - 3)*(x - 4)*(x - 5) < 0
    237237
    238238::
    239239
     
    287287
    288288    sage: # (YES) (2^(1/3) + 4^(1/3))^3 - 6*(2^(1/3) + 4^(1/3))-6 = 0
    289289    sage: a = (2^(1/3) + 4^(1/3))^3 - 6*(2^(1/3) + 4^(1/3)) - 6; a
    290     (2^(1/3) + 4^(1/3))^3 - 6*2^(1/3) - 6*4^(1/3) - 6
     290    (4^(1/3) + 2^(1/3))^3 - 6*4^(1/3) - 6*2^(1/3) - 6
    291291    sage: bool(a==0)
    292292    True
    293293    sage: abs(float(a)) < 1e-10
     
    339339    sage: assume(r>0)
    340340    sage: f = (4*r+4*sqrt(r)+1)^(sqrt(r)/(2*sqrt(r)+1))*(2*sqrt(r)+1)^(2*sqrt(r)+1)^(-1)-2*sqrt(r)-1
    341341    sage: f
    342     (2*sqrt(r) + 1)^(1/(2*sqrt(r) + 1))*(4*r + 4*sqrt(r) + 1)^(sqrt(r)/(2*sqrt(r) + 1)) - 2*sqrt(r) - 1
     342    (4*r + 4*sqrt(r) + 1)^(sqrt(r)/(2*sqrt(r) + 1))*(2*sqrt(r) + 1)^(1/(2*sqrt(r) + 1)) - 2*sqrt(r) - 1
    343343    sage: bool(f == 0)
    344344    False
    345345    sage: [abs(float(f(r=i))) < 1e-10 for i in [0.1,0.3,0.5]]
     
    362362    sage: a = tan(z); a
    363363    tan(z)
    364364    sage: a.real()
    365     tan(real_part(z))/(tan(real_part(z))^2*tan(imag_part(z))^2 + 1)
     365    tan(real_part(z))/(tan(imag_part(z))^2*tan(real_part(z))^2 + 1)
    366366    sage: a.imag()
    367     tanh(imag_part(z))/(tan(real_part(z))^2*tan(imag_part(z))^2 + 1)
     367    tanh(imag_part(z))/(tan(imag_part(z))^2*tan(real_part(z))^2 + 1)
    368368
    369369
    370370::
     
    445445    [  1   d d^2 d^3]
    446446    sage: d = m.determinant()
    447447    sage: d.factor()
    448     (c - d)*(b - d)*(b - c)*(a - d)*(a - c)*(a - b)
     448    (a - b)*(a - c)*(a - d)*(b - c)*(b - d)*(c - d)
    449449
    450450::
    451451
     
    545545    sage: # (YES) Taylor expansion of Ln(x)^a*Exp(-b*x) at x=1.
    546546    sage: a,b = var('a,b')
    547547    sage: taylor(log(x)^a*exp(-b*x), x, 1, 3)
    548     -1/48*(x - 1)^3*((6*b + 5)*(x - 1)^a*a^2 + (x - 1)^a*a^3 + 8*(x - 1)^a*b^3 + 2*(6*b^2 + 5*b + 3)*(x - 1)^a*a)*e^(-b) + 1/24*(x - 1)^2*((12*b + 5)*(x - 1)^a*a + 3*(x - 1)^a*a^2 + 12*(x - 1)^a*b^2)*e^(-b) - 1/2*(x - 1)*((x - 1)^a*a + 2*(x - 1)^a*b)*e^(-b) + (x - 1)^a*e^(-b)
     548    -1/48*(a^3*(x - 1)^a + a^2*(6*b + 5)*(x - 1)^a + 8*b^3*(x - 1)^a + 2*(6*b^2 + 5*b + 3)*a*(x - 1)^a)*(x - 1)^3*e^(-b) + 1/24*(3*a^2*(x - 1)^a + a*(12*b + 5)*(x - 1)^a + 12*b^2*(x - 1)^a)*(x - 1)^2*e^(-b) - 1/2*(a*(x - 1)^a + 2*b*(x - 1)^a)*(x - 1)*e^(-b) + (x - 1)^a*e^(-b)
    549549   
    550550::
    551551
  • sage/functions/hyperbolic.py

    diff --git a/sage/functions/hyperbolic.py b/sage/functions/hyperbolic.py
    a b  
    9595        :meth:`sage.symbolic.expression.Expression.simplify`::
    9696
    9797            sage: sinh(arccosh(x),hold=True).simplify()
    98             sqrt(x - 1)*sqrt(x + 1)
     98            sqrt(x + 1)*sqrt(x - 1)
    9999
    100100        """
    101101        GinacFunction.__init__(self, "sinh", latex_name=r"\sinh")
     
    274274            sage: bool(diff(sech(x), x) == diff(1/cosh(x), x))
    275275            True
    276276            sage: diff(sech(x), x)
    277             -tanh(x)*sech(x)
     277            -sech(x)*tanh(x)
    278278        """
    279279        x = args[0]
    280280        return -sech(x)*tanh(x)
     
    665665        EXAMPLES::
    666666       
    667667            sage: diff(acsch(x), x)
    668             -1/(sqrt(1/x^2 + 1)*x^2)
     668            -1/(x^2*sqrt(1/x^2 + 1))
    669669        """
    670670        x = args[0]
    671671        return -1/(x**2 * (1 + x**(-2)).sqrt())
  • sage/functions/orthogonal_polys.py

    diff --git a/sage/functions/orthogonal_polys.py b/sage/functions/orthogonal_polys.py
    a b  
    433433        sage: gen_legendre_P(2, 0, t) == legendre_P(2, t)
    434434        True
    435435        sage: gen_legendre_P(3, 1, t)
    436         -3/2*sqrt(-t^2 + 1)*(5*t^2 - 1)
     436        -3/2*(5*t^2 - 1)*sqrt(-t^2 + 1)
    437437        sage: gen_legendre_P(4, 3, t)
    438         105*sqrt(-t^2 + 1)*(t^2 - 1)*t
     438        105*(t^2 - 1)*sqrt(-t^2 + 1)*t
    439439        sage: gen_legendre_P(7, 3, I).expand()
    440440        -16695*sqrt(2)
    441441        sage: gen_legendre_P(4, 1, 2.5)
  • sage/functions/other.py

    diff --git a/sage/functions/other.py b/sage/functions/other.py
    a b  
    666666            sage: gamma_inc(2,0)
    667667            1
    668668            sage: gamma_inc(1/2,2)
    669             -(erf(sqrt(2)) - 1)*sqrt(pi)
     669            -sqrt(pi)*(erf(sqrt(2)) - 1)
    670670            sage: gamma_inc(1/2,1)
    671             -(erf(1) - 1)*sqrt(pi)
     671            -sqrt(pi)*(erf(1) - 1)
    672672            sage: gamma_inc(1/2,0)
    673673            sqrt(pi)
    674674            sage: gamma_inc(x,0)
     
    15481548            sage: var('a')
    15491549            a
    15501550            sage: conjugate(a*sqrt(-2)*sqrt(-3))
    1551             conjugate(a)*conjugate(sqrt(-3))*conjugate(sqrt(-2))
     1551            conjugate(sqrt(-2))*conjugate(sqrt(-3))*conjugate(a)
    15521552        """
    15531553        GinacFunction.__init__(self, "conjugate")
    15541554
  • sage/functions/piecewise.py

    diff --git a/sage/functions/piecewise.py b/sage/functions/piecewise.py
    a b  
    11001100            sage: f(x) = x^2
    11011101            sage: f = Piecewise([[(-1,1),f]])
    11021102            sage: f._fourier_series_helper(3, 1, lambda n: 1)
    1103             -4*cos(pi*x)/pi^2 + cos(2*pi*x)/pi^2 + 1/3
     1103            cos(2*pi*x)/pi^2 - 4*cos(pi*x)/pi^2 + 1/3
    11041104        """
    11051105        from sage.all import pi, sin, cos, srange
    11061106        x = var('x')
     
    11271127            sage: f(x) = x^2
    11281128            sage: f = Piecewise([[(-1,1),f]])
    11291129            sage: f.fourier_series_partial_sum(3,1)
    1130             -4*cos(pi*x)/pi^2 + cos(2*pi*x)/pi^2 + 1/3
     1130            cos(2*pi*x)/pi^2 - 4*cos(pi*x)/pi^2 + 1/3
    11311131            sage: f1(x) = -1
    11321132            sage: f2(x) = 2
    11331133            sage: f = Piecewise([[(-pi,pi/2),f1],[(pi/2,pi),f2]])
    11341134            sage: f.fourier_series_partial_sum(3,pi)
    1135             -3*sin(2*x)/pi + 3*sin(x)/pi - 3*cos(x)/pi - 1/4
     1135            -3*cos(x)/pi - 3*sin(2*x)/pi + 3*sin(x)/pi - 1/4
    11361136        """
    11371137        return self._fourier_series_helper(N, L, lambda n: 1)
    11381138 
     
    11531153            sage: f(x) = x^2
    11541154            sage: f = Piecewise([[(-1,1),f]])
    11551155            sage: f.fourier_series_partial_sum_cesaro(3,1)
    1156             -8/3*cos(pi*x)/pi^2 + 1/3*cos(2*pi*x)/pi^2 + 1/3
     1156            1/3*cos(2*pi*x)/pi^2 - 8/3*cos(pi*x)/pi^2 + 1/3
    11571157            sage: f1(x) = -1
    11581158            sage: f2(x) = 2
    11591159            sage: f = Piecewise([[(-pi,pi/2),f1],[(pi/2,pi),f2]])
    11601160            sage: f.fourier_series_partial_sum_cesaro(3,pi)
    1161             -sin(2*x)/pi + 2*sin(x)/pi - 2*cos(x)/pi - 1/4
     1161            -2*cos(x)/pi - sin(2*x)/pi + 2*sin(x)/pi - 1/4
    11621162        """
    11631163        return self._fourier_series_helper(N, L, lambda n: 1-n/N)
    11641164
     
    11791179            sage: f(x) = x^2
    11801180            sage: f = Piecewise([[(-1,1),f]])
    11811181            sage: f.fourier_series_partial_sum_hann(3,1)
    1182             -3*cos(pi*x)/pi^2 + 1/4*cos(2*pi*x)/pi^2 + 1/3
     1182            1/4*cos(2*pi*x)/pi^2 - 3*cos(pi*x)/pi^2 + 1/3
    11831183            sage: f1(x) = -1
    11841184            sage: f2(x) = 2
    11851185            sage: f = Piecewise([[(-pi,pi/2),f1],[(pi/2,pi),f2]])
    11861186            sage: f.fourier_series_partial_sum_hann(3,pi)
    1187             -3/4*sin(2*x)/pi + 9/4*sin(x)/pi - 9/4*cos(x)/pi - 1/4
     1187            -9/4*cos(x)/pi - 3/4*sin(2*x)/pi + 9/4*sin(x)/pi - 1/4
    11881188        """
    11891189        from sage.all import cos, pi
    11901190        return self._fourier_series_helper(N, L, lambda n: (1+cos(pi*n/N))/2)
     
    12061206            sage: f(x) = x^2
    12071207            sage: f = Piecewise([[(-1,1),f]])
    12081208            sage: f.fourier_series_partial_sum_filtered(3,1,[1,1,1])
    1209             -4*cos(pi*x)/pi^2 + cos(2*pi*x)/pi^2 + 1/3
     1209            cos(2*pi*x)/pi^2 - 4*cos(pi*x)/pi^2 + 1/3
    12101210            sage: f1(x) = -1
    12111211            sage: f2(x) = 2
    12121212            sage: f = Piecewise([[(-pi,pi/2),f1],[(pi/2,pi),f2]])
    12131213            sage: f.fourier_series_partial_sum_filtered(3,pi,[1,1,1])
    1214             -3*sin(2*x)/pi + 3*sin(x)/pi - 3*cos(x)/pi - 1/4
     1214            -3*cos(x)/pi - 3*sin(2*x)/pi + 3*sin(x)/pi - 1/4
    12151215        """
    12161216        return self._fourier_series_helper(N, L, lambda n: F[n])
    12171217       
     
    15181518            sage: x, s, w = var('x, s, w')
    15191519            sage: f = Piecewise([[(0,1),1],[(1,2), 1-x]])
    15201520            sage: f.laplace(x, s)
    1521             (s + 1)*e^(-2*s)/s^2 - e^(-s)/s + 1/s - e^(-s)/s^2
     1521            -e^(-s)/s + (s + 1)*e^(-2*s)/s^2 + 1/s - e^(-s)/s^2
    15221522            sage: f.laplace(x, w)
    1523             (w + 1)*e^(-2*w)/w^2 - e^(-w)/w + 1/w - e^(-w)/w^2
     1523            -e^(-w)/w + (w + 1)*e^(-2*w)/w^2 + 1/w - e^(-w)/w^2
    15241524           
    15251525        ::
    15261526       
  • sage/functions/special.py

    diff --git a/sage/functions/special.py b/sage/functions/special.py
    a b  
    573573                sage: n(bessel_J(3,10,"maxima"))
    574574                0.0583793793051...
    575575                sage: spherical_hankel2(2,x)
    576                 (-I*x^2 - 3*x + 3*I)*e^(-I*x)/x^3
     576                -(I*x^2 + 3*x - 3*I)*e^(-I*x)/x^3
    577577            """
    578578            MaximaFunction.__init__(self, name)
    579579
     
    13271327    EXAMPLES::
    13281328   
    13291329        sage: spherical_hankel2(2, x)
    1330         (-I*x^2 - 3*x + 3*I)*e^(-I*x)/x^3
     1330        -(I*x^2 + 3*x - 3*I)*e^(-I*x)/x^3
    13311331   
    13321332    Here I = sqrt(-1).
    13331333    """
     
    13431343   
    13441344        sage: x,y = var('x,y')
    13451345        sage: spherical_harmonic(3,2,x,y)
    1346         1/8*sqrt(7)*sqrt(30)*e^(2*I*y)*sin(x)^2*cos(x)/sqrt(pi)
     1346        1/8*sqrt(30)*sqrt(7)*cos(x)*e^(2*I*y)*sin(x)^2/sqrt(pi)
    13471347        sage: spherical_harmonic(3,2,1,2)
    1348         1/8*sqrt(7)*sqrt(30)*e^(4*I)*sin(1)^2*cos(1)/sqrt(pi)
     1348        1/8*sqrt(30)*sqrt(7)*cos(1)*e^(4*I)*sin(1)^2/sqrt(pi)
    13491349    """
    13501350    _init()
    13511351    return meval("spherical_harmonic(%s,%s,%s,%s)"%(ZZ(m),ZZ(n),x,y))
  • sage/functions/trig.py

    diff --git a/sage/functions/trig.py b/sage/functions/trig.py
    a b  
    204204            sage: bool(diff(sec(x), x) == diff(1/cos(x), x))
    205205            True
    206206            sage: diff(sec(x), x)
    207             tan(x)*sec(x)
     207            sec(x)*tan(x)
    208208        """
    209209        return sec(x)*tan(x)
    210210       
     
    296296            sage: bool(diff(csc(x), x) == diff(1/sin(x), x))
    297297            True
    298298            sage: diff(csc(x), x)
    299             -csc(x)*cot(x)
     299            -cot(x)*csc(x)
    300300        """
    301301        return -csc(x)*cot(x)
    302302   
     
    687687        EXAMPLES::
    688688
    689689            sage: diff(acsc(x), x)
    690             -1/(sqrt(-1/x^2 + 1)*x^2)
     690            -1/(x^2*sqrt(-1/x^2 + 1))
    691691        """
    692692        return -1/(x**2 * (1 - x**(-2)).sqrt())
    693693
     
    750750        EXAMPLES::
    751751       
    752752            sage: diff(asec(x), x)
    753             1/(sqrt(-1/x^2 + 1)*x^2)
     753            1/(x^2*sqrt(-1/x^2 + 1))
    754754        """
    755755        return 1/(x**2 * (1 - x**(-2)).sqrt())
    756756   
  • sage/functions/wigner.py

    diff --git a/sage/functions/wigner.py b/sage/functions/wigner.py
    a b  
    243243        sage: clebsch_gordan(1.5,0.5,1, 1.5,-0.5,1)
    244244        1/2*sqrt(3)
    245245        sage: clebsch_gordan(3/2,1/2,1, -1/2,1/2,0)
    246         -sqrt(1/6)*sqrt(3)
     246        -sqrt(3)*sqrt(1/6)
    247247
    248248    NOTES:
    249249
  • sage/misc/functional.py

    diff --git a/sage/misc/functional.py b/sage/misc/functional.py
    a b  
    592592    ::
    593593
    594594        sage: sum(k * binomial(n, k), k, 1, n)
    595         n*2^(n - 1)
     595        2^(n - 1)*n
    596596
    597597    ::
    598598
     
    710710        sage: integral(sin(x)^2, x, algorithm='maxima')
    711711        1/2*x - 1/4*sin(2*x)
    712712        sage: integral(sin(x)^2, x, algorithm='sympy')
    713         -1/2*sin(x)*cos(x) + 1/2*x
     713        -1/2*cos(x)*sin(x) + 1/2*x
    714714    """
    715715    if hasattr(x, 'integral'):
    716716        return x.integral(*args, **kwds)
  • sage/rings/qqbar.py

    diff --git a/sage/rings/qqbar.py b/sage/rings/qqbar.py
    a b  
    568568
    569569            sage: x = polygen(SR)
    570570            sage: p = (x - sqrt(-5)) * (x - sqrt(3)); p
    571             x^2 + (-sqrt(-5) - sqrt(3))*x + sqrt(-5)*sqrt(3)
     571            x^2 + (-sqrt(3) - sqrt(-5))*x + sqrt(3)*sqrt(-5)
    572572            sage: p = QQbar.common_polynomial(p)
    573573            sage: a = QQbar.polynomial_root(p, CIF(RIF(-0.1, 0.1), RIF(2, 3))); a
    574574            0.?e-18 + 2.236067977499790?*I
  • sage/symbolic/callable.py

    diff --git a/sage/symbolic/callable.py b/sage/symbolic/callable.py
    a b  
    1515    sage: f(x, y, z) = sin(x+y+z)
    1616    sage: g(w, t) = cos(w - t)
    1717    sage: f + g
    18     (t, w, x, y, z) |--> sin(x + y + z) + cos(-t + w)
     18    (t, w, x, y, z) |--> cos(-t + w) + sin(x + y + z)
    1919
    2020::
    2121
  • sage/symbolic/constants.py

    diff --git a/sage/symbolic/constants.py b/sage/symbolic/constants.py
    a b  
    130130    sage: f^2
    131131    (I*e + I)^2
    132132    sage: _.expand()
    133     -2*e - e^2 - 1
     133    -e^2 - 2*e - 1
    134134   
    135135::
    136136
     
    180180floating point rings::
    181181
    182182    sage: a = pi + e + golden_ratio + log2 + euler_gamma + catalan + khinchin + twinprime + mertens; a
    183     pi + euler_gamma + catalan + golden_ratio + log2 + khinchin + twinprime + mertens + e
     183    mertens + twinprime + khinchin + log2 + golden_ratio + catalan + euler_gamma + pi + e
    184184    sage: parent(a)
    185185    Symbolic Ring
    186186    sage: RR(a)
  • sage/symbolic/expression.pyx

    diff --git a/sage/symbolic/expression.pyx b/sage/symbolic/expression.pyx
    a b  
    7878    sage: var('a,b,c')
    7979    (a, b, c)
    8080    sage: expand((u + v + a + b + c)^2)
    81     a^2 + b^2 + 2*a*b + c^2 + 2*a*c + 2*b*c + u^2 + 2*a*u + 2*b*u + 2*c*u + v^2 + 2*a*v + 2*b*v + 2*c*v + 2*u*v
     81    a^2 + 2*a*b + b^2 + 2*a*c + 2*b*c + c^2 + 2*a*u + 2*b*u + 2*c*u + u^2 + 2*a*v + 2*b*v + 2*c*v + 2*u*v + v^2
    8282
    8383TESTS:
    8484
     
    120120    sage: a.real_part()
    121121    4*sqrt(3)/(sqrt(3) + 5)
    122122    sage: a.imag_part()
    123     sqrt(abs(4*(sqrt(3) - 5)*(sqrt(3) + 5) + 48))/(sqrt(3) + 5)
     123    sqrt(abs(4*(sqrt(3) + 5)*(sqrt(3) - 5) + 48))/(sqrt(3) + 5)
    124124"""
    125125
    126126###############################################################################
     
    367367    def _dbgprint(self):
    368368        r"""
    369369        Print pynac debug output.
    370        
    371         EXAMPLES::
    372        
    373             sage: (1+x)._dbgprint()   # random output
     370
     371        This function prints to stderr. It is not doctested since the doctest
     372        script cannot handle output on stderr.
     373       
     374        EXAMPLES::
     375       
     376            sage: (1+x)._dbgprint()   # not tested
    374377            x + 1
    375378        """
    376379        self._gobj.dbgprint();
     
    379382        r"""
    380383        Print pynac debug output.
    381384       
    382         EXAMPLES::
    383        
    384             sage: (1+x+exp(x+1))._dbgprinttree()    # random output
     385        This function prints to stderr. It is not doctested since the doctest
     386        script cannot handle output on stderr.
     387       
     388        EXAMPLES::
     389       
     390            sage: (1+x+exp(x+1))._dbgprinttree()    # not tested
    385391            add @0x65e5960, hash=0x4727e01a, flags=0x3, nops=3
    386392                x (symbol) @0x6209150, serial=6, hash=0x2057b15e, flags=0xf, domain=0
    387393                1 (numeric) @0x3474cf0, hash=0x0, flags=0x7
     
    681687            sage: latex((x+2)/(x^3+1))
    682688            \frac{x + 2}{x^{3} + 1}
    683689            sage: latex((x+2)*(x+1)/(x^3+1))
    684             \frac{{\left(x + 1\right)} {\left(x + 2\right)}}{x^{3} + 1}
     690            \frac{{\left(x + 2\right)} {\left(x + 1\right)}}{x^{3} + 1}
    685691            sage: latex((x+2)/(x^3+1)/(x+1))
    686692            \frac{x + 2}{{\left(x^{3} + 1\right)} {\left(x + 1\right)}}
    687693
     
    12901296            sage: v,c = var('v,c')
    12911297            sage: assume(c != 0)
    12921298            sage: integral((1+v^2/c^2)^3/(1-v^2/c^2)^(3/2),v)
    1293             -75/8*sqrt(c^2)*arcsin(sqrt(c^2)*v/c^2) - 1/4*v^5/(c^4*sqrt(-v^2/c^2 + 1)) - 17/8*v^3/(c^2*sqrt(-v^2/c^2 + 1)) + 83/8*v/sqrt(-v^2/c^2 + 1)
     1299            -75/8*sqrt(c^2)*arcsin(sqrt(c^2)*v/c^2) + 83/8*v/sqrt(-v^2/c^2 + 1) - 17/8*v^3/(c^2*sqrt(-v^2/c^2 + 1)) - 1/4*v^5/(c^4*sqrt(-v^2/c^2 + 1))
    12941300            sage: forget()
    12951301        """
    12961302        from sage.symbolic.assumptions import _assumptions
     
    23682374
    23692375            # check if comparison of constant terms in Pynac add objects work
    23702376            sage: (y-1)*(y-2)
    2371             (y - 2)*(y - 1)
     2377            (y - 1)*(y - 2)
    23722378
    23732379        Check for simplifications when multiplying instances of exp::
    23742380
     
    25822588       
    25832589            sage: x,y = var('x,y')
    25842590            sage: x.__cmp__(y)
    2585             -1
     2591            1
    25862592            sage: x < y
    25872593            x < y
    25882594            sage: cmp(x,y)
    2589             -1
     2595            1
    25902596            sage: cmp(SR(0.5), SR(0.7))
    25912597            -1
    25922598            sage: SR(0.5) < SR(0.7)
     
    26192625            sage: a = sqrt(3)
    26202626            sage: b = x^2+1
    26212627            sage: a.__cmp__(b)   # indirect doctest
    2622             1
     2628            -1
    26232629        """
    26242630        return print_order_compare(left._gobj, (<Expression>right)._gobj)
    26252631
     
    28092815       
    28102816            sage: h = sin(x)/cos(x)
    28112817            sage: derivative(h,x,x,x)
    2812             6*sin(x)^4/cos(x)^4 + 8*sin(x)^2/cos(x)^2 + 2
     2818            8*sin(x)^2/cos(x)^2 + 6*sin(x)^4/cos(x)^4 + 2
    28132819            sage: derivative(h,x,3)
    2814             6*sin(x)^4/cos(x)^4 + 8*sin(x)^2/cos(x)^2 + 2
     2820            8*sin(x)^2/cos(x)^2 + 6*sin(x)^4/cos(x)^4 + 2
    28152821
    28162822        ::
    28172823       
     
    28222828            -cos(x)*cos(y) + sin(x)*sin(y)
    28232829            sage: f = ((x^2+1)/(x^2-1))^(1/4)
    28242830            sage: g = derivative(f, x); g # this is a complex expression
    2825             1/2*(x/(x^2 - 1) - (x^2 + 1)*x/(x^2 - 1)^2)/((x^2 + 1)/(x^2 - 1))^(3/4)
     2831            -1/2*((x^2 + 1)*x/(x^2 - 1)^2 - x/(x^2 - 1))/((x^2 + 1)/(x^2 - 1))^(3/4)
    28262832            sage: g.factor()
    2827             -x/((x^2 - 1)^(5/4)*(x^2 + 1)^(3/4))
     2833            -x/((x^2 + 1)^(3/4)*(x^2 - 1)^(5/4))
    28282834
    28292835        ::
    28302836
     
    30233029            sage: g = f.series(x==1, 4); g
    30243030            (-sin(y) - 1) + (-2*sin(y) - 2)*(x - 1) + (-sin(y) + 3)*(x - 1)^2 + 1*(x - 1)^3
    30253031            sage: h = g.truncate(); h
    3026             (x - 1)^3 - (x - 1)^2*(-sin(y) - 3) - 2*(x - 1)*(-2*sin(y) + 1) - sin(y) - 1
     3032            (x - 1)^3 - (x - 1)^2*(sin(y) - 3) - 2*(x - 1)*(sin(y) + 1) - sin(y) - 1
    30273033            sage: h.expand()
    30283034            x^3 - x^2*sin(y) - 5*x + 3
    30293035
     
    31223128        Ticket #7472 fixed (Taylor polynomial in more variables) ::
    31233129 
    31243130            sage: x,y=var('x y'); taylor(x*y^3,(x,1),(y,1),4)
    3125             (x - 1)*(y - 1)^3 + (y - 1)^3 + 3*(x - 1)*(y - 1)^2 + 3*(y - 1)^2 + 3*(x - 1)*(y - 1) + x + 3*y - 3
     3131            (x - 1)*(y - 1)^3 + 3*(x - 1)*(y - 1)^2 + (y - 1)^3 + 3*(x - 1)*(y - 1) + 3*(y - 1)^2 + x + 3*y - 3
    31263132            sage: expand(_)
    31273133            x*y^3
    31283134
     
    31903196            sage: x,y = var('x,y')
    31913197            sage: a = (x-y)^5
    31923198            sage: a.expand()
    3193             x^5 - y^5 + 5*x*y^4 - 10*x^2*y^3 + 10*x^3*y^2 - 5*x^4*y
     3199            x^5 - 5*x^4*y + 10*x^3*y^2 - 10*x^2*y^3 + 5*x*y^4 - y^5
    31943200            sage: expand(a)
    3195             x^5 - y^5 + 5*x*y^4 - 10*x^2*y^3 + 10*x^3*y^2 - 5*x^4*y
     3201            x^5 - 5*x^4*y + 10*x^3*y^2 - 10*x^2*y^3 + 5*x*y^4 - y^5
    31963202           
    31973203        We expand some other expressions::
    31983204       
    31993205            sage: expand((x-1)^3/(y-1))
    32003206            x^3/(y - 1) - 3*x^2/(y - 1) + 3*x/(y - 1) - 1/(y - 1)
    32013207            sage: expand((x+sin((x+y)^2))^2)
    3202             x^2 + sin((x + y)^2)^2 + 2*x*sin((x + y)^2)
     3208            x^2 + 2*x*sin((x + y)^2) + sin((x + y)^2)^2
    32033209
    32043210        We can expand individual sides of a relation::
    32053211
     
    32163222            sage: var('x,y')
    32173223            (x, y)
    32183224            sage: ((x + (2/3)*y)^3).expand()
    3219             x^3 + 8/27*y^3 + 4/3*x*y^2 + 2*x^2*y
     3225            x^3 + 2*x^2*y + 4/3*x*y^2 + 8/27*y^3
    32203226            sage: expand( (x*sin(x) - cos(y)/x)^2 )
    32213227            x^2*sin(x)^2 - 2*cos(y)*sin(x) + cos(y)^2/x^2
    32223228            sage: f = (x-y)*(x+y); f
    3223             (x - y)*(x + y)
     3229            (x + y)*(x - y)
    32243230            sage: f.expand()
    32253231            x^2 - y^2
    32263232        """
     
    32773283        EXAMPLES::
    32783284       
    32793285            sage: sin(5*x).expand_trig()
    3280             sin(x)^5 - 10*cos(x)^2*sin(x)^3 + 5*cos(x)^4*sin(x)
     3286            5*cos(x)^4*sin(x) - 10*cos(x)^2*sin(x)^3 + sin(x)^5
    32813287            sage: cos(2*x + var('y')).expand_trig()
    32823288            cos(2*x)*cos(y) - sin(2*x)*sin(y)
    32833289       
     
    32853291       
    32863292            sage: f = sin(sin(3*cos(2*x))*x)
    32873293            sage: f.expand_trig()
    3288             sin(-(sin(cos(2*x))^3 - 3*cos(cos(2*x))^2*sin(cos(2*x)))*x)
     3294            sin((3*cos(cos(2*x))^2*sin(cos(2*x)) - sin(cos(2*x))^3)*x)
    32893295            sage: f.expand_trig(full=True)
    3290             sin(-((cos(sin(x)^2)*sin(cos(x)^2) - cos(cos(x)^2)*sin(sin(x)^2))^3 - 3*(cos(cos(x)^2)*cos(sin(x)^2) + sin(cos(x)^2)*sin(sin(x)^2))^2*(cos(sin(x)^2)*sin(cos(x)^2) - cos(cos(x)^2)*sin(sin(x)^2)))*x)
     3296            sin((3*(cos(cos(x)^2)*cos(sin(x)^2) + sin(cos(x)^2)*sin(sin(x)^2))^2*(cos(sin(x)^2)*sin(cos(x)^2) - cos(cos(x)^2)*sin(sin(x)^2)) - (cos(sin(x)^2)*sin(cos(x)^2) - cos(cos(x)^2)*sin(sin(x)^2))^3)*x)
    32913297            sage: sin(2*x).expand_trig(times=False)
    32923298            sin(2*x)
    32933299            sage: sin(2*x).expand_trig(times=True)
     
    33403346            sage: y=var('y')
    33413347            sage: f=sin(x)*cos(x)^3+sin(y)^2
    33423348            sage: f.reduce_trig()
    3343             -1/2*cos(2*y) + 1/4*sin(2*x) + 1/8*sin(4*x) + 1/2
     3349            -1/2*cos(2*y) + 1/8*sin(4*x) + 1/4*sin(2*x) + 1/2
    33443350
    33453351        To reduce only the expressions involving x we use optional parameter::
    33463352
    33473353            sage: f.reduce_trig(x)
    3348             sin(y)^2 + 1/4*sin(2*x) + 1/8*sin(4*x)
     3354            sin(y)^2 + 1/8*sin(4*x) + 1/4*sin(2*x)
    33493355
    33503356        ALIASES: :meth:`trig_reduce` and :meth:`reduce_trig` are the same
    33513357        """
     
    34043410            (c, b)
    34053411            sage: ((a+b)*(a+c)).match((w0+b)*(w0+c))
    34063412            {$0: a}
    3407             sage: print ((a+b)*(a+c)).match((w0+w1)*(w0+w2))
    3408             {$2: b, $0: a, $1: c}
     3413            sage: t = ((a+b)*(a+c)).match((w0+w1)*(w0+w2))
     3414            sage: t[w0], t[w1], t[w2]
     3415            (a, c, b)
     3416            sage: print ((a+b)*(a+c)).match((w0+w1)*(w1+w2))
     3417            None
    34093418            sage: t = (a*(x+y)+a*z+b).match(a*w0+w1)
    34103419            sage: t[w0], t[w1]
    3411             (z, a*(x + y) + b)
     3420            (x + y, a*z + b)
    34123421            sage: print (a+b+c+d+e+f).match(c)
    34133422            None
    34143423            sage: (a+b+c+d+e+f).has(c)
     
    34783487            sage: (1+x+x^2+x^3).find(x)
    34793488            [x]
    34803489            sage: (1+x+x^2+x^3).find(x^w0)
    3481             [x^3, x^2]
     3490            [x^2, x^3]
    34823491
    34833492            sage: (1+x+x^2+x^3).find(y)
    34843493            []
     
    34953504        while itr.is_not_equal(found.end()):
    34963505            res.append(new_Expression_from_GEx(self._parent, itr.obj()))
    34973506            itr.inc()
     3507        res.sort()
    34983508        return res
    34993509
    35003510    def has(self, pattern):
     
    42964306            sage: f
    42974307            (x, y) |--> x^n + y^n
    42984308            sage: f(2,3)
    4299             2^n + 3^n
     4309            3^n + 2^n
    43004310        """
    43014311        # we override type checking in CallableSymbolicExpressionRing,
    43024312        # since it checks for old SymbolicVariable's
     
    46374647            sage: bool(p.poly(a) == (x-a*sqrt(2))^2 + x + 1)
    46384648            True           
    46394649            sage: p.poly(x)
    4640             2*a^2 + x^2 - (-2*sqrt(2)*a - 1)*x + 1
     4650            2*a^2 - (2*sqrt(2)*a - 1)*x + x^2 + 1
    46414651        """
    46424652        from sage.symbolic.ring import SR
    46434653        f = self._maxima_()
     
    49374947            (x, y, z)
    49384948            sage: f = 4*x*y + x*z + 20*y^2 + 21*y*z + 4*z^2 + x^2*y^2*z^2
    49394949            sage: f.collect(x)
    4940             x^2*y^2*z^2 + 20*y^2 + x*(4*y + z) + 4*z^2 + 21*y*z
     4950            x^2*y^2*z^2 + x*(4*y + z) + 20*y^2 + 21*y*z + 4*z^2
    49414951            sage: f.collect(y)
    4942             (x^2*z^2 + 20)*y^2 + (4*x + 21*z)*y + 4*z^2 + x*z
     4952            (x^2*z^2 + 20)*y^2 + (4*x + 21*z)*y + x*z + 4*z^2
    49434953            sage: f.collect(z)
    4944             (x^2*y^2 + 4)*z^2 + 20*y^2 + 4*x*y + (x + 21*y)*z
     4954            (x^2*y^2 + 4)*z^2 + 4*x*y + 20*y^2 + (x + 21*y)*z
    49454955        """
    49464956        cdef Expression s0 = self.coerce_in(s)
    49474957        cdef GEx x
     
    58065816        To prevent automatic evaluation use the ``hold`` argument::
    58075817
    58085818            sage: arccosh(x).sinh()
    5809             sqrt(x - 1)*sqrt(x + 1)
     5819            sqrt(x + 1)*sqrt(x - 1)
    58105820            sage: arccosh(x).sinh(hold=True)
    58115821            sinh(arccosh(x))
    58125822
     
    58155825            sage: sinh(arccosh(x),hold=True)
    58165826            sinh(arccosh(x))
    58175827            sage: sinh(arccosh(x))
    5818             sqrt(x - 1)*sqrt(x + 1)
     5828            sqrt(x + 1)*sqrt(x - 1)
    58195829
    58205830        To then evaluate again, we currently must use Maxima via
    58215831        :meth:`simplify`::
    58225832
    58235833            sage: a = arccosh(x).sinh(hold=True); a.simplify()
    5824             sqrt(x - 1)*sqrt(x + 1)
     5834            sqrt(x + 1)*sqrt(x - 1)
    58255835
    58265836        TESTS::
    58275837
     
    66836693            sage: f.numerator()
    66846694            sqrt(x) + sqrt(y) + sqrt(z)
    66856695            sage: f.denominator()
    6686             -sqrt(theta) + x^10 - y^10
     6696            x^10 - y^10 - sqrt(theta)
    66876697
    66886698            sage: f.numerator(normalize=False)
    6689             -(sqrt(x) + sqrt(y) + sqrt(z))
     6699            (sqrt(x) + sqrt(y) + sqrt(z))
    66906700            sage: f.denominator(normalize=False)
    6691             sqrt(theta) - x^10 + y^10
     6701            x^10 - y^10 - sqrt(theta)
    66926702
    66936703            sage: y = var('y')
    66946704            sage: g = x + y/(x + 2); g
     
    68646874        EXAMPLES::
    68656875
    68666876            sage: t = log(sqrt(2) - 1) + log(sqrt(2) + 1); t
    6867             log(sqrt(2) - 1) + log(sqrt(2) + 1)
     6877            log(sqrt(2) + 1) + log(sqrt(2) - 1)
    68686878            sage: res = t.maxima_methods().logcontract(); res
    6869             log((sqrt(2) - 1)*(sqrt(2) + 1))
     6879            log((sqrt(2) + 1)*(sqrt(2) - 1))
    68706880            sage: type(res)
    68716881            <type 'sage.symbolic.expression.Expression'>
    68726882        """
     
    69816991
    69826992            sage: f=tan(3*x)
    69836993            sage: f.simplify_trig()
    6984             -(4*cos(x)^2 - 1)*sin(x)/(-4*cos(x)^3 + 3*cos(x))
     6994            (4*cos(x)^2 - 1)*sin(x)/(4*cos(x)^3 - 3*cos(x))
    69856995            sage: f.simplify_trig(False)           
    69866996            sin(3*x)/cos(3*x)
    69876997       
     
    70387048        ::
    70397049       
    70407050            sage: f = ((x - 1)^(3/2) - (x + 1)*sqrt(x - 1))/sqrt((x - 1)*(x + 1)); f
    7041             ((x - 1)^(3/2) - sqrt(x - 1)*(x + 1))/sqrt((x - 1)*(x + 1))
     7051            -((x + 1)*sqrt(x - 1) - (x - 1)^(3/2))/sqrt((x + 1)*(x - 1))
    70427052            sage: f.simplify_rational()
    7043             -2*sqrt(x - 1)/sqrt(x^2 - 1)
     7053            2*sqrt(x - 1)/sqrt(x^2 - 1)
    70447054
    70457055        With ``map=True`` each term in a sum is simplified separately
    70467056        and thus the resuls are shorter for functions which are
     
    70737083            sage: f.simplify_rational()
    70747084            (2*x^2 + 5*x + 4)/(x^3 + 5*x^2 + 8*x + 4)
    70757085            sage: f.simplify_rational(algorithm='noexpand')
    7076             ((x + 2)^2 + (x + 1)*x)/((x + 1)*(x + 2)^2)
     7086            ((x + 2)^2 + (x + 1)*x)/((x + 2)^2*(x + 1))
    70777087        """
    70787088        self_m = self._maxima_()
    70797089        if algorithm == 'full':
     
    71257135        ::
    71267136
    71277137            sage: f = binomial(n, k)*factorial(k)*factorial(n-k); f
    7128             binomial(n, k)*factorial(-k + n)*factorial(k)
     7138            binomial(n, k)*factorial(k)*factorial(-k + n)
    71297139            sage: f.simplify_factorial()
    71307140            factorial(n)
    71317141       
    71327142        A more complicated example, which needs further processing::
    71337143
    71347144            sage: f = factorial(x)/factorial(x-2)/2 + factorial(x+1)/factorial(x)/2; f
    7135             1/2*factorial(x)/factorial(x - 2) + 1/2*factorial(x + 1)/factorial(x)
     7145            1/2*factorial(x + 1)/factorial(x) + 1/2*factorial(x)/factorial(x - 2)
    71367146            sage: g = f.simplify_factorial(); g
    71377147            1/2*(x - 1)*x + 1/2*x + 1/2
    71387148            sage: g.simplify_rational()
     
    72197229            sage: e1 = 1/(sqrt(5)+sqrt(2))
    72207230            sage: e2 = (sqrt(5)-sqrt(2))/3
    72217231            sage: e1.simplify_radical()
    7222             1/(sqrt(2) + sqrt(5))
     7232            1/(sqrt(5) + sqrt(2))
    72237233            sage: e2.simplify_radical()
    7224             -1/3*sqrt(2) + 1/3*sqrt(5)
     7234            1/3*sqrt(5) - 1/3*sqrt(2)
    72257235            sage: (e1-e2).simplify_radical()
    72267236            0
    72277237        """
     
    73467356
    73477357            sage: log_expr = (log(sqrt(2)-1)+log(sqrt(2)+1))
    73487358            sage: log_expr.simplify_log('all')
    7349             log((sqrt(2) - 1)*(sqrt(2) + 1))
     7359            log((sqrt(2) + 1)*(sqrt(2) - 1))
    73507360            sage: _.simplify_rational()
    73517361            0
    73527362            sage: log_expr.simplify_full()   # applies both simplify_log and simplify_rational
     
    74287438        To expand also log(3/4) use ``algorithm='all'``::
    74297439
    74307440            sage: (log(3/4*x^pi)).log_expand('all')
    7431             pi*log(x) + log(3) - log(4)
     7441            pi*log(x) - log(4) + log(3)
    74327442
    74337443        To expand only the power use ``algorithm='powers'``.::
    74347444
     
    74517461            pi*log(x) + log(3/4)
    74527462
    74537463            sage: (log(3/4*x^pi)).log_expand('all')
    7454             pi*log(x) + log(3) - log(4)
     7464            pi*log(x) - log(4) + log(3)
    74557465
    74567466            sage: (log(3/4*x^pi)).log_expand()
    74577467            pi*log(x) + log(3/4)
     
    75027512       
    75037513            sage: x,y,z = var('x, y, z')
    75047514            sage: (x^3-y^3).factor()
    7505             (x^2 + y^2 + x*y)*(x - y)
     7515            (x^2 + x*y + y^2)*(x - y)
    75067516            sage: factor(-8*y - 4*x + z^2*(2*y + x))
    7507             (x + 2*y)*(z - 2)*(z + 2)
     7517            (x + 2*y)*(z + 2)*(z - 2)
    75087518            sage: f = -1 - 2*x - x^2 + y^2 + 2*x*y^2 + x^2*y^2
    75097519            sage: F = factor(f/(36*(1 + 2*y + y^2)), dontfactor=[x]); F
    75107520            1/36*(x^2 + 2*x + 1)*(y - 1)/(y + 1)
     
    75177527            sage: var('x,y')
    75187528            (x, y)
    75197529            sage: (x^99 + y^99).factor()
    7520             (x^60 + y^60 + x^3*y^57 - x^9*y^51 - x^12*y^48 + x^18*y^42
    7521             + x^21*y^39 - x^27*y^33 - x^30*y^30 - x^33*y^27 + x^39*y^21
    7522             + x^42*y^18 - x^48*y^12 - x^51*y^9 + x^57*y^3)*(x^20 + y^20
    7523             + x*y^19 - x^3*y^17 - x^4*y^16 + x^6*y^14 + x^7*y^13 - x^9*y^11
    7524             - x^10*y^10 - x^11*y^9 + x^13*y^7 + x^14*y^6 - x^16*y^4
    7525             - x^17*y^3 + x^19*y)*(x^10 + y^10 - x*y^9 + x^2*y^8 - x^3*y^7
    7526             + x^4*y^6 - x^5*y^5 + x^6*y^4 - x^7*y^3 + x^8*y^2 - x^9*y)*(x^6
    7527             + y^6 - x^3*y^3)*(x^2 + y^2 - x*y)*(x + y)
     7530            (x^60 + x^57*y^3 - x^51*y^9 - x^48*y^12 + x^42*y^18 + x^39*y^21
     7531            - x^33*y^27 - x^30*y^30 - x^27*y^33 + x^21*y^39 + x^18*y^42
     7532            - x^12*y^48 - x^9*y^51 + x^3*y^57 + y^60)*(x^20 + x^19*y
     7533            - x^17*y^3 - x^16*y^4 + x^14*y^6 + x^13*y^7 - x^11*y^9
     7534            - x^10*y^10 - x^9*y^11 + x^7*y^13 + x^6*y^14 - x^4*y^16
     7535            - x^3*y^17 + x*y^19 + y^20)*(x^10 - x^9*y + x^8*y^2 - x^7*y^3
     7536            + x^6*y^4 - x^5*y^5 + x^4*y^6 - x^3*y^7 + x^2*y^8 - x*y^9
     7537            + y^10)*(x^6 - x^3*y^3 + y^6)*(x^2 - x*y + y^2)*(x + y)
    75287538        """
    75297539        from sage.calculus.calculus import symbolic_expression_from_maxima_string, symbolic_expression_from_string
    75307540        if len(dontfactor) > 0:
     
    75657575            (x, y, z)
    75667576            sage: f = x^3-y^3
    75677577            sage: f.factor()
    7568             (x^2 + y^2 + x*y)*(x - y)
     7578            (x^2 + x*y + y^2)*(x - y)
    75697579       
    75707580        Notice that the -1 factor is separated out::
    75717581       
    75727582            sage: f.factor_list()
    7573             [(x^2 + y^2 + x*y, 1), (x - y, 1)]
     7583            [(x^2 + x*y + y^2, 1), (x - y, 1)]
    75747584       
    75757585        We factor a fairly straightforward expression::
    75767586       
    75777587            sage: factor(-8*y - 4*x + z^2*(2*y + x)).factor_list()
    7578             [(x + 2*y, 1), (z - 2, 1), (z + 2, 1)]
     7588            [(x + 2*y, 1), (z + 2, 1), (z - 2, 1)]
    75797589
    75807590        A more complicated example::
    75817591       
     
    75837593            (x, u, v)
    75847594            sage: f = expand((2*u*v^2-v^2-4*u^3)^2 * (-u)^3 * (x-sin(x))^3)
    75857595            sage: f.factor()
    7586             (-4*u^3 + 2*u*v^2 - v^2)^2*u^3*(-x + sin(x))^3
     7596            -(-4*u^3 + 2*u*v^2 - v^2)^2*u^3*(x - sin(x))^3
    75877597            sage: g = f.factor_list(); g                     
    7588             [(4*u^3 - 2*u*v^2 + v^2, 2), (u, 3), (x - sin(x), 3), (-1, 1)]
     7598            [(-4*u^3 + 2*u*v^2 - v^2, 2), (u, 3), (x - sin(x), 3), (-1, 1)]
    75897599
    75907600        This function also works for quotients::
    75917601       
     
    75957605            sage: g.factor(dontfactor=[x])
    75967606            1/36*(x^2 + 2*x + 1)*(y - 1)/(y + 1)
    75977607            sage: g.factor_list(dontfactor=[x])
    7598             [(x^2 + 2*x + 1, 1), (y - 1, 1), (y + 1, -1), (1/36, 1)]
     7608            [(x^2 + 2*x + 1, 1), (y + 1, -1), (y - 1, 1), (1/36, 1)]
    75997609                   
    76007610        This example also illustrates that the exponents do not have to be
    76017611        integers::
     
    77637773        A complicated example::
    77647774       
    77657775            sage: f = expand((x^2 - 1)^3*(x^2 + 1)*(x-a)); f
    7766             x^9 - a*x^8 - 2*x^7 + 2*a*x^6 + 2*x^3 - 2*a*x^2 + a - x
     7776            -a*x^8 + x^9 + 2*a*x^6 - 2*x^7 - 2*a*x^2 + 2*x^3 + a - x
    77677777       
    77687778        The default variable is `a`, since it is the first in
    77697779        alphabetical order::
     
    82988308            sage: a.solve(t)
    82998309            []
    83008310            sage: b = a.simplify_radical(); b
    8301             -23040*(25.0*e^(900*t) - 2.0*e^(1800*t) - 32.0)*e^(-2400*t)
     8311            23040*(2.0*e^(1800*t) - 25.0*e^(900*t) + 32.0)*e^(-2400*t)
    83028312            sage: b.solve(t)
    83038313            []
    83048314            sage: b.solve(t, to_poly_solve=True)
  • sage/symbolic/expression_conversions.py

    diff --git a/sage/symbolic/expression_conversions.py b/sage/symbolic/expression_conversions.py
    a b  
    232232            sage: c.get_fake_div(-x)
    233233            FakeExpression([x], <built-in function neg>)
    234234            sage: c.get_fake_div((2*x^3+2*x-1)/((x-2)*(x+1)))
    235             FakeExpression([2*x^3 + 2*x - 1, FakeExpression([x - 2, x + 1], <built-in function mul>)], <built-in function div>)
     235            FakeExpression([2*x^3 + 2*x - 1, FakeExpression([x + 1, x - 2], <built-in function mul>)], <built-in function div>)
    236236
    237237        Check if #8056 is fixed, i.e., if numerator is 1.::
    238238
     
    13861386
    13871387        sage: f = (2*x^3+2*x-1)/((x-2)*(x+1))
    13881388        sage: f._fast_callable_(etb)
    1389         div(add(add(mul(ipow(v_0, 3), 2), mul(v_0, 2)), -1), mul(add(v_0, -2), add(v_0, 1)))
     1389        div(add(add(mul(ipow(v_0, 3), 2), mul(v_0, 2)), -1), mul(add(v_0, 1), add(v_0, -2)))
    13901390
    13911391    """
    13921392    return FastCallableConverter(ex, etb)()
  • sage/symbolic/function.pyx

    diff --git a/sage/symbolic/function.pyx b/sage/symbolic/function.pyx
    a b  
    988988        Test pickling expressions with symbolic functions::
    989989           
    990990            sage: u = loads(dumps(foo(x)^2 + foo(y) + x^y)); u
    991             x^y + foo(x)^2 + foo(y)
     991            foo(x)^2 + x^y + foo(y)
    992992            sage: u.subs(y=0)
    993993            foo(x)^2 + foo(0) + 1
    994994            sage: u.subs(y=0).n()
  • sage/symbolic/function_factory.py

    diff --git a/sage/symbolic/function_factory.py b/sage/symbolic/function_factory.py
    a b  
    185185        -b*sin(a)
    186186
    187187        sage: g.substitute_function(cr, (sin(x) + cos(x)).function(x))
    188         -(sin(a) - cos(a))*b
     188        b*(cos(a) - sin(a))
    189189
    190190    In Sage 4.0, basic arithmetic with unevaluated functions is no
    191191    longer supported::
  • sage/symbolic/getitem.pyx

    diff --git a/sage/symbolic/getitem.pyx b/sage/symbolic/getitem.pyx
    a b  
    6363
    6464        sage: x,y,z = var('x,y,z')
    6565        sage: e = x + x*y + z^y + 3*y*z; e
    66         x*y + 3*y*z + z^y + x
     66        x*y + 3*y*z + x + z^y
    6767        sage: e.op[1]
    6868        3*y*z
    6969        sage: e.op[1,1]
    7070        z
    7171        sage: e.op[-1]
    72         x
     72        z^y
    7373        sage: e.op[1:]
    74         [3*y*z, z^y, x]
     74        [3*y*z, x, z^y]
    7575        sage: e.op[:2]
    7676        [x*y, 3*y*z]
    7777        sage: e.op[-2:]
    78         [z^y, x]
     78        [x, z^y]
    7979        sage: e.op[:-2]
    8080        [x*y, 3*y*z]
    8181        sage: e.op[-5]
  • sage/symbolic/integration/integral.py

    diff --git a/sage/symbolic/integration/integral.py b/sage/symbolic/integration/integral.py
    a b  
    395395                 x y  + Sqrt[--] FresnelS[Sqrt[--] x]
    396396                             2                 Pi
    397397        sage: print f.integral(x)
    398         y^z*x + 1/8*((I - 1)*sqrt(2)*erf((1/2*I - 1/2)*sqrt(2)*x) + (I + 1)*sqrt(2)*erf((1/2*I + 1/2)*sqrt(2)*x))*sqrt(pi)
     398        x*y^z + 1/8*sqrt(pi)*((I + 1)*sqrt(2)*erf((1/2*I + 1/2)*sqrt(2)*x) + (I - 1)*sqrt(2)*erf((1/2*I - 1/2)*sqrt(2)*x))
    399399
    400400    Alternatively, just use algorithm='mathematica_free' to integrate via Mathematica
    401401    over the internet (does NOT require a Mathematica license!)::
     
    428428    ::
    429429
    430430        sage: A = integral(1/ ((x-4) * (x^3+2*x+1)), x); A
    431         1/73*log(x - 4) - 1/73*integrate((x^2 + 4*x + 18)/(x^3 + 2*x + 1), x)
     431        -1/73*integrate((x^2 + 4*x + 18)/(x^3 + 2*x + 1), x) + 1/73*log(x - 4)
    432432
    433433    We now show that floats are not converted to rationals
    434434    automatically since we by default have keepfloat: true in maxima.
     
    458458
    459459        sage: assume(a>0)
    460460        sage: integrate(1/(x^3 *(a+b*x)^(1/3)), x)
    461         2/9*sqrt(3)*b^2*arctan(1/3*(2*(b*x + a)^(1/3) + a^(1/3))*sqrt(3)/a^(1/3))/a^(7/3) + 2/9*b^2*log((b*x + a)^(1/3) - a^(1/3))/a^(7/3) - 1/9*b^2*log((b*x + a)^(2/3) + (b*x + a)^(1/3)*a^(1/3) + a^(2/3))/a^(7/3) + 1/6*(4*(b*x + a)^(5/3)*b^2 - 7*(b*x + a)^(2/3)*a*b^2)/((b*x + a)^2*a^2 - 2*(b*x + a)*a^3 + a^4)
     461        2/9*sqrt(3)*b^2*arctan(1/3*sqrt(3)*(2*(b*x + a)^(1/3) + a^(1/3))/a^(1/3))/a^(7/3) - 1/9*b^2*log((b*x + a)^(2/3) + (b*x + a)^(1/3)*a^(1/3) + a^(2/3))/a^(7/3) + 2/9*b^2*log((b*x + a)^(1/3) - a^(1/3))/a^(7/3) + 1/6*(4*(b*x + a)^(5/3)*b^2 - 7*(b*x + a)^(2/3)*a*b^2)/((b*x + a)^2*a^2 - 2*(b*x + a)*a^3 + a^4)
    462462
    463463    TESTS:
    464464
     
    466466    see #3013::
    467467
    468468        sage: integrate(sin(x)*cos(10*x)*log(x), x)
    469         1/198*(11*cos(9*x) - 9*cos(11*x))*log(x) + 1/44*Ei(-11*I*x) - 1/36*Ei(-9*I*x) - 1/36*Ei(9*I*x) + 1/44*Ei(11*I*x)
     469        -1/198*(9*cos(11*x) - 11*cos(9*x))*log(x) + 1/44*Ei(11*I*x) - 1/36*Ei(9*I*x) - 1/36*Ei(-9*I*x) + 1/44*Ei(-11*I*x)
    470470
    471471    It is no longer possible to use certain functions without an
    472472    explicit variable.  Instead, evaluate the function at a variable,
     
    496496        Is  (y-1)*(y+1)  positive, negative, or zero?
    497497        sage: assume(y>1)
    498498        sage: res = integral(f,x,0.0001414, 1.); res
    499         2*y*arctan(1/y) - 2*y*arctan(0.0001414/y) - 0.0001414*log(y^2 + 1.999396e-08) + log(y^2 + 1.0) - 1.9997172
     499        -2*y*arctan(0.0001414/y) + 2*y*arctan(1/y) + log(y^2 + 1.0) - 0.0001414*log(y^2 + 1.999396e-08) - 1.9997172
    500500        sage: nres = numerical_integral(f.subs(y=2), 0.0001414, 1.); nres
    501501        (1.4638323264144..., 1.6251803529759...e-14)
    502502        sage: res.subs(y=2).n()
     
    546546        sage: integrate( ((F(x)-G(x))^2).expand(), x, -infinity, infinity).n()
    547547        -6.26376265908397e-17
    548548        sage: integrate( (F(x)-G(x))^2, x, -infinity, infinity).n()
    549         -6.26376265908397e-17
     549        0
    550550
    551551    This was broken before Maxima 5.20::
    552552
  • sage/symbolic/maxima_wrapper.py

    diff --git a/sage/symbolic/maxima_wrapper.py b/sage/symbolic/maxima_wrapper.py
    a b  
    1717        EXAMPLES::
    1818
    1919            sage: t = sin(x)^2 + cos(x)^2; t
    20             sin(x)^2 + cos(x)^2
     20            cos(x)^2 + sin(x)^2
    2121            sage: res = t.maxima_methods().trigsimp(); res
    2222            1
    2323            sage: type(res)
     
    3838        EXAMPLES::
    3939
    4040            sage: t = log(sqrt(2) - 1) + log(sqrt(2) + 1); t
    41             log(sqrt(2) - 1) + log(sqrt(2) + 1)
     41            log(sqrt(2) + 1) + log(sqrt(2) - 1)
    4242            sage: u = t.maxima_methods(); u
    43             MaximaWrapper(log(sqrt(2) - 1) + log(sqrt(2) + 1))
     43            MaximaWrapper(log(sqrt(2) + 1) + log(sqrt(2) - 1))
    4444            sage: type(u)
    4545            <class 'sage.symbolic.maxima_wrapper.MaximaWrapper'>
    4646            sage: u.logcontract()
    47             log((sqrt(2) - 1)*(sqrt(2) + 1))
     47            log((sqrt(2) + 1)*(sqrt(2) - 1))
    4848            sage: u.logcontract().parent()
    4949            Symbolic Ring
    5050
     
    7070        EXAMPLES::
    7171
    7272            sage: t = sin(x)^2 + cos(x)^2; t
    73             sin(x)^2 + cos(x)^2
     73            cos(x)^2 + sin(x)^2
    7474            sage: u = t.maxima_methods()
    7575            sage: import sagenb.misc.support as s
    7676            sage: s.completions('u.airy_',globals(),system='python')
     
    7878            sage: type(u.airy_ai)
    7979            <class 'sage.symbolic.maxima_wrapper.MaximaFunctionElementWrapper'>
    8080            sage: u.airy_ai()
    81             airy_ai(sin(x)^2 + cos(x)^2)
     81            airy_ai(cos(x)^2 + sin(x)^2)
    8282        """
    8383        if self._maxima_exp is None:
    8484            self._maxima_exp = self._exp._maxima_()
     
    9696        EXAMPLES::
    9797
    9898            sage: t = log(sqrt(2) - 1) + log(sqrt(2) + 1); t
    99             log(sqrt(2) - 1) + log(sqrt(2) + 1)
     99            log(sqrt(2) + 1) + log(sqrt(2) - 1)
    100100            sage: u = t.maxima_methods().sage()
    101101            sage: u is t
    102102            True
     
    108108        EXAMPLES::
    109109
    110110            sage: t = log(sqrt(2) - 1) + log(sqrt(2) + 1); t
    111             log(sqrt(2) - 1) + log(sqrt(2) + 1)
     111            log(sqrt(2) + 1) + log(sqrt(2) - 1)
    112112            sage: u = t.maxima_methods()
    113113            sage: SR(u) is t # indirect doctest
    114114            True
     
    120120        EXAMPLES::
    121121
    122122            sage: t = log(sqrt(2) - 1) + log(sqrt(2) + 1); t
    123             log(sqrt(2) - 1) + log(sqrt(2) + 1)
     123            log(sqrt(2) + 1) + log(sqrt(2) - 1)
    124124            sage: u = t.maxima_methods(); u
    125             MaximaWrapper(log(sqrt(2) - 1) + log(sqrt(2) + 1))
     125            MaximaWrapper(log(sqrt(2) + 1) + log(sqrt(2) - 1))
    126126            sage: loads(dumps(u))
    127             MaximaWrapper(log(sqrt(2) - 1) + log(sqrt(2) + 1))
     127            MaximaWrapper(log(sqrt(2) + 1) + log(sqrt(2) - 1))
    128128        """
    129129        return (MaximaWrapper, (self._exp,))
    130130
     
    133133        EXAMPLES::
    134134
    135135            sage: t = log(sqrt(2) - 1) + log(sqrt(2) + 1); t
    136             log(sqrt(2) - 1) + log(sqrt(2) + 1)
     136            log(sqrt(2) + 1) + log(sqrt(2) - 1)
    137137            sage: u = t.maxima_methods(); u
    138             MaximaWrapper(log(sqrt(2) - 1) + log(sqrt(2) + 1))
     138            MaximaWrapper(log(sqrt(2) + 1) + log(sqrt(2) - 1))
    139139            sage: u._repr_()
    140             'MaximaWrapper(log(sqrt(2) - 1) + log(sqrt(2) + 1))'
     140            'MaximaWrapper(log(sqrt(2) + 1) + log(sqrt(2) - 1))'
    141141        """
    142142        return "MaximaWrapper(%s)"%(self._exp)
  • sage/symbolic/relation.py

    diff --git a/sage/symbolic/relation.py b/sage/symbolic/relation.py
    a b  
    1010    a*x^2 + b*x + c == 0
    1111    sage: print solve(qe, x)
    1212    [
    13     x == -1/2*(b + sqrt(-4*a*c + b^2))/a,
    14     x == -1/2*(b - sqrt(-4*a*c + b^2))/a
     13    x == -1/2*(b + sqrt(b^2 - 4*a*c))/a,
     14    x == -1/2*(b - sqrt(b^2 - 4*a*c))/a
    1515    ]
    1616
    1717
     
    238238    sage: var('x,y,z,w')
    239239    (x, y, z, w)
    240240    sage: f =  (x+y+w) == (x^2 - y^2 - z^3);   f
    241     w + x + y == x^2 - y^2 - z^3
     241    w + x + y == -z^3 + x^2 - y^2
    242242    sage: f.variables()
    243243    (w, x, y, z)
    244244
     
    276276    x == y - 5
    277277    sage: h =  x^3 + sqrt(2) == x*y*sin(x)
    278278    sage: h
    279     sqrt(2) + x^3 == x*y*sin(x)
     279    x^3 + sqrt(2) == x*y*sin(x)
    280280    sage: h - sqrt(2)
    281281    x^3 == x*y*sin(x) - sqrt(2)
    282282    sage: h + f
    283     x + sqrt(2) + x^3 + 3 == x*y*sin(x) + y - 2
     283    x^3 + x + sqrt(2) + 3 == x*y*sin(x) + y - 2
    284284    sage: f = x + 3 < y - 2
    285285    sage: g = 2 < x+10
    286286    sage: f - g
     
    486486        sage: solve([x+y==6, x-y==4], x, y)
    487487        [[x == 5, y == 1]]
    488488        sage: solve([x^2+y^2 == 1, y^2 == x^3 + x + 1], x, y)
    489         [[x == -1/2*I*sqrt(3) - 1/2, y == -1/2*sqrt(-I*sqrt(3) + 3)*sqrt(2)],
    490          [x == -1/2*I*sqrt(3) - 1/2, y == 1/2*sqrt(-I*sqrt(3) + 3)*sqrt(2)],
    491          [x == 1/2*I*sqrt(3) - 1/2, y == -1/2*sqrt(I*sqrt(3) + 3)*sqrt(2)],
    492          [x == 1/2*I*sqrt(3) - 1/2, y == 1/2*sqrt(I*sqrt(3) + 3)*sqrt(2)],
     489        [[x == -1/2*I*sqrt(3) - 1/2, y == -1/2*sqrt(2)*sqrt(-I*sqrt(3) + 3)],
     490         [x == -1/2*I*sqrt(3) - 1/2, y == 1/2*sqrt(2)*sqrt(-I*sqrt(3) + 3)],
     491         [x == 1/2*I*sqrt(3) - 1/2, y == -1/2*sqrt(2)*sqrt(I*sqrt(3) + 3)],
     492         [x == 1/2*I*sqrt(3) - 1/2, y == 1/2*sqrt(2)*sqrt(I*sqrt(3) + 3)],
    493493         [x == 0, y == -1],
    494494         [x == 0, y == 1]]
    495495        sage: solve([sqrt(x) + sqrt(y) == 5, x + y == 10], x, y)
     
    609609
    610610       sage: x,y=var('x y'); c1(x,y)=(x-5)^2+y^2-16; c2(x,y)=(y-3)^2+x^2-9
    611611       sage: solve([c1(x,y),c2(x,y)],[x,y])                               
    612        [[x == -9/68*sqrt(55) + 135/68, y == -15/68*sqrt(5)*sqrt(11) + 123/68], [x == 9/68*sqrt(55) + 135/68, y == 15/68*sqrt(5)*sqrt(11) + 123/68]]
     612       [[x == -9/68*sqrt(55) + 135/68, y == -15/68*sqrt(11)*sqrt(5) + 123/68], [x == 9/68*sqrt(55) + 135/68, y == 15/68*sqrt(11)*sqrt(5) + 123/68]]
    613613       
    614614    TESTS::
    615615
  • sage/symbolic/ring.pyx

    diff --git a/sage/symbolic/ring.pyx b/sage/symbolic/ring.pyx
    a b  
    319319            sage: x,y = var('x,y')
    320320            sage: w0 = SR.wild(0); w1 = SR.wild(1)
    321321            sage: pattern = sin(x)*w0*w1^2; pattern
    322             $0*$1^2*sin(x)
     322            $1^2*$0*sin(x)
    323323            sage: f = atan(sin(x)*3*x^2); f
    324324            arctan(3*x^2*sin(x))
    325325            sage: f.has(pattern)