Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Rubi 4.5 released
Replies: 21   Last Post: Jun 29, 2014 4:29 AM

 Messages: [ Previous | Next ]
 clicliclic@freenet.de Posts: 1,245 Registered: 4/26/08
Re: Rubi 4.5 released
Posted: Jun 22, 2014 8:15 AM

Albert Rich schrieb:
>
> On Friday, June 20, 2014 4:56:06 PM UTC-10, Nasser M. Abbasi wrote:
>

> >
> > Int[ArcSin[Sqrt[x + 1] - Sqrt[x]], x]
> >
> > Out[68]= (-x)*ArcSin[Sqrt[x] - Sqrt[1 + x]] +
> > Subst[Int[Sqrt[1 - x^2 + x*Sqrt[-1 + x^2]], x], x, Sqrt[1 + x]]/Sqrt[2]

>
> As the above output shows, using integration by parts Rubi is able to
> find one term of the antiderivative (ie (-x)*ArcSin[Sqrt[x]). However
> it is unable to integrate the resulting algebraic integrand
>
> Sqrt[-x + Sqrt[x]*Sqrt[1 + x]]/Sqrt[1 + x]
>
> to get the antiderivative
>
> 1/2*(Sqrt[x] + 3*Sqrt[1 + x])*Sqrt[-x + Sqrt[x]*Sqrt[1 + x]] -
> 3*ArcSin[Sqrt[x] - Sqrt[1 + x]]/(2*Sqrt[2])
>
> Mathematica is able to integrate it but gets an antiderivative 3 times
> the above size. I do not know how to integrate this algebraic
> integrand. Tell me the integration steps you would use to integrate
> it, and I will be happy to teach Rubi how to do it.
>

Perhaps the best way is to manipulate the complex roots, as we did when
Rubi 2 was taught to handle Bondarenko's 'An exact 1-D integration
challenge - 58 - (sqrt)' in 2010. For arbitrary complex x we have:

SQRT(x + 1) = SQRT(1 - #i*SQRT(x))*SQRT(1 + #i*SQRT(x))

SQRT(SQRT(x)*(SQRT(x + 1) - SQRT(x))) =
SQRT(SQRT(x))*SQRT(SQRT(x + 1) - SQRT(x))

SQRT(2)*SQRT(SQRT(x + 1) - SQRT(x)) =
SQRT(#i)*SQRT(1 + #i*SQRT(x)) + SQRT(-#i)*SQRT(1 - #i*SQRT(x))

The first identity is well known, the second holds since
|PHASE(SQRT(x))| <= pi/2 and |PHASE(SQRT(x+1) - SQRT(x))| < pi/2, and
the third was derived in 2010. So we can write:

INT(SQRT(SQRT(x)*(SQRT(x + 1) - SQRT(x)))/SQRT(x + 1), x)
= INT(SQRT(SQRT(x))*SQRT(SQRT(x + 1) - SQRT(x))/SQRT(x + 1), x)
= INT(SQRT(SQRT(x))*(SQRT(#i)*SQRT(1 + #i*SQRT(x))
+ SQRT(-#i)*SQRT(1 - #i*SQRT(x)))
/ (SQRT(2)*SQRT(1 - #i*SQRT(x))*SQRT(1 + #i*SQRT(x))), x)
= INT(SQRT(#i)*x^(1/4)/(SQRT(2)*SQRT(1 - #i*SQRT(x))), x)
+ INT(SQRT(-#i)*x^(1/4)/(SQRT(2)*SQRT(1 + #i*SQRT(x))), x)

where the final integrals should be no problem for Rubi. The alternative
would be to use variable substitution; one way is described by
Charlwood, another is to apply the substitution t = SQRT(x + 1) -
SQRT(x), SQRT(x) = (1 - t^2)/(2*t), dx = (t^4 - 1)/ (2*t^3)*dt to the
integral:

INT(SQRT(SQRT(x))*SQRT(SQRT(x + 1) - SQRT(x))/SQRT(x + 1), x)

Martin.