Re: Why this cannot be solved (Mathematica 8)
- To: mathgroup at smc.vnet.net
- Subject: [mg114463] Re: Why this cannot be solved (Mathematica 8)
- From: Roland Franzius <roland.franzius at uos.de>
- Date: Sun, 5 Dec 2010 21:50:26 -0500 (EST)
- References: <idd7sh$nhc$1@smc.vnet.net>
Am 04.12.2010 12:15, schrieb olfa:
> Hi Mathematica Community,
> Solve[
> 2^-y t == 2^-yP tP&&
> t x + z == tP xP + zP&&
> y + Floor[Log[x]/Log[2]] == yP + Floor[Log[xP]/Log[2]]&&
> xP == 1&&
> (x Log[v])/Log[2] + Log[w]/Log[2] == (xP Log[vP])/ Log[2] + Log[wP]/
> Log[2]&&
> -y + Log[Log[v]]/Log[2] == -yP + Log[Log[vP]]/Log[2]&&
> -y + (2 Log[Log[v]])/Log[4] == -yP + (2 Log[Log[vP]])/Log[4],
> {tP, vP, wP, xP, yP, zP}]
>
> still in running
>
Probably it hangs because verification is imposible without Assumptions
about the arguments of logaritm. The step by step solution is
straightforward
r = 2^-y t == 2^-yP tP &&
t x + z == tP xP + zP &&
y + Floor[Log[x]/Log[2]] == yP + Floor[Log[xP]/Log[2]] &&
xP == 1 &&
(x Log[v])/Log[2] +
Log[w]/Log[2] == (xP Log[vP])/Log[2] + Log[wP]/Log[2] &&
-y + Log[Log[v]]/Log[2] == -yP + Log[Log[vP]]/Log[2] &&
-y + (2 Log[Log[v]])/Log[4] == -yP + (2 Log[Log[vP]])/Log[4]
sol = Solve[2^-y t == 2^-yP tP, yP] // First
{yP -> -(Log[t/(2^y*tP)]/Log[2])}
r1 = r /. sol // FullSimplify
xP == 1 && t*x + z == tP*xP + zP &&
y + Floor[Log[x]/Log[2]] + Log[t/(2^y*tP)]/Log[2] ==
Floor[Log[xP]/Log[2]] && x*Log[v] + Log[w] ==
xP*Log[vP] + Log[wP] && y*Log[2] + Log[t/(2^y*tP)] +
Log[Log[vP]] == Log[Log[v]]
sol = Join[sol, Solve[Take[r1, 2], {xP, zP}][[1]] ]
{yP -> -(Log[t/(2^y*tP)]/Log[2]), zP -> -tP + t*x + z, xP -> 1}
r2 = FullSimplify[r /. sol]
(y + Floor[Log[x]/Log[2]])*Log[2] + Log[t/(2^y*tP)] == 0 &&
x*Log[v] + Log[w] == Log[vP] + Log[wP] &&
y*Log[2] + Log[t/(2^y*tP)] + Log[Log[vP]] == Log[Log[v]]
sol = Join[sol, Solve[r2[[1]], tP][[1]]]
{yP -> -(Log[t/(2^y*tP)]/Log[2]), zP -> -tP + t*x + z, xP -> 1,
tP -> 2^Floor[Log[x]/Log[2]]*t}
r3 = Assuming[x > 0 && w > 0, FullSimplify@PowerExpand[r2 /. sol]]
x*Log[v] + Log[w] == Log[vP] + Log[wP] &&
Floor[Log[x]/Log[2]]*Log[2] + Log[Log[v]] == Log[Log[vP]]
sol = Join[sol, Solve[r3, {vP, wP}][[1]]]
{yP -> -(Log[t/(2^y*tP)]/Log[2]),
zP -> -tP + t*x + z, xP -> 1,
tP -> 2^Floor[Log[x]/Log[2]]*t,
wP -> v^(-2^Floor[Log[x]/Log[2]] + x)*w,
vP -> v^2^Floor[Log[x]/Log[2]]}
Test:
Assuming[x > 0 && w > 0 && z > 0 && v > 0,
FullSimplify@PowerExpand[r //. sol]]
True
--
Roland Franzius