From: Eduardo O. <edu...@gm...> - 2025-04-26 11:25:38
|
I understood some parts - but at least I have better questions now. If I run this simpler example, trace(?dim\-%at); o : 'at(f(x), x=a); I get: (%i1) trace(?dim\-%at); (%o1) [dim-%at] (%i2) o : 'at(f(x), x=a); │ 1 Call dim\-%at [f(x)│ , 0( , ), 2, o, %, ()] │x = a 1 Return dim\-%at 0((d-vbar, 2, 1, │), ), x, (, f, (0, 0), , ), 2, o, %, () │ (%o2) f(x)│ │x = a (%i3) My first impression is that dim-%at was called with two arguments - my `o' and this "call to 0", apply(\0, reverse(charlist("(%o2) "))); and it returned this other "call to 0", in which some arguments looks like tuples. I don't know how to synthesize them from Maxima yet, so in the code below I replaced them with strings just to get something that looks like the thing after the "Return dim\-%at" above... o2 : reverse(charlist("(%o2) ")); ofx : reverse(charlist("f(x)")); ovbar : ["(d-vbar, 2, 1, │)"]; o00 : ["(0, 0)"]; append(ovbar, ofx, o00, o2); apply(\0, append(ovbar, ofx, o00, o2)); What are the "calls to 0" and the "tuples" in the output of trace above? Thanks in advance, more later, etc... Eduardo On Sat, 26 Apr 2025 at 05:19, Michel Talon <ta...@lp...> wrote: > First try thefollowing commands: > > trace(?dim\-%at); > > atvalue ('diff (f(x,y), x), x = 0, 1 + y); > > printprops (all, atvalue); > > I think what appears can be understood readily. > |