home *** CD-ROM | disk | FTP | other *** search
- # inte(y,x) integrates y with respect to x (indefinite integral)
- # inte(y, x,xmin,xmax) integrates y with respect to x from xmin to xmax)
- # (definite integral).
-
- inte(sign(x_), x_) := x*sign(x)
- inte(abs(x_), x_) := x*abs(x)/2
- inte(ln(x_), x_) := x*ln(x)-x
- inte(e^x_/x_, x_) := ei(x)
-
- inte(sin(x_), x_) := -cos(x)
- inte(cos(x_), x_) := sin(x)
- inte(tan(x_), x_) := ln(sec(x)*sign(sec(x)))
- inte(cot(x_), x_) := ln(sin(x)*sign(sin(x)))
- inte(sec(x_), x_) := ln((sec(x)+tan(x))*sign(sec(x)+tan(x)))
- inte(csc(x_), x_) := ln((csc(x)-cot(x))*sign(csc(x)-cot(x)))
-
- inte(asin(x_), x_) := x*asin(x)+1/sqrt(1-x^2)
- inte(acos(x_), x_) := x*acos(x)-1/sqrt(1-x^2)
- # inte(atan(x_), x_) := x*atan(x)-ln((1+x^2))/2
-
- #inte(sinh(x_), x_) := cosh(x)
- #inte(cosh(x_), x_) := sinh(x)
- #inte(tanh(x_), x_) := ln(cosh(x))
- #inte(coth(x_), x_) := ln(sinh(x)*sign(sinh(x)))
- #inte(sech(x_), x_) := asin(tanh(x))
- #inte(csch(x_), x_) := ln(tanh(x/2)*sign(tanh(x/2)))
-
- inte(sin(x_)^2, x_) := x/2-sin(2*x)/4
- inte(cos(x_)^2, x_) := x/2+sin(2*x)/4
- inte(tan(x_)^2, x_) := tan(x)-x
- inte(cot(x_)^2, x_) := -cot(x)-x
- inte(sec(x_)^2, x_) := tan(x)
- inte(csc(x_)^2, x_) := -cot(x)
-
- inte(sin(x_)/x_, x_) := si(x)
- inte(cos(x_)/x_, x_) := ci(x)
-
- inte(sin(x_)*exp(x_), x_) := (sin(x)-cos(x))*exp(x)/2
- inte(cos(x_)*exp(x_), x_) := (sin(x)+cos(x))*exp(x)/2
-
- inte(1/sqrt(1+x_)/x_, x_) := ln((sqrt(1+x)-1)/(sqrt(1+x)+1))
- inte(sqrt(1+x_)/x_, x_) := 2*sqrt(1+x)+ln((sqrt(1+x)-1)/(sqrt(1+x)+1))
-
- #inte(1/sqrt(1+x_^2), x_) := asinh(x)
- #inte(1/sqrt(1-x_^2), x_) := asin(x)
- #inte(1/sqrt(x_^2-1), x_) := acosh(x)
- #inte(1/sqrt(1+x_^2)/x_, x_) := -acsch(x)
- #inte(1/sqrt(1-x_^2)/x_, x_) := -asech(x)
- #inte(1/sqrt(x_^2-1)/x_, x_) := asec(x)
-
- #inte(sqrt(1+x_^2), x_) := x*sqrt(1+x^2)/2+asinh(x)/2
- #inte(sqrt(1-x_^2), x_) := x*sqrt(1-x^2)/2+asin(x)/2
- #inte(sqrt(x_^2-1), x_) := x*sqrt(x^2-1)/2-acosh(x)/2
- # inte(x_^2*sqrt(1+x_^2), x_) := x*(1+x^2)^1.5/4-sqrt(1+x^2)/8-(1/8)*asinh(x)
- #inte(sqrt(1+x_^2)/x_, x_) := sqrt(1+x^2)-2*acsch(x)
-
- inte(a_/b_, x_) := if(d(b,x)==a, ln(|b|))
-
- inte(e^(-a*x_^2), x_) := sqrt(pi)/2*erf(sqrt(a)*x)/sqrt(a)
-
-
- inte(y_,x_,a1_,b1_) := if(a1 <= 0 and b1 >= 0 and subs(y,x=0) == inf, inf)
- inte(y_,x_,a2_,b2_) := if(a2 <= 0 and b2 >= 0 and subs(y,x=0) == -inf, -inf)
- inte(y_,x_,a3_,b3_) := if(a3 >= 0 and b3 <= 0 and subs(y,x=0) == inf, -inf)
- inte(y_,x_,a4_,b4_) := if(a4 >= 0 and b4 <= 0 and subs(y,x=0) == -inf, inf)
- inte(y_,x_,a_,b_) := block(integ:=inte(y,x),
- subs(integ,x=b)-subs(integ,x=a), local(integ))
-
- inte(y_,x_,a_,b_,c_) := block(inte:=inte(y,x),
- subs(inte,x=c)-subs(inte,x=b+zero)+subs(inte,x=b-zero)-subs(inte,x=a))