Re: Simplifying Logs

*To*: mathgroup at smc.vnet.net*Subject*: [mg113157] Re: Simplifying Logs*From*: Andrzej Kozlowski <akozlowski at gmail.com>*Date*: Fri, 15 Oct 2010 13:53:29 -0400 (EDT)*References*: <i93k7o$e4s$1@smc.vnet.net> <201010140327.XAA06157@smc.vnet.net>

On 14 Oct 2010, at 05:27, gekko wrote: > 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 This isn't quite true. In fact 1+Log[a]-Log[b] is more complex according = to the default complexity function than Log[E a/b]. The default = complexity of the former is 9 while the later is 8 (Leaf count, which = gives answers close to the default complexity is 8 and 7 accordingly. The real reason why the simplification does not work seems to be due to = the fact that Mathematica lacks a suitable transformation function and = it will never replace 1 by Log[E] (since Log[E] is automatically = converted to 1). Andrzej Kozlowski

**References**:**Re: Simplifying Logs***From:*gekko <pfalloon@gmail.com>