restart;
N := proc(m,z,f,alpha) resultant( m,subs(alpha=z,f),z) end; #Normm := z^2+1; # minpoly for 4th roots of unityalias( omega=RootOf(m,z) );f := x^4+x^2+2*x+1;N(m,z,f,omega);f := unapply(f,x);s := 2;F := factor( N(m,z,f(x-s*omega),omega) );for i to nops(F) do g[i] := gcd( f(x-s*omega), op(i,F) ); g[i] := subs(x=x+s*omega,g[i]); od; mul( evala(g[i]), i=1..4 );The values for s that we cannot use are the values for which N(LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiZkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYoLUYsNiVRInhGJ0YvRjItSSNtb0dGJDYtUSgmbWludXM7RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZFLyUpc3RyZXRjaHlHRkUvJSpzeW1tZXRyaWNHRkUvJShsYXJnZW9wR0ZFLyUubW92YWJsZWxpbWl0c0dGRS8lJ2FjY2VudEdGRS8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRlQtRiw2JVEic0YnRi9GMi1GPjYtUScmc2RvdDtGJ0ZBRkNGRkZIRkpGTEZORlAvRlNRJjAuMGVtRicvRlZGaG4tRiw2JVEnJiM5Njk7RicvRjBGRUZBRkFGQS1GPjYtUSIpRidGQS9GREYxRkYvRklGMUZKRkxGTkZQL0ZTUSwwLjE2NjY2NjdlbUYnL0ZWRmRvLUY+Ni1RIn5GJ0ZBRkNGRkZIRkpGTEZORlBGZ25GaW5GQQ== is NOT squarefree, i.e., for which
gcd( LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYsLUkjbWlHRiQ2JVEiTkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYlLUYsNiVRImZGJ0YvRjItRjY2JC1GIzYoLUYsNiVRInhGJ0YvRjItSSNtb0dGJDYtUSgmbWludXM7RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZMLyUpc3RyZXRjaHlHRkwvJSpzeW1tZXRyaWNHRkwvJShsYXJnZW9wR0ZMLyUubW92YWJsZWxpbWl0c0dGTC8lJ2FjY2VudEdGTC8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRmVuLUYsNiVRInNGJ0YvRjItRkU2LVEnJnNkb3Q7RidGSEZKRk1GT0ZRRlNGVUZXL0ZaUSYwLjBlbUYnL0ZnbkZfby1GLDYlUSgmb21lZ2E7RicvRjBGTEZIRkhGSEZIRkgtRkU2LVEiLEYnRkhGSi9GTkYxRk9GUUZTRlVGV0Zeby9GZ25RLDAuMzMzMzMzM2VtRictRkU2LVEifkYnRkhGSkZNRk9GUUZTRlVGV0Zeb0Zgby1JJm1mcmFjR0YkNigtRkU2LVEwJkRpZmZlcmVudGlhbEQ7RidGSC9GS1EmdW5zZXRGJy9GTkZlcC9GUEZlcC9GUkZlcC9GVEZlcC9GVkZlcC9GWEZlcEZeb0Zgby1GIzYmRmFwRltwRkFGSC8lLmxpbmV0aGlja25lc3NHUSIxRicvJStkZW5vbWFsaWduR1EnY2VudGVyRicvJSludW1hbGlnbkdGY3EvJSliZXZlbGxlZEdGTEZbcEYrRjVGW3BGSA==) \342\211\2401 that is, resultant( LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYsLUkjbWlHRiQ2JVEiTkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYlLUYsNiVRImZGJ0YvRjItRjY2JC1GIzYoLUYsNiVRInhGJ0YvRjItSSNtb0dGJDYtUSgmbWludXM7RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZMLyUpc3RyZXRjaHlHRkwvJSpzeW1tZXRyaWNHRkwvJShsYXJnZW9wR0ZMLyUubW92YWJsZWxpbWl0c0dGTC8lJ2FjY2VudEdGTC8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRmVuLUYsNiVRInNGJ0YvRjItRkU2LVEnJnNkb3Q7RidGSEZKRk1GT0ZRRlNGVUZXL0ZaUSYwLjBlbUYnL0ZnbkZfby1GLDYlUSgmb21lZ2E7RicvRjBGTEZIRkhGSEZIRkgtRkU2LVEiLEYnRkhGSi9GTkYxRk9GUUZTRlVGV0Zeby9GZ25RLDAuMzMzMzMzM2VtRictRkU2LVEifkYnRkhGSkZNRk9GUUZTRlVGV0Zeb0Zgby1JJm1mcmFjR0YkNigtRkU2LVEwJkRpZmZlcmVudGlhbEQ7RidGSC9GS1EmdW5zZXRGJy9GTkZlcC9GUEZlcC9GUkZlcC9GVEZlcC9GVkZlcC9GWEZlcEZeb0Zgby1GIzYmRmFwRltwRkFGSC8lLmxpbmV0aGlja25lc3NHUSIxRicvJStkZW5vbWFsaWduR1EnY2VudGVyRicvJSludW1hbGlnbkdGY3EvJSliZXZlbGxlZEdGTEZbcEYrRjVGW3BGSA==) = 0. Therefore the characterization in terms of resultants is:
Theorem: LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2J1Eic0YnLyUlYm9sZEdRJXRydWVGJy8lJ2l0YWxpY0dGMS8lLG1hdGh2YXJpYW50R1EsYm9sZC1pdGFsaWNGJy8lK2ZvbnR3ZWlnaHRHUSVib2xkRidGLy9GNUY5Rjc= is bad if and only if LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYwLUkjbWlHRiQ2J1EiUUYnLyUlYm9sZEdRJXRydWVGJy8lJ2l0YWxpY0dGMS8lLG1hdGh2YXJpYW50R1EsYm9sZC1pdGFsaWNGJy8lK2ZvbnR3ZWlnaHRHUSVib2xkRictSSNtb0dGJDYvUSJ+RidGLy9GNUY5RjcvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkEvJSlzdHJldGNoeUdGQS8lKnN5bW1ldHJpY0dGQS8lKGxhcmdlb3BHRkEvJS5tb3ZhYmxlbGltaXRzR0ZBLyUnYWNjZW50R0ZBLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGUC1GOzYvUSI9RidGL0Y+RjdGP0ZCRkRGRkZIRkpGTC9GT1EsMC4yNzc3Nzc4ZW1GJy9GUkZXRjotRiw2J1EqcmVzdWx0YW50RidGL0YyRjRGNy1JKG1mZW5jZWRHRiQ2Ji1GIzYvRjotRiw2J1EiUkYnRi9GMkY0RjctRjs2L1EiLEYnRi9GPkY3Rj8vRkNGMUZERkZGSEZKRkxGTi9GUlEsMC4zMzMzMzMzZW1GJ0Y6RltvLUY7Ni9RIidGJ0YvRj5GN0Y/RkJGREZGRkhGSkZML0ZPUSwwLjExMTExMTFlbUYnRlFGXm9GOi1GLDYnUSJ4RidGL0YyRjRGN0Y6Ri9GPkY3Ri9GPkY3RjpGU0Y6LUkjbW5HRiQ2JlEiMEYnRi9GPkY3RjpGL0Y+Rjc= where LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYtLUkjbW9HRiQ2L1EifkYnLyUlYm9sZEdRJXRydWVGJy8lLG1hdGh2YXJpYW50R1ElYm9sZEYnLyUrZm9udHdlaWdodEdGNC8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGOS8lKXN0cmV0Y2h5R0Y5LyUqc3ltbWV0cmljR0Y5LyUobGFyZ2VvcEdGOS8lLm1vdmFibGVsaW1pdHNHRjkvJSdhY2NlbnRHRjkvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZILUkjbWlHRiQ2J1EiUkYnRi8vJSdpdGFsaWNHRjEvRjNRLGJvbGQtaXRhbGljRidGNUYrLUYsNi9RIj1GJ0YvRjJGNUY3RjpGPEY+RkBGQkZEL0ZHUSwwLjI3Nzc3NzhlbUYnL0ZKRldGKy1GTDYnUSpyZXN1bHRhbnRGJ0YvRk9GUUY1LUkobWZlbmNlZEdGJDYmLUYjNi9GKy1GTDYnUSJtRidGL0ZPRlFGNS1GZ242Ji1GIzYmLUZMNidRInpGJ0YvRk9GUUY1Ri9GMkY1Ri9GMkY1LUYsNi9RIixGJ0YvRjJGNUY3L0Y7RjFGPEY+RkBGQkZERkYvRkpRLDAuMzMzMzMzM2VtRidGKy1GTDYnUSJmRidGL0ZPRlFGNS1GZ242Ji1GIzYqLUZMNidRInhGJ0YvRk9GUUY1LUYsNi9RKCZtaW51cztGJ0YvRjJGNUY3RjpGPEY+RkBGQkZEL0ZHUSwwLjIyMjIyMjJlbUYnL0ZKRmlwLUZMNidRInNGJ0YvRk9GUUY1LUYsNi9RJyZzZG90O0YnRi9GMkY1RjdGOkY8Rj5GQEZCRkRGRkZJRmJvRi9GMkY1Ri9GMkY1RmVvRitGYm9GL0YyRjVGL0YyRjUtRkw2I1EhRidGL0YyRjU= .
Given that we can bound the degree of a resultant we can bound the number of roots of the polynomial LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEiUUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSomRWxlbWVudDtGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjc3Nzc3OGVtRicvRk5GUy1GLDYlUSgmIzg0ODQ7RicvRjBGPUY5LUkobWZlbmNlZEdGJDYmLUYjNiQtRiw2JVEic0YnRi9GMkY5RjkvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGOQ==.s := 's';R := N(m, z, f(x-s*omega), omega );Bad := factor(resultant( R, diff(R,x), x ));roots(Bad);So s = 0 is the only bad casesf := x -> x^4+2*omega*x^3-x^2+1;R := N(m,z,f(x-s*omega),omega);Bad := factor(resultant(R,diff(R,x),x)); roots(Bad,s);N( z^2+1, z, f(x-1/2*omega), omega );f := x -> x^2-2;m := z^2-2;alias( alpha=RootOf(m,z) );R := N( m, z, f(x-s*alpha), alpha );Bad := resultant(R,diff(R,x),x); roots(Bad);for r in [-1,0,1] do N( m,z,f(x-r*alpha), alpha ) od;