Well, I have been thinking about this for a while, not just today. The "pwdelta(x)^2" answer comes up a lot when you try
integrate(diff(pw(L1,x),x)*diff(pw(L2,x),x),x);
-> complicated stuff goes here + ...pwdelta(x)^2 + ... more stuff
and in other similar situations. You can theoretically use the answer to go backwards and get the original input
('integrate('diff(pw(L1,x),x)*'diff(pw(L2,x),x),x)) but I have not written anything like that. Another recent post to this list was
about factoring a polynomial and getting a sum of products of linear factors and there is no such algorithm in Maxima for that
either. That does not mean there should be or shouldn't be. There just isn't.
The idea that pwdelta(expr) is a distribution is one interpretation. There are others. pwdelta() like diracdelta() can be
overloaded terms (like function names in a programming sense) that don't always mean the same thing. That is not good if you cannot
understand the answer from the context. I like the idea of using them when ambiguities are not present. You can make an argument
that overloaded terms are always bad but Maxima uses them anyway in some contexts.
(%i1) display2d:false;
(out1) false
(%i2) laplace (delta (t - a) * sin(b*t), t, s);
Is a positive, negative, or zero?
p;
(out2) sin(a*b)*%e^-(a*s)
(%i3) lni();
(out3) "modified noninteractive.mac loaded"
(%i4) laplace (delta (t - a) * sin(b*t), t, s);
(out4) (signum(a)+1)*sin(a*b)*%e^-(a*s)/2
(%i5)
I have not checked this result but I guess it is right. lni() is very experimental and I have excluded it from pw.mac for now
because of this but the idea still has merit. Another example...
(%i1) (lni(),ratprint:false);
(out1) false
(%i2) integrate(1/(x^2+1)*exp(-2*%pi*%i*x*t),x,minf,inf);
(out2) %pi*%e^(-2*%pi*abs(t))
(%i3) integrate(1/(x^4+1)*exp(-2*%pi*%i*x*t),x,minf,inf);
(out3) (%e^(-sqrt(2)*%pi*abs(t))*(sqrt(2)*%pi*sin(sqrt(2)*%pi*abs(t))+sqrt(2)*%pi*cos(sqrt(2)*%pi*abs(t))))/2
No confusion here or in the laplace example. Not sure how to check the Fourier transform answers yet since the inverse does not
work. Maxima has no algorithm for that either. Maybe it should?
Rich
----- Original Message -----
From: "Richard Fateman" <fateman at cs.berkeley.edu>
To: "Richard Hennessy" <rich.hennessy at verizon.net>
Cc: "Richard Fateman" <fateman at EECS.Berkeley.EDU>; "Maxima List" <maxima at math.utexas.edu>
Sent: Monday, August 10, 2009 6:53 PM
Subject: Re: [Maxima] Limit is wrong
Richard Hennessy wrote:
> I think the notation of the Kronecker delta function and the DiracDelta function are a nice idea. In many cases it is the easiest
> way to represent the answer or a theorem or proposition. So is signum(expr) any different.
>
> Rich
>
I don't have details at my fingertips, but I think that computing with
"distributions" violates some of the ordinary axioms of computation that
Maxima takes for granted. That is not to say they can't be used, but
that it may be a bad idea to release them "unconditionally". Using them
as an answer for human consumption is different from using them as input
to a Maxima function. Maybe it is worth a brief study (by you?)
RJF