[Date Index]
[Thread Index]
[Author Index]
Re: log expression not simplified
*To*: mathgroup at smc.vnet.net
*Subject*: [mg115698] Re: log expression not simplified
*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>
*Date*: Tue, 18 Jan 2011 05:53:23 -0500 (EST)
On 17 Jan 2011, at 11:41, Praeceptor wrote:
> Sorry, can anybody help me understand why
>
> Simplify[Log[a/b]/Log[b/a], Assumptions -> {a > 0, b > a}]
>
> doesn't reduce to -1 ??
> Thanks (it's for a simple Carnot cycle calculation...)!
>
Simplify can verify that this is indeed the case
Simplify[Log[a/b]/Log[b/a] == -1,
Assumptions -> {a > 0, b > a}]
True
However, it is hard to get it to simplify the expression to -1 because the only way to do so seems to involve temporarily increasing the default complexity. Thus, to get it to work we need a craftily designed custom complexity function, like, for example, this one:
f[expr_] := -2 Count[expr, _Log, {0, Infinity}] + LeafCount[expr]
This function "rewards" Simplify for expanding logs and, in this case, the "incentive" works:
Simplify[Log[a/b]/Log[b/a], Assumptions -> {a > 0, b > a},
ComplexityFunction -> f]
-1
But trying to find the right function is clearly not worth the effort; a much better way is to use PowerExpand with Assumptions followed by Simplify:
PowerExpand[Log[a/b]/Log[b/a],
Assumptions -> {a > 0, b > a}] // Simplify
-1
(Using PowerExpand without Assumptions does not guarantee that the answer is correct).
Andrzej Kozlowski
Prev by Date:
**Re: Help with non-linear system of equations (Trigonometric and Polynomial)**
Next by Date:
**Re: question about CUDA**
Previous by thread:
** Re: log expression not simplified**
Next by thread:
**Re: log expression not simplified**
| |