Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I rested on this tutorial.

After issuing the command with "solve" function:

%i2 solve((a-b-sqrt(-c^2+2*c*y-y^2+r^2))^2+(d-y)^2=2*r^2*(1-cos(e)),y);

The output is: enter image description here

Why there is unknown quantity "y" on the right side?


There's no "Maxima" tag, what a pity! However, I was redirected here by a stackoverflow moderator, so I assume it is not offtopic.

Maxima is a computer algebra system based on a 1982 version of Macsyma. It is written in Common Lisp and runs on all POSIX platforms such as Mac OS X, Unix, BSD, and GNU/Linux as well as under Microsoft Windows. It is free software released under the terms of the GNU General Public License.

share|cite|improve this question
Clearly, Maxima was not entirely successful at isolating the variable you want... – J. M. Jul 23 '12 at 0:42
@J.M. Was it my fault? – 0x6B6F77616C74 Jul 23 '12 at 0:47
W|A spits out a pretty lengthy result that doesn't seem to have $y=$ (something with $y$ in it)... – The Chaz 2.0 Jul 23 '12 at 0:50
@TheChaz there are two "y" under the square root. Or this "W|A" shortcut which I don't understand (google also doesn't know anything about "W|A maxima") is significant. – 0x6B6F77616C74 Jul 23 '12 at 1:05
I copied your code "solve(...,y)" into – The Chaz 2.0 Jul 23 '12 at 1:16
up vote 4 down vote accepted

The general solve command in Macsyma has limited capabilities for dealing with algebraic functions. You can work around this by using the rational function package as in the code below. There I define w to be the sqrt, then solve for w, square, then solve for y.

(algebraic:true, tellrat( w^2 = -c^2+2*c*y-y^2+r^2 ));

solve(rat(solve(rat((a-b-w)^2+(d-y)^2 = 2*r^2*(1-cos(e))),w)^2),y)

share|cite|improve this answer
This is useful. – copper.hat Jul 23 '12 at 3:01
The result is five lines long, like in the – 0x6B6F77616C74 Jul 23 '12 at 14:53
Thanks, this helped a lot. Could you explain a little more what rat() and tellrat() are doing here and why these steps are used. I was able to solve an equation with this method but I'm bother that I don't really understand why it works. – jcoffland Nov 17 '15 at 22:03

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.