Re: Simplifying Logs

*To*: mathgroup at smc.vnet.net*Subject*: [mg113122] Re: Simplifying Logs*From*: gekko <pfalloon at gmail.com>*Date*: Wed, 13 Oct 2010 23:27:05 -0400 (EDT)*References*: <i93k7o$e4s$1@smc.vnet.net>

On Oct 13, 5:39 pm, Themis Matsoukas <tmatsou... at me.com> wrote: > This works as expected and combines the logs: > > Simplify[Log[a] - Log[b], Assumptions -> {a > 0, b > 0}] > > Log[a/b] > > But this doesn't: > > Simplify[1 + Log[a] - Log[b], Assumptions -> {a > 0, b > 0}] > > 1 + Log[a] - Log[b] > > This seems inconsistent to me. I suppose I would like to see a CombineLog= s command in the future. > > Themis This is an interesting example. The reason Mathematica doesn't combine the logs in the second case is that it doesn't consider that the original expression is any simpler than the original one. The exact details of why depend on the definition of the default ComplexityFunction used by Simplify (an implementation of this is given in the function SimplifyCount, defined in the help menu page for ComplexityFunction, under the "Properties & Relations" tab). You could specify an alternative ComplexityFunction, but probably the simplest is to use a custom rule to perform the desired simplification, e.g. In[1] := 1 + 2 Log[a] - 3 Log[b] /. x_. Log[a_] + y_. Log[b_] :> Log[a^x b^y] Out[1] = 1 + Log[a^2/b^3]

**Follow-Ups**:**Re: Simplifying Logs***From:*Andrzej Kozlowski <akozlowski@gmail.com>