log10, was: bug report, or am I doing something wrong?



> actually, i'm in favor of this, although i would call it log10.
> the difficulty with log10(x) := log(x)/log(10); is that log10
> goes away as soon as it is entered (and in its place, log appears).
> what i want to see is log10 acting as a distinct function,
> which doesn't simplify to log automatically.

Understood, but that means you lose all of Maxima's "knowledge" about
logs.  You would presumably want log10(a*b) to simplify to
log10(a)+log10(b), etc., which would mean duplicating the log
simplifier.  You would want logcontract, integrate, limit, realpart,
etc. to operate on log10.  You would want comparison to know that
log10(x)<log(x) when x>1, etc. etc.

Reducing things to quasi-canonical form is one of the ways Maxima
works; having more than one representation for the same or very
similar things (e.g. x! vs. gamma(x+1)) tends to cause complications.
Maxima does support some simple extensions for arbitrary functions
(notably grad), but once you get beyond those, you essentially have to
build a whole infrastructure from scratch, and modify functions all
over the system.

             -s