test(a,b)= if(a==b,oo, exponent(a-b));
test(zetamult([2,1]), zeta(3))
test(zetamult([4,2]), (zeta(3)^2 - 4*zeta(6)/3))
test(zetamult([4,4]), (zeta(4)^2 - zeta(8))/2)
test(zetamult([2,2,2]), zeta(2)^3/6 + zeta(6)/3 - zeta(2)*zeta(4)/2)
zetamult(2)
zetamult([])

s=[2,1,1,1,3];
test(zetamult(s),polylogmult(s))
zetamult(s,1)
zetamult(s,x)

default(realprecision,57);
V=vector(10, k, vector(2*k, j, 1+2*(j%2)));
for(k=1,#V, print(Pi^(4*k) / zetamult(V[k])));

v = [zeta(9),Pi^2*zeta(7),Pi^4*zeta(5),Pi^6*zeta(3)];
LD=[2,2,2,2];
{
  for(i=1,4,
    LE=LD; LE[i]=3;
    z = lindep(concat(zetamult(LE),v));
    if (z[1] < 0, z = -z); print(z);
  );
}

polylogmult([6,1,2,3,4],[-1,1,1,1,1])
polylogmult(Vecsmall([6,1,2,3,4]),[-1,1,1,1,1],x)
for(i=1,15, print(zetamultall(5, i)))

default(realprecision,38);
polylogmult([2,1], exp(2*I*Pi/7) * [1,1])
polylogmult([2,1,1], exp(2*I*Pi/7) * [1,1,1])
polylogmult([2,1,1,1], exp(2*I*Pi/7) * [1,1,1,1])
polylogmult([1],[-1])
polylogmult([1],[1/2])
f(t)=polylogmult([2,1],[-1,-1],t);
g(t)=polylogmult([2,3,4],,t);
exponent(f(0.2)-(0.8*f(0)+0.2*f(1)))
P=polinterpolate([g(1),g(2),g(3)]);
exponent(g(0.2)-subst(P,x,0.2))

default(realprecision,366);
a=(1+sqrt(5))/2;w=(1+sqrt(-3))/2; real(polylogmult([1,1,1,1],[1/a,a,1,w]))
default(realprecision,38);

avec=[3,1,3,1];
evec=[0,0,1,1,0,0,1,1];
a=89;
zetamultconvert(avec,0)
zetamultconvert(avec,1)
zetamultconvert(avec,2)
zetamultconvert(evec,0)
zetamultconvert(evec,1)
zetamultconvert(evec,2)
zetamultconvert(a,0)
zetamultconvert(a,1)
zetamultconvert(a,2)

{
for (i = 1, 2^10,
  a = zetamultconvert(i);
  if (zetamultconvert(a,2) != i, error(i))
);
}
zetamultdual([4])
zetamultdual([2,1,1])
zetamultdual(4)
zetamultdual([0,0,1,1,0,0,1,1])

zetamult([],1)
zetamultall(1,1)

\\ Errors, keep at end of file
zetamult([1,2])
zetamult("a")
zetamultall(0)
zetamultall(64)
zetamult([0,2,1])
zetamult([0,1,0])
zetamult([0,-1,1])
zetamult([1,-1,1])
zetamult([1,0,1])
polylogmult([2],[])
polylogmult([1],[1])
polylogmult(1,[],-1)
