MathGroup Archive 2008

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

Search the Archive

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
>>
>
>



  • Prev by Date: Re: formula for a rotation matrix
  • Next by Date: Re: Part ([[...]]) and span (;;)
  • Previous by thread: Re: Simplification question
  • Next by thread: changing the name of exported file without typing