## #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 - 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 - 2014-06-03

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

• Robert Dodier - 2014-06-05

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

• 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
```