On 05/14/2013 05:46 PM, Bill Eaton wrote:
> I have an interest in being able to do useful symbolic and numeric
> calculations with logarithms in base 10. I know there is a contrib
> module called log10. It works fine for doing numeric calculations, but
> doesn't behave how I'd like for generic symbolic manipulation.
Since log10(x) = log(x)/log(10), but log(10) is something that maxima
sometimes knows something about and therefore might do something you
don't want (for example it can be evaluated numerically) perhaps defining
log10(x) := log(x)/%log10;
which will allow you to work with logarithms in a way that maxima
understands but only in a purely symbolic way, and when you want to
evaluate numerically you can substitute into your expression
subst(%log10=log(10.0),myexpr);
This technique could be combined with Stavros' technique.
I find in maxima that I often need to modify my first impression about
how something should be done in order to make maxima work better for my
problem. After having done this for several years I consider it a
benefit in some ways, as I often discover something fundamental about my
problem by looking at it in a more algorithmic way.