I have a bunch of polynomials in q that involve unknown roots of unity and I want to bound them above by another polynomial.
For example: f(q):=q3-a*q2+b*q2-5.
Here a and b are powers of some roots of unity. These roots/powers depend on some variables which are unimportant.
My incorrect method up until now was to let all root of unity equal 1 so they vanish, and then run a short script that finds all coefficients of the poly f and makes them positive.
But in this case it returns an answer of q^3+5 as the quadratic terms vanish - I don;t want this to happen! I really want the bound q3+2*q2+5.
If I run the script that changes the coefficients first, then maple can't recognise if -a is positive or negative and so this doesn't work. If it helps this is it:
for m from 0 to degree(f) do
coffs:=[op(coffs), abs(coeff(f,q,m))] end do;
for m from 1 to degree(f,q)+1 do
fabs:=fabs+coffs[m]*q^(m-1) end do;
g[i,j]:=fabs end do;
Any ideas would be great. Thanks!
EDIT: to perhaps make it clearer. The kind of roots of unity i'm dealing with are things like z2*j*k+q*k+(1/2)*l where z is a (q-1)th root of unity, and j,k,l are unknown integer variables.