I have this simple set of equations which obviously has a solution. Why doesn't wxMaxima find the solution?
(%i24) kill(all);
(%o0) done
(%i1) eq1:43=%pi/4*d*d*h;
(eq1) 43=(%pi*d^2*h)/4
(%i2) eq2:d1=d0-2*h;
(eq2) d1=d0-2*h
(%i3) eq3:d0=9;
(eq3) d0=9
(%i4) eq4:d=(d0+d1)/2;
(eq4) d=(d1+d0)/2
(%i8) float(solve([eq1,eq2,eq3,eq4],[d,d1,h]));
(%o8) []

This looks like a bug in solve. I'm not sure what the problem is, but
solvecan find the solutions with just equationseq2,eq3, andeq4:Then substitute this into
eq1:Finally,
solvecan produce roots of this cubic equation. It's really messy, and it seems you want a numerical solution, so:We can substitute these 3 roots back into the solutions found in
%o90to get the desired results:Maxima should be able to figure this out for itself, but it can't. The last solution
[d = 8.18222050767276, d1 = 7.36444101534552, h = 0.8177794923272401, d0 = 9]is the answer you get with the other software.This issue is being tracked as Maxima issue 4247. And curiously, if you replace
%piby, say,pp.solvecan find a solution. It's quite messy since it involves the solution of a cubic, but converting the answer to floating point (andrectform) produces the same answer as above, except there are some spurious imaginary parts that are very close to zero.