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