I tried function "at" with some function inside it and then give the output to some variable. Maxima successfully differentiated the expression, but then "at" fails and the output is "at( --some successfully done function--, z=l)=0". I need "at" to work properly, to give the result to a variable.
(%i34) a: 45*z^2*l-1; /*expression*/
eq1: at(diff(a, z, 1), z = l)=0; /*giving the meaning of the operations to eq1*/
at(diff(a, z, 1), z = l)=0; /*trying the same without giving the result to a variable*/
ev(eq1, eval); /*trying ev*/
(a) l*z^2* 45-1
(eq1) at(2*l*z* 45,z=l)=0
(%o34) 2*l^2* 45=0
(%o35) at(2*l*z* 45,z=l)=0
So when I don't give the result of at to other variables, it's fine but when I try to - it fails even with additional evaluation. How does that work? And also this was tried on Linux. On Windows I don't have the same problem.
I get the following output. Isn't %o3 what you are looking for?
(%i2) a: 45*z^2*l-1;
2
(%o2) 45 l z - 1
(%i3) eq1: at(diff(a, z, 1), z = l)=0;
2
(%o3) 90 l = 0
I am working w/ Maxima 5.42.2 on MacOS. What does build_info();
report on your Linux system? Some Linux distributions package an ancient version of Maxima; maybe you can get a newer version. It is actually pretty easy to build Maxima from a source tarball on a Linux system; I can help if you want to go down that road.