MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

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















  • Prev by Date: Question about classes package
  • Next by Date: Re: Tempvar zombies littering my context!
  • Previous by thread: Why this cannot be solved (Mathematica 8)
  • Next by thread: Create Paclet type documentation