oldk1331 wrote: > > Is this the same as not simplifying "sqrt(6)-sqrt(2)*sqrt(3)" to 0?
Somewhat related but not the same. One thing is that internaly '((2)^(1/4))^2' and '(2)^(1/2)' are different. This is closely related to the fact that internally 'sqrt(6)' is different than 'sqrt(2)*sqrt(3)'. In both cases internal representations are different for mathematical reasons: we can not assert equality without extra assumptions/information. However, the main issue is that we should not introduce things like "sqrt(6)-sqrt(2)*sqrt(3)" or "((2)^(1/4))^2 - (2)^(1/2)" during default simplifications. And our square root is creating such things. To put this differently, much of Expression design is build on concept of normal representation: we should be able to recognize 0 just looking at representation. Users can give us nasty inputs like "sqrt(6)-sqrt(2)*sqrt(3)" for which we can not build normal representation, but we can resonably declare such inputs as user errors: FriCAS is not designed to give unswers to ill-posed questions. However, given well-posed problem FriCAS should never transform it to ill-posed one and this is essence of this bug: "(((2)^(1/2))^(1/2))^2 - (2)^(1/2)" is well-posed and should give 0. Actually, I discoverd this bug looking at integrate(1/(sqrt(10) - x^2)^(1/2), x) (reported in sci.math.symbolic by Martin "clicliclick") and why it falls into infinite loop. In core integrator we need fields and square root broke field assumption by introducing unresolvable redundancy. The integral above ilustrates also other problems with handling of square roots, but the above was the first one... -- Waldek Hebisch -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+unsubscr...@googlegroups.com. To post to this group, send email to fricas-devel@googlegroups.com. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.