Factor a rational over the Eisenstein integers:
Check the result:
Use a symbol to denote the Eisenstein unit :
Primes of the form 6k+1 factor further in the Eisenstein ring:
Primes of the form 6k-1 will not factor further:
Neat Examples (12)
Factoring Eisenstein integers can be done as follows: (1) Compute the norm (an ordinary integer). (2) Factor the norm over the Eisenstein integers. (3) Use division to determine, for each pair of conjugate Eisenstein primes in the norm factorization, which divides the original Eisenstein integer. (4) Determine the correct exponent for each such factor. (5) Determine the appropriate Eisenstein unit that makes the factorization correct.
Step (3) requires modification when 3 divides the norm. The (4) involves a subtlety: Since different Eisenstein primes can have the same norm, one cannot assume that the exponents for prime factors in step (2) will be correct for the Eisenstein primes retained in step (3). We work with examples that have exponent of 1 and hence cannot exhibit this pathology.
Define the Eisenstein norm (n(i+j ω)=i2-i j+j2):
Compute the norm of 8+17ω:
Factor the norm:
Use GroebnerBasis and PolynomialReduce to provide a divisibility test for Eisenstein integers:
Determine which Eisenstein prime factors of 129 are actually factors of 8+13ω:
Find the unit factor:
Check the factorization:
When 3 divides the norm, we can use either Eisenstein prime factor of 3 for our final result:
Compute the factors:
Compute the associated unit:
Check the result:
Show that we get an equally valid prime factorization from using the other prime factor of 3:
A full implementation that properly handles all the steps indicated above may be found in the much larger resource function EisentsteinIntegers.