login  home  contents  what's new  discussion  bug reports help  links  subscribe  changes  refresh  edit

# Edit detail for FriCASSpecialIntegration revision 4 of 4

 1 2 3 4 Editor: test1 Time: 2018/02/08 18:17:42 GMT+0 Note:

changed:
-integral, error functions, incomplete Gamma function with rational
integral, error functions, incomplete Gamma function with constant

integrate(x^n*exp(b*x^2), x)


FriCAS can now handle large class of integrals expressible in terms of exponential integral, error functions, incomplete Gamma function with constant first argument, logarithmic integral and polylogarithms. Like

fricas
integrate(1/log(x), x)
 (1)
Type: Union(Expression(Integer),...)
fricas
integrate(1/(log(x) + 1), x)
 (2)
Type: Union(Expression(Integer),...)
fricas
integrate(1/(log(x)^2-1), x)
 (3)
Type: Union(Expression(Integer),...)
fricas
integrate(exp(x + a)/x, x)
 (4)
Type: Union(Expression(Integer),...)
fricas
integrate(exp(x + a)/x^2, x)
 (5)
Type: Union(Expression(Integer),...)
fricas
integrate(exp(x)/(x^2 - 1), x)
 (6)
Type: Union(Expression(Integer),...)
fricas
integrate(x/(exp(x) - 1), x)
 (7)
Type: Union(Expression(Integer),...)
fricas
integrate(x^3/(exp(x) - 1), x)
 (8)
Type: Union(Expression(Integer),...)
fricas
integrate(2*x*exp(x)/(exp(x)^2 - 1), x)
 (9)
Type: Union(Expression(Integer),...)
fricas
integrate(x/sinh(x), x)
 (10)
Type: Union(Expression(Integer),...)
fricas
integrate(log(sinh(x)), x)
 (11)
Type: Union(Expression(Integer),...)
fricas
integrate(exp((-x^2-2*x-1)/x^2)/x^2, x)
 (12)
Type: Union(Expression(Integer),...)
fricas
integrate(x^3*exp(-x^3), x)
 (13)
Type: Union(Expression(Integer),...)
fricas
integrate(x^2*exp(-(x+1)^3), x)
 (14)
Type: Union(Expression(Integer),...)
fricas
integrate(x^n*exp(b*x^2), x)
 (15)
Type: Union(Expression(Integer),...)

FriCAS can introduce new algebraic constants when needed:

fricas
integrate(1/(log(x)^2-3), x)
 (16)
Type: Union(Expression(Integer),...)
fricas
integrate(exp(x)/(x^2 - 5), x)
 (17)
Type: Union(Expression(Integer),...)

The method is robust, FriCAS can handle both

fricas
integrate(((x+1)*exp(x))/log(x*exp(x)), x)
 (18)
Type: Union(Expression(Integer),...)
fricas
integrate(((x+1)*exp(x))/(x + log(x)), x)
 (19)
Type: Union(Expression(Integer),...)

while Mathematca 8 can handle the first form, but not the second one (Maple 15 and Maxima 5.30.0 can not handle any).

Similarly FriCAS has no troubles with

fricas
integrate(((-4*x-8)*log(x)+(-2*x^2-4*x))/(3*x*exp(2*log(x)+x)^2-x), x)
 (20)
Type: Union(Expression(Integer),...)
fricas
integrate(((-4*x-8)*log(x)+(-2*x^2-4*x))/(3*x^3*exp(log(x)+x)^2-x), x)
 (21)
Type: Union(Expression(Integer),...)
fricas
integrate(((2*x^4-x^3+3*x^2+2*x+2)*exp(x/(x^2+2)))/(x^3+2*x), x)
 (22)
Type: Union(Expression(Integer),...)

none of Mathematca 8, Maple 15 and Maxima 5.30.0 can handle them.

Since FriCAS uses algorithmic approach some integrals can be done easily without any extra special support. For example:

fricas
)set output tex off

fricas
)set output algebra on
integrate(-erf(((2*m - k^2) - 2*log(c + b) + 2*log(a))/(2*sqrt(2)*k))/2 - 1/2, c)
(23)
+----+
2  |  1
(2 log(c + b) - 2 log(a) - 2 m - k ) |----
|   2
+-+                                        \|2 k     log(a) + m
- \|2 erf(-------------------------------------------)%e
2
+
+----+
2  |  1
(2 log(c + b) - 2 log(a) - 2 m + k ) |----
|   2
+-+                                        \|2 k
b\|2 erf(-------------------------------------------)
2
+
+----+                                     2          +----+
|  1      2 log(c + b) - 2 log(a) - 2 m + k           |  1
2 c k |---- erf(----------------------------------) - 2 c k |----
|   2                       +-+                       |   2
\|2 k                    2 k\|2                       \|2 k
/
+----+
|  1
4 k |----
|   2
\|2 k
Type: Union(Expression(Integer),...)
fricas
)set output tex on

fricas
)set output algebra off

is done combining general support for Liouvillian integrands with procedure for handling erf. In Rubi this example required adding a new special rule.

FriCAS can also handle some integrals involving special functions of algebraic arguments:

fricas
integrate(((26*x+23)*x^(1/2)+4*x^2+50*x-6)*exp(2*x^(1/2)+x)/((16*x^2+36*x)*x^(1/2)+(2*x^3+42*x^2)), x)
 (23)
Type: Union(Expression(Integer),...)