Commuting polynomials

When polynomials are added, subtracted or multiplied it is not terribly important to know what the indeterminant is, but the quotient and remainder operations do require this knowledge, because the division algorithm is stated for polynomials in x. The interesting and useful operation of composition also requires that the indeterminant be stated.

Definition Let p and q be polynomials in x. The compostion of p with q, p(q), is the polynomial obtained from p by substituting q for each occurence of x in p.

Thus if p = [Maple Math] and q = [Maple Math] then p(q) = [Maple Math] = [Maple Math] .

> expand(2*(3*x+2)^3+5*(3*x+2)-1);

[Maple Math]

Problem. Suppose [Maple Math] and [Maple Math] . What is the degree of p(q)? of q(p)? What is the leading coefficient of p(q)? of q(p)?

Notice that the operation of composition is not a commutative one: If p and q are as above, q(p) = [Maple Math] = [Maple Math] is not p(q). But some polynomials commute with each other. Take p = [Maple Math] and q = [Maple Math] . Then p(q) = q(p).

Problem: Show that if p and q are constant polynomials which commute, then p = q.

Problem: Find all the linear polynomials that commute with 1.

Problem: Find all the linear polynomials that commute with [Maple Math] .

Problem: Show that if p and q are linear polynomials which commute with [Maple Math] , then p and q commute.

Problem: Find all the linear polynomials that commute with [Maple Math] .

Problem: Is it true that if p and q are linear polynomials which commute with [Maple Math] , then p and q commute?

Problem: Show that [Maple Math] does not commute with any polynomial of degree higher than 1.

Problem: Find all quadratic polynomials that commute with x and 1.

Problem: Find all linear polynomials which commute with at least one quadratic polynomial.

Problem: Is there a cubic polynomial that commutes with [Maple Math] ?

Problem: Find a quadratic polynomial that commutes with [Maple Math]

> arbpoly := proc(a,x,n)
local i;
convert([seq(a[i]*x^i, i=0..n)],`+`) end;

[Maple Math]

> p := arbpoly(b,x,2);

[Maple Math]

> `&op` := (p,q) -> collect(subs(x=q,p),x);

[Maple Math]

> p &op p;

>