Error: (in int) wrong number (or type) of parameters in function iquo
This error is caused by a bug in Release 4 affecting some integrals with nested radicals.
> int(sqrt(x+sqrt(x)),x);
Error, (in int) wrong number (or type) of parameters in function iquo
> int(sqrt(1+y^(-2/3)),y=1..2);
Error, (in int) wrong number (or type) of parameters in function iquo
The bug is fixed in Release 5.
A work-around is to apply a change of variables, using changevar from the student package.
> with(student,changevar);
> changevar(sqrt(x)=t,Int(sqrt(x+sqrt(x)),x),t);
> value(");
> F:=subs(t=sqrt(x),");
It's prudent to check an integral by differentiating it and comparing to the original integrand.
> diff(F,x);
> normal("-sqrt(x+sqrt(x)));
In the second example:
> changevar(y^(-2/3)=t,Int(sqrt(1+y^(-2/3)),y=1..2),t);
> value(");
A definite integral can be checked by comparing it to a numerical approximation.
> evalf(");
> evalf(Int(sqrt(1+y^(-2/3)),y=1..2));
Confirming the necessity of checking the result, another bug produces incorrect results for very similar integrals:
> J:=changevar(y^(-2/3)=t,Int(sqrt(1-y^(-2/3)),y=1..2),t);
> value(J);
> evalf(");
The numerical approximation is
> evalf(Int(sqrt(1-y^(-2/3)),y=1..2));
In this case the correct result would be produced by combining the fractional powers.
> Int(3/2*sqrt((1-t)/t^5),t = 1/2*2^(1/3) .. 1);
> value(");
> evalf(");
See also:
Errors in symbolic integration , int , Integrals involving fractional powers , Numerical Integration
Maple Advisor Database R. Israel 1998