Re: Re: Simplification question
- To: mathgroup at smc.vnet.net
- Subject: [mg84760] Re: [mg84752] Re: [mg84726] Simplification question
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sun, 13 Jan 2008 05:43:37 -0500 (EST)
- References: <200801121019.FAA09024@smc.vnet.net>
Unfortunately I do not think this constitutes a valid "mathematical proof", at least without some additional argument. The reason is that, as the documentation says: If Root objects in expr contain parameters, ToRadicals[expr] may yield a result that is not equal to expr for all values of the parameters. In fact there was an example of this kind discussed on this list in 2006 (under the subject "Why is the negative root?"). I believe using Reduce as in my solution avoids this problem. Andrzej Kozlowski On 12 Jan 2008, at 19:19, Bob Hanlon wrote: > expr1 = Root[a[1, 2] a[2, 2] - > 2 Sqrt[a[1, 1] a[1, 2] a[2, 1] a[2, 2]] #1^2 + > a[1, 1] a[2, 1] #1^4 &, 3]; > > expr2 = (a[1, 2]^(1/4) a[2, 2]^(1/4))/ > (a[1, 1]^(1/4) a[2, 1]^(1/4)); > > FullSimplify[ToRadicals[expr1] == expr2, > Flatten[Table[a[i, j] > 0, {i, 2}, {j, 2}]]] > > True > > > Bob Hanlon > > ---- Yaroslav Bulatov <yaroslavvb at gmail.com> wrote: >> Is there a way to prove that the following 2 expressions are >> equivalent over positives using Mathematica? >> >> Root[a[1, 2] a[2, 2] - 2 Sqrt[a[1, 1] a[1, 2] a[2, 1] a[2, 2]] #1^2 + >> a[1, 1] a[2, 1] #1^4 &, 3] >> (a[1, 2]^(1/4) a[2, 2]^(1/4))/(a[1, 1]^(1/4) a[2, 1]^(1/4)) >> >> ------------------ >> PS: I got the two these two by following the recipe in >> http://www.yaroslavvb.com/papers/djokovic-note.pdf for finding >> diagonal/doubly-stochastic/diagonal decomposition of a 2x2 symbolic >> matrix in two different ways. Simpler solution came from forming >> Langrangian and using Solve, more complicated one from the built-in >> Minimize function) >> >> f[x_] := Times @@ x; >> A = Array[a, {2, 2}]; >> (* Method 1 *) >> posCons = # > 0 & /@ (Flatten[A]~Join~{x1, x2}); >> min = Minimize[{f[A.{x1, x2}]}~ >> Append~(And @@ ({f[{x1, x2}] == 1}~Join~posCons)), {x1, x2}]; >> Assuming[ >> And @@ posCons, >> FullSimplify[min] >> ] >> >> (* Method 2 *) >> L[x1_, x2_, \[Lambda]_] := >> f[A.{x1, x2}] - \[Lambda] (f[{x1, x2}] - 1); >> eqs = Table[ >> D[L[x1, x2, \[Lambda]], var] == 0, {var, {x1, x2, \[Lambda]}}]; >> Solve[eqs, {x1, x2}, {\[Lambda]}] // Last >> > >
- References:
- Re: Simplification question
- From: Bob Hanlon <hanlonr@cox.net>
- Re: Simplification question