> matchdeclare([a,b],true);
> defrule(h,log(a) - log(b),log(a/b));
> apply1([expression], h);
I tried to apply this to a very simple example:
matchdeclare([a,b],true);
defrule(h,log(a) - log(b),log(a/b));
log(a) - log(b);
apply1(%, h);
and it did not work: by default, the logarithms are splitted. Thus the
second line already gives the following output:
h : log(a) - log(b) -> log(a) - log(b)
and applying this rule does of course lead to nothing.
..........
logcontract(%), though, works with this simple example, but applying it
at the end of my code really makes things messy...
I've got a little bit further by adding the following lines to my code:
sol:radcan(%);
defrule(h1,2*v0^2-4*a*t*v0+2*a^2*t^2,2*(v0-a*t)^2);
defrule(h2,-2*v0^2+4*a*t*v0-2*a^2*t^2,-2*(v0-a*t)^2);
apply1(sol,h1);
apply1(%,h2);
..........
The instruction
defrule(h,log(v0-a*t) - log(v0),log(1-a*t/v0));
really works in priciple, but applying it to the output of the last
apply1-operation again leads to nothing.
..........
Besides my actual problem, again the question: Is there any 'real life'
introduction to Maxima? What reading would you suggest? The PDFs I have
found so far are either comprising (maxima.pdf) or rather short
(intromax.pdf). I don't feel that I have learned how to really work with
Maxima.
I am writing a book at the moment and I would like to provide the reader
with automated Maxima proofs in order to keep the book's text as short
as possible.
Of course, I could take Maxima's solution of the ODE and massage it by
hand, but this is not my intention!
Greatings from M?nster, Germany
Wolfgang Hugemann