Thanks for reporting this problem!
It turns out that there are two issues here:
1) tellsimpafter attaches the simplification property to the *verb* laplace,
not the *noun* laplace (cf. noun and verb section of
manual<http://maxima.sourceforge.net/docs/manual/en/maxima_6.html#SEC31>),
but the simplification needs to be on the noun. It is unclear whether this
is a bug; it is conceivable that one would want different transformations
on the verb form and the noun form.
2) when the laplace function returns a result, it marks it as simplified
without giving the simplifier a chance to apply tellsimpafter rules. This
is a bug, which should be corrected.
The workaround for the first problem is to explicitly define the
simplification on the noun form:
tellsimpafter('laplace(T1(t),t,s),T1(s))
The workaround for the second problem is to resimplify the result of
laplace, using expand(...,0,0) -- this resimplifies the expression without
actually doing any expansions.
Putting it together:
(%i1) display2d:false;
(%o1) false
(%i2) tellsimpafter('laplace(T1(t),t,s),T1(s));
(%o2) [laplacerule1,false]
(%i3) laplace(T1(t),t,s);
(%o3) 'laplace(T1(t),t,s)
(%i4) expand(%,0,0);
(%o4) T1(s)
Does this solve your problem?
-s
On Sun, Nov 25, 2012 at 11:07 AM, Michael Roth <mroth at nessie.de> wrote:
> Hello,
>
> first, thank you for all your effort to make Maxima such a nice open
> source project!
>
> Now, for my question: I'm playing a little bit with laplace in Maxima and
> have a small problem:
>
> (%i1) declare(T1, linear);
> (%o1) done
>
> (%i2) laplace(T1(2*t+3), t, s);
> 3 T1(1)
> (%o2) 2 laplace(T1(t), t, s) + -------
> s
>
> Now I would like to have T1(s) instead laplace(T1(t), t, s):
>
> (%i3) %, laplace(T1(t), t, s) = T1(s);
> 3 T1(1)
> (%o3) 2 T1(s) + -------
> s
>
> This worked fine. But now I try to make this simplification self-acting:
>
> (%i4) tellsimpafter(laplace(T1(t), t, s), T1(s));
> (%o4) [laplacerule1, false]
>
> (%i5) laplace(T1(2*t+3), t, s);
> 3 T1(1)
> (%o5) 2 laplace(T1(t), t, s) + -------
> s
>
> But this doesn't work. Why? How can I achieve that laplace(T1(t), t, s)
> gets automatically rewritten to T1(s)?
>
> Thanks,
>
> Michael Roth
>
>
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>
>