|
From: Jérémy B. <jer...@gm...> - 2026-01-16 17:20:28
|
Stavros Macrakis do you mean https://maxima.sourceforge.io/docs/manual/maxima_singlepage.html#Item_003a-Debugging_002fdeffn_002ftrace ? E.g. inverse a function: (%i1) assume(0<a,0<b,b<1,0<c,0<=x,x<=%pi); y(x):=(a^(1/2)*(1-b*cos(x))^2)/c^(3/2); trace(all); solve(y=y(x),x); (%o1) [a > 0, b > 0, b < 1, c > 0, x >= 0, x <= %pi] (%i2) 1/2 2 a (1 - b cos(x)) (%o2) y(x) := ──────────────────── 3/2 c (%i3) (%o3) [y] (%i4) 1 Call y [x] 2 sqrt(a) (1 - b cos(x)) 1 Return y ─────────────────────── 3/2 c solve: using arc-trig functions to get a solution. Some solutions will be lost. 3/4 3/4 c sqrt(y) 1 c sqrt(y) 1 (%o4) [x = %pi - acos(──────────── - ─), x = acos(──────────── + ─)] 1/4 b 1/4 b a b a b The 2nd result x is an error: it assumes the step 1-b*cos(x)=±y^(1/2)*c^(3/4)/a^(1/4) but it is only 1-b*cos(x)=y^(1/2)*c^(3/4)/a^(1/4) The 1st result x is true but not simplified: 2 instances of b & that complication with pi, the simplified result: x=acos((1-y^(1/2)*c^(3/4)/a^(1/4))/b) Although trace(all); no step (with 1 wrong)... I dream of e.g.: step(all); assume(0<a,0<b,b<1,0<c,0<=x,x<=%pi); solve((a^(1/2)*(1-b*cos(x))^2)/c^(3/2)=y,x); (1-b*cos(x))^2=y*c^(3/2)/a^(1/2) 1-b*cos(x)=y^(1/2)*c^(3/4)/a^(1/4) b*cos(x=1-y^(1/2)*c^(3/4)/a^(1/4) cos(x)=(1-y^(1/2)*c^(3/4)/a^(1/4))/b x=acos((1-y^(1/2)*c^(3/4)/a^(1/4))/b) Dear developers, you have work... So now, step by step would be nice for verification... & also what I mean in my 1st email are: I like not to get a result without knowing where it comes from, without step by step, & you can still learn from a complicated software, e.g. a tip we would not have thought of. |