From: David S. <d.s...@go...> - 2025-03-06 17:06:18
|
Richard Fateman <fa...@gm...>: > If you type a command to Maxima, say f(a,b), defined by f(x,y):= .... > stuff; > then the top-level read-eval-print loop > evaluates (and simplifies) a, then b, and then applies f to these > arguments. > I think there's another Maxima bug exactly in this step. Do :lisp (trace simplifya) to see all simplifier calls, then type something like your example: atan2(a, b); You'll see that Maxima first simplifies $A, $B and then ((%ATAN2) $A $B). But when simplifying the atan2, the second argument to SIMPLIFYA is NIL. That means "the arguments are not simplified". But it just simplified them! The result is that $A and $B are simplified a second time. It becomes even more evident when doing something like atan2(sin(x), cos(x)) because you'll see that %SIN and %COS already have the SIMP flag, yet Maxima tells the simplifier that they're not simplified. Is this indeed a bug, or is there some obscure case where this is necessary? Best regards David Scherfgen > |