9
$\begingroup$

Bug fixed in 10.2.0


In the course of developing a solution to Question 79183, I solved the equation

g[k2_] := (-510 k2 + (25761/4 - 6619 E^-k2) Log[26476/23721])/
  (-k2 + Log[26476/23721])
ans = Solve[g[k2] == 0, k2, Reals][[1, 1, 2]]

(* 1/680 (17174 Log[2] - 8587 Log[3] + 8587 Log[6619] - 8587 Log[7907] + 
     680 ProductLog[-((10579732023355105126853211737189792087286301059526347 
    (23721/6619)^(427/680) (2 Log[2] - Log[3] + Log[6619] - Log[7907]))/
    (6094176174584836754563581701959401731388819751567360 2^(87/340)))]) *)

and attempted to simplify it by

FullSimplify[ans]

However, the result included Hold,

(* 8587/680 Log[26476/23721] + 
     ProductLog[-((10579732023355105126853211737189792087286301059526347 
     Log[Hold[(26476/23721)^((23721/6619)^(427/680)/2^(87/340))]])/
     6094176174584836754563581701959401731388819751567360) *)

and

ReleaseHold[%]

produced the error message,

$IterationLimit::itlim: Iteration limit of 4096 exceeded. >>

without eliminating the Hold.

Surely, this is not proper behavior. I have tried many approaches to work around this issue, but only

Simplify[ans - ans[[1]] ans[[2, 5]]] + Simplify[ans[[1]] ans[[2, 5]]]

produced good results

(* 8587/680 Log[26476/23721] + 
     ProductLog[-((10579732023355105126853211737189792087286301059526347 
     (23721/6619)^(427/680) Log[26476/23721])/
     (6094176174584836754563581701959401731388819751567360 2^(87/340)))]

Less satisfactory are results from

FullSimplify[ans, ComplexityFunction -> cf]

with

cf[e_] := ByteCount[e] + 100 Count[e, _Log, Infinity] + 
  100 Count[e, _ArcTanh, Infinity]

or

cf[e_] := LeafCount[e] + 100 Count[e, _Log, Infinity] 

My questions are, how can I eliminate or avoid Hold from FullSimplify[ans] and, if that is not possible, is there an easier way to simplify ans than splitting it and then applying Simplify to each half, as shown above?

$\endgroup$
  • 3
    $\begingroup$ Offending expression: (26476/23721)^((23721/6619)^(427/680)/2^(87/340)) . Will investigate. $\endgroup$ – Daniel Lichtblau Apr 9 '15 at 2:46
  • 3
    $\begingroup$ Simpler example: x^((5/3)^(23/28)/2^(1/14)). Trace show what appears to be an infinite loop in which the exponent by itself evaluates to one form while the full x^... evaluates to a form with the exponent in a different form. As if it cannot decide which form is simpler. $\endgroup$ – Michael E2 May 24 '15 at 22:41
5
$\begingroup$

This bug has been fixed as of version 10.2.0.

g[k2_] := (-510 k2 + (25761/4 - 6619 E^-k2) Log[26476/23721])/(-k2 + 
    Log[26476/23721])
ans = Solve[g[k2] == 0, k2, Reals][[1, 1, 2]];
FullSimplify[ans]

(* 8587/680 Log[26476/23721] + 
 ProductLog[-((
   10579732023355105126853211737189792087286301059526347 (23721/
     6619)^(427/680) Log[26476/23721])/(
   6094176174584836754563581701959401731388819751567360 2^(87/340)))] *)
$\endgroup$
  • $\begingroup$ Is there a workaround for previous versions? $\endgroup$ – Mr.Wizard Jul 21 '15 at 15:54
  • 3
    $\begingroup$ I am not aware of any workaround for the underlying cause (arithmetic recursion). $\endgroup$ – ilian Jul 21 '15 at 16:04
  • $\begingroup$ Okay; thank you. $\endgroup$ – Mr.Wizard Jul 21 '15 at 16:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.