MathGroup Archive 2009

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

Search the Archive

Re: Help generalizing Liouville's Polynomial Identity

  • To: mathgroup at smc.vnet.net
  • Subject: [mg103612] Re: [mg103596] Help generalizing Liouville's Polynomial Identity
  • From: Daniel Lichtblau <danl at wolfram.com>
  • Date: Wed, 30 Sep 2009 05:00:32 -0400 (EDT)
  • References: <200909291140.HAA25752@smc.vnet.net>

TPiezas wrote:
> Hello all,
> 
> "Liouville's polynomial identity" is given by
> http://mathworld.wolfram.com/LiouvillePolynomialIdentity.html and can
> be concisely encoded as,
> 
> 6(x1^2 + x2^2 + x3^2 + x4^2)^2 = Sum(x_i +/- x_j)^4
> 
> To determine the number of terms of the summation, since we are to
> choose 2 objects from 4, then this is Binomial[4,2] = 6. But as there
> are 2 sign changes, then total is 2 x 6 = 12 terms, given explicitly
> in the link above.  Going higher, and choosing 3 objects out of n
> variables, I found that,
> 
> 60(x1^2 + x2^2 + ... + x7^2)^2 = Sum(x_i +/- x_j +/- x_k)^4
> 
> is true. The RHS contains 4 x 35 = 140 terms. (If the x_i are non-
> zero, one cannot express the square of the sum of less than 7 squares
> in a similar manner.)
> 
> Question: If we take the next step,
> 
> a(x1^2 + x2^2 + ... + x_n^2)^2 = Sum(x_i +/- x_j +/- x_k +/- x_m)^4
> 
> for some positive integer "a", then what is the least n, if we are to
> choose 4 objects at a time out of the x_n?
> 
> I believe the RHS is a simple matter for Mathematica to calculate, and
> one can incrementally test n = 5,6,7,...etc until a neat identity is
> found.
> 
> - Titus

Some code:

vars[n_,x_] := Array[x,n];

iterators[n_,j_] := Module[
   {iters=Table[{j[k],{-1,1}}, {k,n}]},
   iters[[1,2,1]] = 1; iters]

quarticGenerator[n_,vars_] := Module[{j},
   Sum[(vars.Array[j,n])^4,
     Apply[Sequence,iterators[n,j]]]]

liouvilleQuartic[n_,k_,x_] := Total[
   Map[quarticGenerator[k,vars[k,x]/.
       Thread[Range[k]->#]]&,
     Subsets[Range[n],{k}]]]/2

Examples:

Table[Factor[liouvilleQuartic[n,3,x]], {n,3,8}]

This verifies your n=7 remark.

Going one higher:

InputForm[Table[Factor[liouvilleQuartic[n,4,x]], {n,4,12}]]

This shows that n=10 works. We get for that case

672*(x[1]^2 + x[2]^2 + x[3]^2 + x[4]^2 + x[5]^2 + x[6]^2 +
     x[7]^2 + x[8]^2 + x[9]^2 + x[10]^2)^2

The conjecture to prove is that this always works for n = 3*k-2. A bit 
of further validation:

In[10]:= InputForm[Factor[liouvilleQuartic[13,5,x]]]

Out[10]//InputForm=
7920*(x[1]^2 + x[2]^2 + x[3]^2 + x[4]^2 + x[5]^2 + x[6]^2 + x[7]^2 + 
x[8]^2 +
    x[9]^2 + x[10]^2 + x[11]^2 + x[12]^2 + x[13]^2)^2

It does start to get slow, though:

In[11]:= InputForm[Factor[liouvilleQuartic[16,6,x]]] // Timing
Out[11]= {245.845, 96096*(x[1]^2 + x[2]^2 + x[3]^2 + x[4]^2 + x[5]^2 +
    x[6]^2 + x[7]^2 + x[8]^2 + x[9]^2 + x[10]^2 + x[11]^2 + x[12]^2 +
    x[13]^2 + x[14]^2 + x[15]^2 + x[16]^2)^2}

The constant factors do not seem to be the initial part of any sequence 
in the OEIS.

Daniel Lichtblau
Wolfram Research


  • Prev by Date: Re: Graphics3D not visible under X11 (was: Compositing, 3D graphics,
  • Next by Date: Re: Help generalizing Liouville's Polynomial Identity
  • Previous by thread: Help generalizing Liouville's Polynomial Identity
  • Next by thread: Re: Help generalizing Liouville's Polynomial Identity