Octahedral Symmetry
The six vertices of the octahedron can be taken as identical to the six edge
midpoints of the tetrahedron. As such they have t ( u , v ) t(u,v) t ( u , v ) as their polynomial
invariant.
The octahedral symmetry group is generated by transformations I I I and I I II II
above, along with
I I I : u ′ = e i π / 4 u , v ′ = e − i π / 4 v . III: \quad u'=e^{i\pi/4}\, u \,,\quad v' = e^{-i\pi/4} \,v \,. III : u ′ = e iπ /4 u , v ′ = e − iπ /4 v . Under transformation I I I III III with A = e i π / 4 = D ∗ A=e^{i\pi/4} = D^* A = e iπ /4 = D ∗ , B = C = 0 B=C=0 B = C = 0 , we find that
t ( u ′ , v ′ ) = A A ∗ u v ( A 2 u 2 − A ∗ 2 v 2 ) ( A 2 u 2 + A ∗ 2 v 2 ) = − t ( u , v ) . \begin{align*}
t(u',v') &= AA^*\,uv(A^2\,u^2-A^{*2}\,v^2)(A^2\,u^2+A^{*2}\,v^2) \\
&= -t(u,v) \,.
\end{align*} t ( u ′ , v ′ ) = A A ∗ uv ( A 2 u 2 − A ∗ 2 v 2 ) ( A 2 u 2 + A ∗ 2 v 2 ) = − t ( u , v ) . Therefore, only t 2 ( u , v ) t^2(u,v) t 2 ( u , v ) is an absolute invariant under the octahedral
symmetry group.
The 8 face centers of the octahedron are formed by combining the 8 tetrahedral
roots { k i , k ˉ i } \{k_i, \bar{k}_i\} { k i , k ˉ i } found before. As such, the octahedral polynomial
invariant for the face centers is given by
W ( u , v ) : = Φ ( u , v ) Ψ ( u , v ) = u 8 + 14 u 4 v 4 + v 8 . W(u, v) := \Phi(u,v)\, \Psi(u,v) = u^8 + 14\,u^4v^4+v^8\,. W ( u , v ) := Φ ( u , v ) Ψ ( u , v ) = u 8 + 14 u 4 v 4 + v 8 . # Check of the above:
from sympy import I, diff, simplify, sqrt, symbols
from tetra import Phi, Psi, t
from functools import reduce
u, v = symbols("u v")
W = simplify(Phi * Psi)
WIn order to work out the transformation properties of W ( u , v ) W(u,v) W ( u , v ) , it is useful to
note that t t t and W W W are inter-related as follows:
H e s s [ t ] : = det [ ∂ 2 t ∂ u 2 ∂ 2 t ∂ u ∂ v ∂ 2 t ∂ v ∂ u ∂ 2 t ∂ v 2 ] = − 25 W ( u , v ) . {\rm Hess}[t] := \det\left[\begin{matrix}\frac{\partial^2t}{\partial u^2} & \frac{\partial^2t}{\partial u\partial v} \\[6pt] \frac{\partial^2t}{\partial v \partial u} & \frac{\partial^2t}{\partial v^2}\end{matrix}\right] = -25\,W(u,v)\,. Hess [ t ] := det ⎣ ⎡ ∂ u 2 ∂ 2 t ∂ v ∂ u ∂ 2 t ∂ u ∂ v ∂ 2 t ∂ v 2 ∂ 2 t ⎦ ⎤ = − 25 W ( u , v ) . In other words, W ( u , v ) W(u,v) W ( u , v ) is the Hessian of t ( u , v ) t(u,v) t ( u , v ) . As such, since t → − t t \to -t t → − t
under transformation I I I III III (and since W ∼ t 2 W \sim t^2 W ∼ t 2 ), W ( u , v ) W(u,v) W ( u , v ) is clearly
invariant under all three octahedral symmetry generators.
# Check of the above:
def hessian(f, u, v):
du2 = diff(diff(f, u), u)
dudv = diff(diff(f, u), v)
dv2 = diff(diff(f, v), v)
return du2 * dv2 - dudv**2
hessian(t, u, v).equals(-25 * Phi * Psi)The edge midpoints of the octahedron form a polynomial invariant, χ ( u , v ) \chi(u,v) χ ( u , v ) ,
which we will compute next.
The edge midpoints can be labeled as follows:
X 1 = 1 2 ( 1 , 1 , 0 ) X 2 = 1 2 ( − 1 , 1 , 0 ) X 3 = 1 2 ( − 1 , − 1 , 0 ) X 4 = 1 2 ( 1 , − 1 , 0 ) X 5 = 1 2 ( 1 , 0 , 1 ) X 6 = 1 2 ( 0 , 1 , 1 ) X 7 = 1 2 ( − 1 , 0 , 1 ) X 8 = 1 2 ( 0 , − 1 , 1 ) X 9 = 1 2 ( 1 , 0 , − 1 ) X 10 = 1 2 ( 0 , 1 , − 1 ) X 11 = 1 2 ( − 1 , 0 , − 1 ) X 12 = 1 2 ( 0 , − 1 , − 1 ) \begin{matrix}
{\bf X}_1 = \tfrac{1}{\sqrt{2}}(1,1,0) \quad &
{\bf X}_2 = \tfrac{1}{\sqrt{2}}(-1,1,0) \quad &
{\bf X}_3 = \tfrac{1}{\sqrt{2}}(-1,-1,0) \quad &
{\bf X}_4 = \tfrac{1}{\sqrt{2}}(1,-1,0) \\
{\bf X}_5 = \tfrac{1}{\sqrt{2}}(1,0,1) \quad &
{\bf X}_6 = \tfrac{1}{\sqrt{2}}(0,1,1) \quad &
{\bf X}_7 = \tfrac{1}{\sqrt{2}}(-1,0,1) \quad &
{\bf X}_8 = \tfrac{1}{\sqrt{2}}(0,-1,1) \\
{\bf X}_9 = \tfrac{1}{\sqrt{2}}(1,0,-1) \quad &
{\bf X}_{10} = \tfrac{1}{\sqrt{2}}(0,1,-1) \quad &
{\bf X}_{11} = \tfrac{1}{\sqrt{2}}(-1,0,-1) \quad &
{\bf X}_{12} = \tfrac{1}{\sqrt{2}}(0,-1,-1)
\end{matrix} X 1 = 2 1 ( 1 , 1 , 0 ) X 5 = 2 1 ( 1 , 0 , 1 ) X 9 = 2 1 ( 1 , 0 , − 1 ) X 2 = 2 1 ( − 1 , 1 , 0 ) X 6 = 2 1 ( 0 , 1 , 1 ) X 10 = 2 1 ( 0 , 1 , − 1 ) X 3 = 2 1 ( − 1 , − 1 , 0 ) X 7 = 2 1 ( − 1 , 0 , 1 ) X 11 = 2 1 ( − 1 , 0 , − 1 ) X 4 = 2 1 ( 1 , − 1 , 0 ) X 8 = 2 1 ( 0 , − 1 , 1 ) X 12 = 2 1 ( 0 , − 1 , − 1 ) The corresponding stereographically-projected points in the complex plane are
given by
l 1 = 1 2 ( 1 + i ) l 2 = 1 2 ( − 1 + i ) l 3 = 1 2 ( − 1 − i ) l 4 = 1 2 ( 1 − i ) l 5 = 1 + 2 l 6 = i ( 1 + 2 ) l 7 = − 1 − 2 l 8 = − i ( 1 + 2 ) l 9 = − 1 + 2 l 10 = i ( − 1 + 2 ) l 11 = 1 − 2 l 12 = i ( 1 − 2 ) \begin{matrix}
l_1 = \tfrac{1}{\sqrt{2}}(1 + i) \quad &
l_2 = \tfrac{1}{\sqrt{2}}(-1 + i) \quad &
l_3 = \tfrac{1}{\sqrt{2}}(-1 - i) \quad &
l_4 = \tfrac{1}{\sqrt{2}}(1 - i) \\
l_5 = 1 + \sqrt{2} \quad &
l_6 = i(1 + \sqrt{2}) \quad &
l_7 = -1 - \sqrt{2} \quad &
l_8 = -i(1 + \sqrt{2}) \\
l_9 = -1 + \sqrt{2} \quad &
l_{10} = i(-1 + \sqrt{2}) \quad &
l_{11} = 1 - \sqrt{2} \quad &
l_{12} = i(1 - \sqrt{2})
\end{matrix} l 1 = 2 1 ( 1 + i ) l 5 = 1 + 2 l 9 = − 1 + 2 l 2 = 2 1 ( − 1 + i ) l 6 = i ( 1 + 2 ) l 10 = i ( − 1 + 2 ) l 3 = 2 1 ( − 1 − i ) l 7 = − 1 − 2 l 11 = 1 − 2 l 4 = 2 1 ( 1 − i ) l 8 = − i ( 1 + 2 ) l 12 = i ( 1 − 2 ) One way to compute χ ( u , v ) \chi(u,v) χ ( u , v ) is to blindly multiply together. Doing so gives
χ ( u , v ) : = ∏ i = 1 12 ( u − l i v ) = u 12 − 33 ( u 8 v 4 + u 4 v 8 ) + v 12 . \chi(u,v) := \prod_{i=1}^{12}\left(u-l_i\,v\right) = u^{12} - 33\left(u^8\,v^4+u^4\,v^8\right) + v^{12} \,. χ ( u , v ) := i = 1 ∏ 12 ( u − l i v ) = u 12 − 33 ( u 8 v 4 + u 4 v 8 ) + v 12 . # Check of the above:
def stereo(v1, v2, v3):
return (v1 + I * v2) / (1 - v3)
ls = []
ls.append(stereo(1 / sqrt(2), 1 / sqrt(2), 0))
ls.append(stereo(1 / sqrt(2), -1 / sqrt(2), 0))
ls.append(stereo(-1 / sqrt(2), 1 / sqrt(2), 0))
ls.append(stereo(-1 / sqrt(2), -1 / sqrt(2), 0))
ls.append(stereo(0, 1 / sqrt(2), 1 / sqrt(2)))
ls.append(stereo(0, 1 / sqrt(2), -1 / sqrt(2)))
ls.append(stereo(0, -1 / sqrt(2), 1 / sqrt(2)))
ls.append(stereo(0, -1 / sqrt(2), -1 / sqrt(2)))
ls.append(stereo(1 / sqrt(2), 0, 1 / sqrt(2)))
ls.append(stereo(1 / sqrt(2), 0, -1 / sqrt(2)))
ls.append(stereo(-1 / sqrt(2), 0, 1 / sqrt(2)))
ls.append(stereo(-1 / sqrt(2), 0, -1 / sqrt(2)))
chi = reduce(lambda x, y: x * y, [u - x * v for x in ls])
simplify(chi)Alternatively, we can make use of the four-fold symmetry relating the midpoints
( l 1 , l 2 = i l 1 , l 3 = i 2 l 1 , l 4 = i 3 l 1 ) (l_1, l_2=i\,l_1, l_3=i^2\,l_1, l_4=i^3\,l_1) ( l 1 , l 2 = i l 1 , l 3 = i 2 l 1 , l 4 = i 3 l 1 ) and similarly for ( l 5 , l 6 , l 7 , l 8 ) (l_5, l_6, l_7, l_8) ( l 5 , l 6 , l 7 , l 8 ) , ( l 9 , l 10 , l 11 , l 12 ) (l_9, l_{10}, l_{11}, l_{12}) ( l 9 , l 10 , l 11 , l 12 ) . Grouping in this way, we can write
χ ( u , v ) = χ p a r t ( u , v , l 1 ) χ p a r t ( u , v , l 5 ) χ p a r t ( u , v , l 9 ) \chi(u,v) = \chi_{\rm part}(u,v, l_1) \, \chi_{\rm part}(u,v, l_5) \, \chi_{\rm part}(u,v, l_9) χ ( u , v ) = χ part ( u , v , l 1 ) χ part ( u , v , l 5 ) χ part ( u , v , l 9 ) where each χ p a r t ( u , v , x ) \chi_{\rm part}(u,v,x) χ part ( u , v , x ) is given by
χ p a r t ( u , v , x ) = ∏ k = 1 4 ( u − i k x v ) = u 4 − x 4 v 4 . \chi_{\rm part}(u,v,x) = \prod_{k=1}^4\left(u-i^k\,x\,v\right) = u^4-x^4\,v^4 \,. χ part ( u , v , x ) = k = 1 ∏ 4 ( u − i k x v ) = u 4 − x 4 v 4 . # Check of the above
x = symbols("x")
def reduce_multiply(any_list):
return reduce(lambda x, y: x * y, any_list)
expr = reduce_multiply([u - x * I**k * v for k in range(4)])
simplify(expr)chi_part1 = expr.subs(x, 1 / sqrt(2) * (1 + I)).expand()
chi_part1chi_part5 = expr.subs(x, 1 + sqrt(2)).expand()
chi_part5chi_part9 = expr.subs(x, -1 + sqrt(2)).expand()
chi_part9chi = (chi_part1 * chi_part5 * chi_part9).expand()
chiAs it turns out, χ ( u , v ) \chi(u,v) χ ( u , v ) is also related to t ( u , v ) t(u,v) t ( u , v ) and W ( u , v ) W(u,v) W ( u , v ) : χ \chi χ is
proportional to the Jacobian of V ( u , v ) : = [ t ( u , v ) , W ( u , v ) ] {\bf V}(u,v) := [t(u,v), W(u,v)] V ( u , v ) := [ t ( u , v ) , W ( u , v )] :
J a c [ V ] ( u , v ) : = det [ ∂ t ∂ u ∂ t ∂ v ∂ W ∂ u ∂ W ∂ v ] = − 8 χ ( u , v ) . {\textrm Jac}[{\bf V}](u,v) := \det \left[\begin{matrix} \frac{\partial t}{\partial u} & \frac{\partial t}{\partial v} \\[6pt] \frac{\partial W}{\partial u} & \frac{\partial W}{\partial v} \end{matrix}\right] = -8\,\chi(u,v) \,. J a c [ V ] ( u , v ) := det [ ∂ u ∂ t ∂ u ∂ W ∂ v ∂ t ∂ v ∂ W ] = − 8 χ ( u , v ) . # Check of the above:
def jacobian(f, g, u, v):
return diff(f, u) * diff(g, v) - diff(f, v) * diff(g, u)
jacobian(t, W, u, v).equals(-8 * chi)Since χ ∼ t \chi \sim t χ ∼ t , and since t → − t t\to-t t → − t under transformation I I I III III , we deduce
that χ 2 \chi^2 χ 2 is an absolute invariant of the octahedral symmetry group.
Lastly,
by direct computation we can verify that the absolute invariants χ 2 \chi^2 χ 2 ,
W 3 W^3 W 3 , and t 4 t^4 t 4 (all sharing the same order of homogeneity) are inter-related:
χ 2 − W 3 + 108 t 4 = 0 . \chi^2 - W^3 + 108\, t^4 = 0 \,. χ 2 − W 3 + 108 t 4 = 0 . # Check of the above:
simplify(chi**2 - W**3).factor()# Second check:
(chi**2 - W**3).equals(-108 * t**4)