Supplement I: Functions and Constants Author Sean Mclaughlin and Thomas Hales July 9, 2009 Many of the following definitions also occur in the proof of the Kepler Conjecture. SPI refers to Thomas C. Hales: Sphere Packings, I. Discrete & Computational Geometry 17(1): 1-51 (1997). ∆ ∆ is related to the volume of a tetrahedron with edges x1 .. x6. See SPI, p.32. DeltaX@x1_, x2_, x3_, x4_, x5_, x6_D := Module@8<, x1 * x4 * H-x1 + x2 + x3 - x4 + x5 + x6L + x2 * x5 * Hx1 - x2 + x3 + x4 - x5 + x6L + x3 * x6 * Hx1 + x2 - x3 + x4 + x5 - x6L - Hx2 * x3 * x4L - Hx1 * x3 * x5L - Hx1 * x2 * x6L - Hx4 * x5 * x6L D; The derivative of ∆ with respect to the fourth argument comes up below. DeltaX4@x1_, x2_, x3_, x4_, x5_, x6_D := Module@8<, -Hx1 * x4L - Hx2 * x3L + Hx2 * x5L + Hx3 * x6L - Hx5 * x6L + x1 * H-x1 + x2 + x3 - x4 + x5 + x6L D; D@DeltaX@x1, x2, x3, x4, x5, x6D, x4D - DeltaX4@x1, x2, x3, x4, x5, x6D 0 True Dihedral angles The dihedral of a simplex with respect to x1, x2 an x3. DihX@xs__D := Module@8dx4, d<, dx4 = DeltaX4@xsD; d = DeltaX@xsD; Pi 2 + ArcTan@Sqrt@4 * 8xs<@@1DD * dD, -dx4D D; Dih2X@x1_, x2_, x3_, x4_, x5_, x6_D := Module@8<, DihX@x2, x1, x3, x5, x4, x6D D; Dih3X@x1_, x2_, x3_, x4_, x5_, x6_D := Module@8<, DihX@x3, x1, x2, x6, x4, x5D D; Solid angles Printed by Mathematica for Students 2 functions.nb Solid angles Solid angles of a simplex. The intuitive but inefficient definition is SlowSolX@xs__D := Module@8<, DihX xs + Dih2X xs + Dih3X xs - Pi D; This definition is inefficient in practice because of three separate calls to DihX. An efficient version is SolAux@x1_, x2_, x3_, x4_, x5_, x6_D := Module@8<, Sqrt@x1 x2 x3D + 1 2 Sqrt@x1D Hx2 + x3 - x4L + 1 2 Sqrt@x2D Hx1 + x3 - x5L + 1 2 Sqrt@x3D Hx1 + x2 - x6L D; SolX@xs__D := Module@8a, d<, a = SolAux@xsD; d = DeltaX@xsD; 2 ArcTan@2 a, Sqrt@dDD D; Volume Volume of a Voronoi polyhedron contained within a tetrahedron. The derivation comes from SPI. UpsX@x1_, x2_, x3_D := Module@8<, -Hx1 ^ 2 + x2 ^ 2 + x3 ^ 2L + 2 Hx1 x3 + x1 x2 + x2 x3L D; FpsX@x1_, x2_, x3_D := Module@8<, x1 Hx2 + x3 - x1L + x2 Hx1 + x3 - x2L D; ChiX@x1_, x2_, x3_, x4_, x5_, x6_D := Module@8<, -x1 x4 ^ 2 + x1 x4 x5 + x2 x4 x5 - x2 x5 ^ 2 + x1 x4 x6 + x3 x4 x6 + x2 x5 x6 + x3 x5 x6 - 2 x4 x5 x6 - x3 x6 ^ 2 D; VolumeX@x1_, x2_, x3_, x4_, x5_, x6_D := Module@8d, u1, u2, u3, f1, f2, f3, c1, c2, c3<, d = Sqrt@DeltaX@x1, x2, x3, x4, x5, x6DD; u1 = UpsX@x1, x2, x6D; u2 = UpsX@x2, x3, x4D; u3 = UpsX@x1, x3, x5D; f1 = FpsX@x1, x2, x6D; f2 = FpsX@x2, x3, x4D; f3 = FpsX@x1, x3, x5D; c1 = ChiX@x4, x5, x3, x1, x2, x6D; c2 = ChiX@x6, x5, x1, x3, x2, x4D; c3 = ChiX@x4, x6, x2, x1, x3, x5D; H1 H48 dLL * Hf1 * c1 u1 + f2 * c2 u2 + f3 * c3 u3L D; Truncation Printed by Mathematica for Students functions.nb Truncation Truncation of the Voronoi polyhedron occurs at the circumradius of a regular dodecahedron of inradius 1. The actual number, 3 Tan[Π/5] is irrational. For computation purposes we truncate at a rational number just slightly larger, called DodecTrunc. This is the constant tdod of the JAMS paper, section 2.1. The following functions are discussed in the paper, Section 5.1. RealTrunc = 3 Tan@Π 5D; N@RealTrunc, 10D 1.258408572 DodecTrunc = 125 841 100 000; Quoins Quoins arise in the calculation of the volume of the truncated Voronoi polyhedron contained in a simplex. See SPI. Doct = HPi - H2 Zeta1LL Sqrt@8D; Zeta1 = 1 H2 * ArcTan@Sqrt@2D 5DL; The circumradius of a face. EtaX@x1_, x2_, x3_D := Module@8<, Sqrt@Hx1 x2 x3L HUpsX@8x1, x2, x3<DLD D; Modified arctangent function with better asymptotic behavior. Matan@x_D := Module@8<, ArcTan@Sqrt@xDD - Sqrt@xD + x ^ H3 2L 3 D; The volume of a Rogers simplex. Rogers@x_, y_, z_D := Module@8<, 2 * x ^ 3 * y ^ 2 - 3 * x * y ^ 4 + 8 * x ^ 3 * y * z - 12 * x * y ^ 3 * z + 8 * x ^ 3 * z ^ 2 - 12 * x * y ^ 2 * z ^ 2 + 6 * x ^ 2 * z ^ 3 - 12 * x * y * z ^ 3 + 8 * y ^ 2 * z ^ 3 - 3 * x * z ^ 4 + 8 * y * z ^ 4 + 2 * z ^ 5 D; UncheckedQuoin assumes a < b < c UncheckedQuoin@a_, b_, c_D := Module@8u2, atu, g1, quo, fh, g2, z, g3<, u2 = Hc ^ 2 - b ^ 2L Hb ^ 2 - a ^ 2L; atu = Matan@u2D; g1 = Hc - aL * Ha ^ 2 + a * c - 2 * c ^ 2L * atu; quo = Hb ^ 2 - a ^ 2L H3 Hb + cL ^ 4L; fh = u2 ^ H5 2L; g2 = quo * fh * Rogers 8a, b, c<; z = HHc - bL * Hb - aLL HHa + bL * Hb + cLL; g3 = 4 c ^ 3 * Matan@zD; -1 6 * Hg1 + g2 + g3L D; Printed by Mathematica for Students 3 4 functions.nb Quoin@a_, b_, c_D := Module@8<, If@Or@b £ a, c £ bD, 0, UncheckedQuoin 8a, b, c<DD; QX@t_, 8x1_, x2_, x3_<D := Module@8<, Quoin@8Sqrt@x1D 2, EtaX@x1, x2, x3D, t<D D; Volume of all 6 quoins of a tetrahedron. QuoinsX@t_, 8x1_, x2_, x3_, x4_, x5_, x6_<D := Module@8<, -4 Doct * HQX@t, 8x1, x2, x6<D + QX@t, 8x2, x1, x6<D + QX@t, 8x2, x3, x4<D + QX@t, 8x3, x2, x4<D + QX@t, 8x1, x3, x5<D + QX@t, 8x3, x1, x5<DL D; Truncated Volume The volume of a truncated Voronoi polyhedron. See SPI. Phi@8h_, t_<D := Module@8<, 2 * H2 - Doct * h * t * Hh + tLL 3 D; UncheckedVorstarFactor assumes h <= t UncheckedVorstarFactor@8a_, h_, t_, phi0_<D := Module@8<, a * H1 - h tL * HPhi 8h, t< - phi0L D; VorstarFactor@args__D := Module@8<, If@args@@2DD £ args@@3DD, UncheckedVorstarFactor args, 0D D; Printed by Mathematica for Students functions.nb 5 Vorstar@8t_, 8h1_, h2_, h3_, a1_, a2_, a3_<<D := Module@8phi0<, phi0 = Phi 8t, t<; VorstarFactor 8a1, h1, t, phi0< + VorstarFactor 8a2, h2, t, phi0< + VorstarFactor 8a3, h3, t, phi0< + Ha1 + a2 + a3 - PiL * phi0 D; VortNoQuoinsX@8t_, 8x1_, x2_, x3_, x4_, x5_, x6_<<D := Module@8h1, h2, h3, a1, a2, a3<, h1 = Sqrt@x1D 2; h2 = Sqrt@x2D 2; h3 = Sqrt@x3D 2; a1 = DihX xs; a2 = Dih2X xs; a3 = Dih3X xs; Vorstar 8t, 8h1, h2, h3, a1, a2, a3<< D; VortX@8t_, xs__<D := Module@8<, VortNoQuoinsX 8t, xs< + QuoinsX 8t, xs< D; VorDodecX@xs__D := Module@8<, VortX 8DodecTrunc, xs< D; TruncatedVolumeX@xs__D := Module@8<, HVorDodecX xs - 4 3 * SolX xsL H-4 DoctL D; Ω Ω, the principle volume function in the dodecahedral conjecture, is defined by case analysis on the circumradii of the faces of a terahedron. If any of the circumradii are greater than Sqrt[2] then we used the truncated volume function. Otherwise the volume is untruncated. OmegaX@x1_, x2_, x3_, x4_, x5_, x6_D := Module@8<, If@EtaX@x1, x2, x6D > Sqrt@2D ÈÈ EtaX@x1, x3, x5D > Sqrt@2D ÈÈ EtaX@x2, x3, x4D > Sqrt@2D ÈÈ EtaX@x4, x5, x6D > Sqrt@2D, TruncatedVolumeX@x1, x2, x3, x4, x5, x6D, VolumeX@x1, x2, x3, x4, x5, x6DD D; Cross diagonal of a quad cluster Given 2 tetrahedra that share a face, the cross diagonal is the distance between the 2 points that are not on the face. Printed by Mathematica for Students 6 functions.nb Dist@88x1_, y1_, z1_<, 8x2_, y2_, z2_<<D := Module@8<, Sqrt@Hx2 - x1L ^ 2 + Hy2 - y1L ^ 2 + Hz2 - z1L ^ 2D D; FindPoint@8a_, b_, c_, y4_, v31_, v32_, sgn_<D := Module@8y5, w1, w2, w3<, y5 = Sqrt@v31 * v31 + v32 * v32D; w1 = Ha * a + y4 * y4 - b * bL H2 * y4L; w2 = Ha * a + y5 * y5 - c * c - 2 * w1 * v31L H2 * v32L; w3 = sgn * Sqrt@a * a - w1 * w1 - w2 * w2D; 8w1, w2, w3< D; Enclosed@8y1_, y2_, y3_, y4_, y5_, y6_, z1_, z2_, z3_<D := Module@8a, b, v4, v5<, a = Hy5 * y5 + y4 * y4 - y6 * y6L H2 * y4L; b = Sqrt@y5 * y5 - a * aD; v4 = FindPoint 8y3, y2, y1, y4, a, b, 1<; v5 = FindPoint 8z3, z2, z1, y4, a, b, -1<; Dist@8v4, v5<D D; CrossDiagY@8y1_, y2_, y3_, y4_, y5_, y6_, y7_, y8_, y9_<D := Module@8<, Enclosed@8y1, y5, y6, y4, y2, y3, y7, y8, y9<D D; CrossDiagX@xs__D := CrossDiagY Sqrt@xsD; Printed by Mathematica for Students
© Copyright 2026 Paperzz