teaching Maxima logarithms



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.