#117 Cannot integrate some expressions

None
open
nobody
None
5
2014-06-13
2014-05-19
skanskan
No

Some integrals are not solved, such as
1/((x-3)^4+1/2)
or
sqrt((x+sqrt(1+x^2))/x)

Discussion

  • Barton Willis

    Barton Willis - 2014-06-03

    The answer could be nicer, but try setting integrate_use_rootsof : true;

    (%i14) integrate(1/((x-3)^4+1/2),x), integrate_use_rootsof : true;

    (%o14) 2'lsum(log(x-%r535)/(8%r535^3-72%r535^2+216%r535-216),%r535,
    rootsof(2x^4-24x^3+108x^2-216x+163))

     
  • skanskan

    skanskan - 2014-06-03

    Thanks Barton, I'll try. I didn't know that option.

     
  • Robert Dodier

    Robert Dodier - 2014-06-05

    Ticket moved from /p/maxima/bugs/2733/

     
  • Tomio Arisaka

    Tomio Arisaka - 2014-06-13

    The function integrate does not return an indefinite integral of such expression automatically.
    However, the integral of the expression could be found by substitution:
    integrate(f(x),x) = integrate(f(g(y))*diff(g(y),y),y)
    where x is put equal to g(y).

    For example:
    If y is 'sqrt(1+x^2)/x', x is '1/(sqrt(y-1)*sqrt(y+1))'.

    (%i1) f(x) := sqrt ((x+sqrt(1+x^2))/x)$
    
    (%i2) g(y) := 1/(sqrt(y-1)*sqrt(y+1))$
    
    (%i3) 'integrate (f(x), x) = 'integrate (sqrt(1+y) * 'diff(x, y), y);
                   /            2                /
                   [      sqrt(x  + 1) + x       [ dx
    (%o3)          I sqrt(----------------) dx = I -- sqrt(y + 1) dy
                   ]             x               ] dy
                   /                             /
    (%i4) integrate (ratsimp (sqrt(1+y) * diff(g(y),y)), y);
                                  sqrt(y - 1)
                             atan(-----------)
                                    sqrt(2)            1
    (%o4)               - 2 (----------------- - -------------)
                                    3/2          2 sqrt(y - 1)
                                   2
    (%i5) subst (y=sqrt(1+x^2)/x, %);
                                  2
                            sqrt(x  + 1)
                       sqrt(------------ - 1)
                                 x
                  atan(----------------------)
                              sqrt(2)                       1
    (%o5)    - 2 (---------------------------- - ------------------------)
                               3/2                            2
                              2                         sqrt(x  + 1)
                                                 2 sqrt(------------ - 1)
                                                             x
    
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks