From: Raymond T. <toy...@gm...> - 2024-08-26 13:32:23
|
On 8/26/24 4:34 AM, Barton Willis via Maxima-discuss wrote: > The function |changevar| (defined in |outmis)| calls |radcan|. I'm > pretty sure that |radcan| is responsible for the conversion from > |sqrt(1-sin(theta)^2)| to a product of square roots; tracing |radcan > and running your example|, I see: > > 1" Enter "radcan" "[cos(theta)*sqrt(1-sin(theta)^2)] > > 1" Exit "radcan" "cos(theta)*sqrt(1-sin(theta))*sqrt(sin(theta)+1) > > (nexpr) integrate(cos(theta)*sqrt(1-sin(theta))*sqrt(sin(theta)+1),theta) > (nexpr) integrate(cos(theta)*sqrt(1-sin(theta)^2),theta) > > > If you like to experiment, try removing the call to |radcan| in > |changevar| and run the testsuite. How many testsuite failures are > due to incorrect answers and how many of them just alter the answer > syntactically? Could this call to |radcan| be replaced by some other > simplification function that gives "better" results? Perhaps we should consider replacing the call to radcan with, maybe ratsimp? We’ve done this in other places over the years. Radcan sometimes chooses the wrong branch for sqrts. Don’t know if that’s the case here. Ray |