OFFSET
1,1
REFERENCES
Roman E. Maeder. Programming in Mathematica, Addison-Wesley, 1990, page 105.
LINKS
Eric Weisstein's World of Mathematics, Swinnerton-Dyer Polynomial
EXAMPLE
First few rows are:
[1] -2, 1;
[2] 1, -10, 1;
[3] 576, -960, 352, -40, 1;
[4] 46225, -5596840, 13950764, -7453176, 1513334, -141912, 6476, -136, 1;
....
-2 + x^2, 1 - 10*x^2 + x^4, 576 - 960*x^2 + 352*x^4 - 40*x^6 + x^8, ...
MATHEMATICA
SwinnertonDyerP[0, x_ ] := x; SwinnertonDyerP[n_, x_ ] := Module[{sd, srp = Sqrt[Prime[n]]}, sd[y_] = SwinnertonDyerP[n - 1, y]; Expand[ sd[x + srp] sd[x - srp] ] ]; row[n_] := CoefficientList[ SwinnertonDyerP[n, x], x^2]; Table[row[n], {n, 1, 5}] // Flatten (* Jean-François Alcover, Nov 09 2012 *)
(* Second program: *)
SwinnertonDyerP[n_Integer?Positive, x_] :=
Block[{arg, poly, i},
args = Outer[Times, Table[Sqrt[Prime[i]], {i, n}], {-1, 1}];
poly = Outer[Plus, {x}, Sequence @@ args];
Expand[Times @@ Flatten[poly]]]
Table[Select[CoefficientList[SwinnertonDyerP[n, x], x], # != 0 &], {n, 1, 4}] // TableForm (* Peter Luschny, Jun 12 2022 *)
PROG
(Julia)
using Nemo
function A153731Row(n)
R, x = PolynomialRing(ZZ, "x")
p = swinnerton_dyer(n, x)
[coeff(p, j) for j in 0:2:2^n] end
for n in 1:4 A153731Row(n) |> println end # Peter Luschny, Mar 13 2018
(Magma) // Note that Magma, like Mathworld, defines the polynomials for n >= 1.
P<x> := PolynomialRing(IntegerRing());
for n := 1 to 5 do
p := SwinnertonDyerPolynomial(n);
[c : c in Coefficients(p) | not IsZero(c)];
end for; // Peter Luschny, Jun 12 2022
CROSSREFS
KEYWORD
sign,tabf
AUTHOR
Eric W. Weisstein, Dec 31 2008
STATUS
approved