OFFSET
1,2
COMMENTS
This is the PPE (power product expansion) of A036467. - R. J. Mathar, Feb 01 2010
LINKS
H. Gingold, A note on reduction of operations via power product approximations, Utilitas Math. 37 (1990), 79-89. [From R. J. Mathar, Nov 10 2008]
H. Gingold and A. Knopfmacher, Analytic properties of power product expansions, Canad. J. Math. 47 (1995), 1219-1239. [From R. J. Mathar, Nov 10 2008]
H. Gingold, A. Knopfmacher and D. Lubinsky, The zero distribution of the partial products of power product expansions, Analysis 13 (1993), 133-157. [From R. J. Mathar, Nov 10 2008]
EXAMPLE
From the primes, construct the series 1+2x+3x^2+5x^3+7x^4+... Divide this by (1+x) to get the quotient (1+a(1)x+...), which here gives a(1)=1. Then divide this quotient by (1+a(1)x), i.e. here (1+x), to get (1+a(2)x^2+...), giving a(2)=2.
MAPLE
From R. J. Mathar, Feb 01 2010: (Start)
# Partition n into a set of distinct positive integers, the maximum one
# being m.
# Example: partitionsQ(7, 5) returns [[2, 5], [3, 4], [1, 2, 4]] ;
# Richard J. Mathar, 2008-11-10
partitionsQ := proc(n, m)
local p, t, rec, q;
p := [] ;
# take 't' of the n and recursively determine the partitions of
# what has been left over.
for t from min(m, n) to 1 by -1 do
# Since we are only considering partitions into distinct parts,
# the triangular numbers set a lower bound on the t.
if t*(t+1)/2 >= n then
rec := partitionsQ(n-t, t-1) ;
if nops(rec) = 0 then
p := [op(p), [t]] ;
else
for q in rec do
p := [op(p), [op(q), t]] ;
end do:
end if;
end if;
end do:
RETURN(p) ;
end proc:
# Power product expansion of L.
# L is a list starting with 1, which is considered L[0].
# Returns the list [a(1), a(2), ..] such that
# product_(i=1, 2, ..) (1+a(i)x^i) = sum_(j=0, 1, 2, ...) L[j]x^j.
# Richard J. Mathar, 2008-11-10
ppe := proc(L)
local pro, i, par, swithi, snoti, m, p, k ;
pro := [] ;
for i from 1 to nops(L)-1 do
par := partitionsQ(i, i) ;
swithi := 0 ;
snoti := 0 ;
for p in par do
if i in p then
m := 1 ;
for k from 1 to nops(p)-1 do
m := m*op(op(k, p), pro) ;
end do;
swithi := swithi+m ;
else
snoti := snoti+mul( op(k, pro), k=p) ;
end if;
end do:
pro := [op(pro), (op(i+1, L)-snoti)/swithi] ;
end do:
RETURN(pro) ;
end proc:
read("transforms") ;
A147541 := proc(nmax)
local L, L1, L2 ;
L := [1, seq(ithprime(n), n=1..nmax)] ;
L1 := [seq((-1)^n, n=0..nmax+10)] ;
A036467 := CONV(L, L1) ;
ppe(A036467) ;
end:
A147541(47) ;
(End)
CROSSREFS
KEYWORD
sign
AUTHOR
Neil Fernandez, Nov 06 2008
EXTENSIONS
Extended by R. J. Mathar, Feb 01 2010
STATUS
approved