Wednesday, December 25, 2024

[kduuqcjf] ring modulo i^3 + i^2 + i + 1

previously, a commutative ring with reduction polynomial i^3+1.  this time, the polynomial (i^4-1)/(i-1) = i^3 + i^2 + i + 1 because of its distinctive form.  note that the polynomial has root i = -1, so it is not a field. (dividing through further by (i+1) would result in i^2 + 1, the cyclotomic polynomial of order 4, which yields the field of complex numbers.  in general, dividing through by "all" factors yields a cyclotomic field, where "all" requires clarification.)

denote a ring element a + b*i + c*i^2 as (a,b,c).  here is how to do multiplication and division:

(a,b,c) * (d,e,f) = (a*d - b*f - c*e + c*f , a*e + b*d - b*f - c*e , a*f + b*e - b*f + c*d - c*e)

1/(a,b,c) = ( (a^2 - a*b - a*c + b^2)/denominator , -b/(a^2 + b^2 + c^2 - 2*a*c) , (b^2 + c^2 - a*c - b*c)/denominator )
where denominator = (a - b + c) * (a^2 + b^2 + c^2 - 2*a*c) = a^3 - a^2*b - a^2*c + a*b^2 + 2*a*b*c - a*c^2 - b^3 + c*b^2 - c^2*b + c^3

the middle component of reciprocal does not have the same denominator because of fortuitous cancellation by (a - b + c).  if a - b + c = 0, equivalently b = a + c, then the other terms become division by zero, making the whole thing undefined.  because there are numbers not equal to zero which do not have reciprocals, this is not a field.

the numbers that do not have reciprocals are the multiples of the factors of the reduction polynomial.  multiples of (i+1) = (1, 1, 0) yield the family (a, a+c, c) seen above.  multiples of (i^2+1) yield the family (a, 0, a) which also does not have reciprocals.

how to get the multiplication formula with Pari/GP:

? mm=(i^4-1)/(i-1)
? multiplication = Mod(a+b*i+c*i^2, mm) * Mod(d+e*i+f*i^2, mm)
? polcoeff(lift(multiplication), 0, i)
? polcoeff(lift(multiplication), 1, i)
? polcoeff(lift(multiplication), 2, i)

can multiplication in this ring be computed with fewer scalar multiplications like the way the Karatsuba algorithm speeds up complex multiplication?

No comments :