Re: [sage-devel] Re: Making simplification safe

2012-03-12 Thread Michael Orlitzky
On 03/12/12 11:00, Peter H. wrote: > I should amend my comment, since I was sloppy. Neither `x+1` nor `-x > -1` is inherently positive or negative. `|x+1|` is the only thing > that is, so that output would be the most correct result of your real > expression. If Maxima doesn't actually return th

Re: [sage-devel] Re: Making simplification safe

2012-03-11 Thread David Roe
In this case I have to agree with Richard. The problem is not for real domains, where it's possible to make a continuous choice of square root. But for complex input there's no nice way to choose which root you want. See http://en.wikipedia.org/wiki/Complex_plane#Multi-valued_relationships_and_bra

Re: [sage-devel] Re: Making simplification safe

2012-03-10 Thread Michael Orlitzky
On 03/10/2012 08:32 AM, rjf wrote: You pretty much are missing the boat on what to do here. You seem to think you are constrained to return something that Maxima returns, and simultaneously think that you are building some kind of new mathematical "correct" system. There are two branches to the

Re: [sage-devel] Re: Making simplification safe

2012-03-06 Thread Michael Orlitzky
On 03/06/12 14:26, Oscar Lazo wrote: >> >> 2. We can replace the existing simplify with, >> >>simplify_factorial -> >>simplify_trig -> >>simplify_rational -> >>simplify_log >> >> which seem to be safe in practice. I like this, because it does actually >> try to simplify the expressi

Re: [sage-devel] Re: Making simplification safe

2012-03-06 Thread Michael Orlitzky
On 03/06/12 12:17, Michael Orlitzky wrote: > This is very wrong over the reals, where we *should* get abs(x+1) rather > than choosing +(x+1) or -(x+1) randomly. It's also super frickin' wrong over the complex numbers: http://trac.sagemath.org/sage_trac/ticket/12322 but that's not the problem I

Re: [sage-devel] Re: Making simplification safe

2012-03-06 Thread Michael Orlitzky
On 03/06/12 12:03, daniel.kho wrote: >>sage: f = sqrt(x^2 + 2*x + 1) >>sage: f.full_simplify() >>x + 1 >> >> I think the user should have to try *really* hard to ask us for this >> simplification. >> >> Right now, simplify() just sends an expression to maxima and back. Full >> simplify