Ask Your Question
1

simplify sqrt(x/y^2)*y

asked 2015-09-20 18:03:09 +0100

miguelython gravatar image

updated 2015-09-27 11:44:29 +0100

Hello my problem is with a bigger equation but the problem is bassicly this : sage: var('x','y', domain=real)
sage: assume(x>0)
sage: assume(y>0)
sage: e = sqrt(1/y^2)y
sage: e.simplify_full()
1
sage: e = sqrt(x/y^2)
y
sage: e.simplify_full()
y*sqrt(x/y^2)

Anyone explain me how to get just sqrt(x) and why it doesn't do directly? Thanks

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2015-09-20 20:29:23 +0100

nbruin gravatar image

I hope there is no way to coerce Sage into returning just x, because your expression is only equal to that for a very limited number of choices for x. Sage (Maxima, really) can be convinced to make branch choices to simplify the expression to sqrt(x), but not via assumptions, apparently. This does work:

sage: var('x,y')
(x, y)
sage: E=sqrt(x/y^2)*y
sage: E.canonicalize_radical()
sqrt(x)

See the documentation of canonicalize_radical for details.

edit flag offensive delete link more

Comments

thank you, I edited

miguelython gravatar imagemiguelython ( 2015-09-27 11:43:56 +0100 )edit
0

answered 2015-09-20 21:52:52 +0100

miguelython gravatar image

Yes, I mean just "x" part so sqrt(x)... sorry for not to be clear. Thanks. It works, but I wonder why canonicalize_radical isn't part of simplify_full?

edit flag offensive delete link more

Comments

This is because

sage: x = var('x', domain='real')
sage: assume(x<0)
sage: sqrt(x^2).canonicalize_radical()
x

and I guess you don't want this (note the x<0 assumption).

eric_g gravatar imageeric_g ( 2015-09-20 23:28:18 +0100 )edit

Miguel, note that sqrt(x^2) != x for x<0.

rws gravatar imagerws ( 2015-09-21 09:50:22 +0100 )edit

I don't want this beacause is false. I want sqrt(x^2)=abs(x) or in case ofassume(x>0) or assume(x<0) : sqrt(x^2)=x or sqrt(x^2)=-x resp

miguelython gravatar imagemiguelython ( 2015-09-27 12:17:05 +0100 )edit

I mean if I had the time and knowleage, I change it in the source code. Nevertheless, I'm thankful to all community of sagemath

miguelython gravatar imagemiguelython ( 2015-09-27 12:24:09 +0100 )edit

A fix should be possible with pynac-0.4.x (pynac is part of Sage); pynac git master already does sqrt(x^2) --> x for x>0 as side effect of other changes.

rws gravatar imagerws ( 2015-09-27 16:39:58 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2015-09-20 18:03:09 +0100

Seen: 824 times

Last updated: Sep 27 '15