A dozen bases for the Eisenstein integers.
Version of Saturday 13 December 2025.
Dave Barber's other pages.

§1 Introduction. This page lists a dozen bases for the Eisenstein integers (E-ints) (Wikipedia, MathWorld). Each basis is an ordered pair of complex numbers, and they are unit bases, meaning that the magnitude of each element is unity. In the linear combinations of basis elements, the coefficient of each element is any real integer. The E-ints form a triangular lattice in the complex plane.

E-ints are in contrast to the Gaussian integers (G-ints), which are complex numbers whose real and imaginary parts are real integers; they form a square lattice. The only complex numbers which are both E-ints and G-ints are the real integers.

The purpose of this report is to provide, for each of these E-int bases, formulas for multiplication and for a norm in terms of the basis elements.

As with any linear space, all these bases can be used to deliver the same results. Thus the choice of which to choose for calculations is merely a matter of clarity or convenience. Beyond that, plenty of non-unit bases can be manufactured if desired.


§2 Notation. Grouping symbols:

It helps to define the following complex constants, a through f, which are the sixth roots of unity:

table one
name rectangular polar exponential useful equivalents
a [ +1, 0 ] ( 1,   0° ) e 0 b 0 = b ±6 f + b +1
b [ +12, +√32 ] ( 1,  60° ) e π i / 3 b 1 a + c
c [ −12, +√32 ] ( 1, 120° ) e 2 π i / 3 b 2 b + d
d [ −1, 0 ] ( 1, 180° ) e π i b 3 c + e −1
e [ −12, −√32 ] ( 1, 240° ) e 4 π i / 3 b 4 d + f
f [ +12, −√32 ] ( 1, 300° ) e 5 π i / 3 b 5 e + a

Symbols g, h, j, and k (but not i, of course) stand for any of a through f in generic statements.

Meanwhile, symbols p, q, r, and s stand for any real integers.


§3 The bases. Table two lists the twelve bases explored here categorized by the angle between the two basis elements:

table two
60 degrees: ⟨ a, b ⟩ ⟨ b, c ⟩ ⟨ c, d ⟩ ⟨ d, e ⟩ ⟨ e, f ⟩ ⟨ f, a ⟩
120 degrees: ⟨ a, c ⟩ ⟨ b, d ⟩ ⟨ c, e ⟩ ⟨ d, f ⟩ ⟨ e, a ⟩ ⟨ f, b ⟩

Table three shows them paired by 180-degree rotation of both elements:

table three
⟨ a, b ⟩
⟨ d, e ⟩
⟨ a, c ⟩
⟨ d, f ⟩
⟨ b, c ⟩
⟨ e, f ⟩
⟨ b, d ⟩
⟨ e, a ⟩
⟨ c, d ⟩
⟨ f, a ⟩
⟨ c, e ⟩
⟨ f, b ⟩

If ⟨g, h⟩ is a basis, then its reverse ⟨h, g⟩ is a basis of similar behavior, so the twelve reverses are not developed here.

Note that ⟨a, d⟩, ⟨b, e⟩, and ⟨c, f ⟩ are NOT bases, because one element is a real multiple of the other. The angle between the basis elements would have been 180 degrees.


§4 Elementary algebra. One way to write an E-int is this:

⟨ p, q ⟩gh

where ⟨g, h⟩ is the basis. Its meaning is given by the following ordinary algebraic expression:

pg + qh

For example,

⟨ −3, +2 ⟩bf = −3b + 2f.

This being a linear space, addition and subtraction of two E-ints of the same basis is in parallel:

⟨ p, q ⟩gh + ⟨ r, s ⟩gh = ⟨ p + r, q + s ⟩gh
⟨ p, q ⟩gh − ⟨ r, s ⟩gh = ⟨ pr, qs ⟩gh

In multiplication by a scalar, the factor passes through:

r⟨ p, q ⟩gh = ⟨ rp, rq ⟩gh


§5 Multiplication of two E-ints of the same basis is more involved, because of the need to manipulate the product into the same basis as the factors. The best way to explain this inconvenience is with an example which uses the basis ⟨c, e⟩:

⟨ p, q ⟩ce⟨ r, s ⟩ce = ( pc + qe )( rc + se )
  = ( pb 2 + qb 4 )( rb 2 + sb 4 )
  = prb 4 + psb 6 + qrb 6 + qsb 8
  = prb 4 + ( ps + qr )b 6 + qsb 8
  now let t = ps + qr
  = pre + ta + qsc

In the last member, the first term uses e and the last uses c, so they are no problem. However, the middle term uses a, which must be converted to an expression in c and e. From table one, d = c + e and a = −d. Hence a = −ce and ta = − tcte. Ultimately:

⟨ p, q ⟩ce⟨ r, s ⟩ce = ( prt )c + ( qst )e = ⟨ qst, prt ⟩ce

Here are all the multiplication rules; those in the same cell differ only in sign. As before, let t = ps + qr:

table four
⟨ p, q ⟩ab ⟨ r, s ⟩ab = ⟨ + prqs, + t + qs ⟩ab
⟨ p, q ⟩de ⟨ r, s ⟩de = ⟨ − pr + qs, − tqs ⟩de
⟨ p, q ⟩ac ⟨ r, s ⟩ac = ⟨ + prqs, + tqs ⟩ac
⟨ p, q ⟩df ⟨ r, s ⟩df = ⟨ − pr + qs, − t + qs ⟩df
⟨ p, q ⟩bc ⟨ r, s ⟩bc = ⟨ − tqs, + t + pr ⟩bc
⟨ p, q ⟩ef ⟨ r, s ⟩ef = ⟨ + t + qs, − tpr ⟩ef
⟨ p, q ⟩bd ⟨ r, s ⟩bd = ⟨ + prt, + prqs ⟩bd
⟨ p, q ⟩ea ⟨ r, s ⟩ea = ⟨ − pr + t, − pr + qs ⟩ea
⟨ p, q ⟩cd ⟨ r, s ⟩cd = ⟨ − prt, + prqs ⟩cd
⟨ p, q ⟩fa ⟨ r, s ⟩fa = ⟨ + pr + t, − pr + qs ⟩fa
⟨ p, q ⟩ce ⟨ r, s ⟩ce = ⟨ − t + qs, − t + pr ⟩ce
⟨ p, q ⟩fb ⟨ r, s ⟩fb = ⟨ + tqs, + tpr ⟩fb


§6 Norm. This is defined as the square of the magnitude, which for a complex number means the sum of the squares of the real and imaginary parts. The norm will be a real integer. Here is an example of how to find it, again using ⟨p, qce:

• ⟨ p, q ⟩ce = pc + qe = p [ −12, +√32 ] + q [ −12, −√32 ].
• The real part is − 12p12q; squared is 14p2 + 12pq + 14q2.
• The imaginary part is √32p√32q; squared is 34p232pq + 34q2.
• The sum of the squares is the norm: p2 + q2 −  pq.

All twelve norms are listed below. Perhaps surprising is that only two formulas are sufficient:

table five
60 degrees120 degrees
norm of ⟨ p, q ⟩ab = p2 + q2 + pq norm of ⟨ p, q ⟩ac = p2 + q2pq
norm of ⟨ p, q ⟩bc = p2 + q2 + pq norm of ⟨ p, q ⟩bd = p2 + q2pq
norm of ⟨ p, q ⟩cd = p2 + q2 + pq norm of ⟨ p, q ⟩ce = p2 + q2pq
norm of ⟨ p, q ⟩de = p2 + q2 + pq norm of ⟨ p, q ⟩df = p2 + q2pq
norm of ⟨ p, q ⟩ef = p2 + q2 + pq norm of ⟨ p, q ⟩ea = p2 + q2pq
norm of ⟨ p, q ⟩fa = p2 + q2 + pq norm of ⟨ p, q ⟩fb = p2 + q2pq


§7 Conjugate. Table six contains the formula of the complex conjugate for each basis. Two formulas in the same cell are formally the same, while the formulas of two cells in the same column differ only in sign. This report uses the tilde character for conjugation, rather than an overbar, because rendering the overbar in HTML is not well supported on some platforms. Also, the tilde glyph looks like a modified minus sign, and conjugation is related to negation.

table six
~⟨ p, q ⟩ab = ⟨ + p + q, − q ⟩ab
~⟨ p, q ⟩de = ⟨ + p + q, − q ⟩de
~⟨ p, q ⟩bc = ⟨ − q, − p ⟩bc
~⟨ p, q ⟩ef = ⟨ − q, − p ⟩ef
~⟨ p, q ⟩cd = ⟨ − p, + p + q ⟩cd
~⟨ p, q ⟩fa = ⟨ − p, + p + q ⟩fa
~⟨ p, q ⟩ac = ⟨ + pq, − q ⟩ac
~⟨ p, q ⟩df = ⟨ + pq, − q ⟩df
~⟨ p, q ⟩ce = ⟨ + q, + p ⟩bc
~⟨ p, q ⟩fb = ⟨ + q, + p ⟩ef
~⟨ p, q ⟩bd = ⟨ − p, − p + q ⟩bd
~⟨ p, q ⟩ea = ⟨ − p, − p + q ⟩ea

Aside: A further motivation for selecting the tilde symbol is that the unary tilde operator is employed in the C++ programming language, which was used by the present author for development, for an operation related to negation. For the purposes here, this operator was conveniently overloaded to serve the Eisenstein conjugation.


§8 Conversion of bases. Many of these are possible. To begin with, here are three:

table seven
60° to 60°: ⟨ p, q ⟩ab = ⟨ p + q, − p ⟩bc
120° to 120°: ⟨ p, q ⟩ac = ⟨ + q, + qp ⟩bd
60° to 120°: ⟨ p, q ⟩ab = ⟨ + p + q, + q ⟩bc

In any conversion, the basis elements (hence subscript letters) can be substituted cyclically:

fabcdefa

generating more conversions as shown in this sequence:

table eight
⟨ p, q ⟩ab = ⟨ p + q, − p ⟩bc
⟨ p, q ⟩bc = ⟨ p + q, − p ⟩cd
⟨ p, q ⟩cd = ⟨ p + q, − p ⟩de
and so forth

Beyond that, it is simple algebra to cascade conversions, or to invert them, in order to produce any conversion in direct form.