On 2/8/08, Helge Hansen <hansen at akb-antriebstechnik.de> wrote:
> Does anybody understand why K2 in the following script is not solved global?
> What am I doing wrong? In my opinion the last line should be:
> M(z)=z*A-(q*z^2)/2
>
> (%i1) M(z)::=K2+A*z-q*z^2/2;
> (%o1) M(z)::=K2+A*z+((-q)*z^2)/2
>
> (%i2) globalsolve:true$
>
> (%i3) solve([M(z)=0,z=0],[K2,z]);
Well, M(z) = 0 is not a linear equation, so solve ignores globalsolve.
The documentation for globalsolve states that, although globalsolve
is a mess anyway so it is impossible to be entirely clear about it.
My advice is to ignore globalsolve and find another way.
Maybe subst(K2=0, M(z)) or ev(M(z), K2=0) yields the expected result.
I think the Maxima developers should consider cutting out globalsolve.
Its implementation is a mess, and even if it worked right, it would
make a mess for the user by causing assignments.
best
Robert Dodier