Is there a collection of lists of six integer edge lengths that form a tetrahedron? Is there a computer program for generating such lists? I need to find approximately thirty such tetrahedral combinations.
-
$\begingroup$ You can do them by hand, if you are ordering them by magnitude. The first 30 should all have edge lengths at most 4. Gerhard "Or Five If Not Four" Paseman, 2017.09.28. $\endgroup$– Gerhard PasemanCommented Sep 28, 2017 at 18:38
-
9$\begingroup$ Not so easy to do entirely "by hand" because there's a nontrivial condition past the triangle inequality, namely positivity of the Cayley-Menger determinant. mathworld.wolfram.com/Cayley-MengerDeterminant.html $\endgroup$– Noam D. ElkiesCommented Sep 28, 2017 at 19:16
-
$\begingroup$ For the first thirty, there are arrangements of four edges of length four which permit opposing edges to take values from 1 to 4 inclusive, and a few more with adjacent edges from 2 and 3, as well as configurations involving two or three edges of length 4. Enough that I think he needs very few examples with edge length 5 to get the thirty "smallest" (in some sense) tetrahedron. Of course, there may be one or two that need the determinant to rule out, but a lot can be done with the triangle inequality on small numbers. Gerhard "Sometimes Uses His Triangle Sense" Paseman, 2017.09.28. $\endgroup$– Gerhard PasemanCommented Sep 28, 2017 at 19:35
-
2$\begingroup$ In all this fuss, I forgot to ask the question I normally ask, and which Peter Heinig has asked: why? If the original poster can motivate the need for so many examples, we might give a nice idea for how to generate them. (I have posted a couple of ideas below, but I might come up with something nicer.) Gerhard "Is Often Seeking More Motivation" Paseman, 2017.09.30. $\endgroup$– Gerhard PasemanCommented Sep 30, 2017 at 22:41
-
1$\begingroup$ I have replaced (geometry) tag - since that tag is deprecated. Still I hope more experienced users are able to find some other tags that fit here. (The question has a bit combinatorial feel about it. Perhaps it can be viewed as a problem in Diophantine inequalities? Should we perhaps add some tag(s) on behalf of the fact that the OP explicitly asks for computer program - such as (algorithms) or (computational-geometry)? $\endgroup$– Martin SleziakCommented Oct 1, 2017 at 6:55
12 Answers
It was a mildly entertaining exercise to write an iPython notebook to do this (thanks to Gerhard Paseman and Stefan Kohl for helping me fix a few bugs). (Assuming no more bugs) this answers your request for "software". Included in the output at the link above is one explicit list of integer 6-vectors that are valid lengths of tetrahedra (I suppose you could call this a database). More explanation below.
I used the paper Wirth and Dreiding, Edge lengths determining tetrahedrons, Elem. Math. 64 (2009) 160-170 as a reference.
Note that unlike the "SSS theorem" for triangles, giving a list of 6 lengths does not specify a unique tetrahedron (up to congruence). Wirth and Dreiding thus define a convention that a vector of 6 lengths $(x,y,z,\bar x,\bar y,\bar z)$ corresponds to a tetrahedron where $x,y,z$ are the lengths of edges coming out of a fixed vertex of the tetrahedron, and $\bar x,\bar y,\bar z$ are the 3 edges opposite $x,y,z$, respectively.
Given such a tuple, Wirth and Dreiding include formulas for the Cayley-Menger determinant one needs to check in section 3 of their paper. They seem to claim that one just needs to check the 3D Cayley-Menger determinant and one 2D Cayley-Menger determinant for a face (see remark 5 of section 3), but Gerhard Paseman gives an example where this fails.
Given a set of 6 distinct lengths $l_1>l_2>\cdots>l_6$, there are 30 nonisometric tetrahedra with these edge lengths (assuming existence). One way to find representatives (essentially explained in the above paper in section 6) is to let $x=l_1$, let any other $l_i$ be $\bar x$ (5 choices), then let $y$ be the maximum of the remaining $l_i$, then include all permutations for the remaining 3 lengths (6 choices).
My very naïve code thus does the following. I first generate all non-increasing sequences of 6 integers with entries bounded between 1 and $m$ (in the version of the code linked to above, $m=7$). Next, for each such non-increasing sequence, I generate the 30 permutations of those sequences described above. The third step checks all of these permutations with the 3D Cayley-Menger determinant and the 4 2D Cayley-Menger determinants corresponding to each of the faces, using the expressions from Wirth and Dreiding.
The result (assuming no bugs!) is that there are 445 distinct sets of 6 integers, all bounded between 1 and 7 that are the lengths of edges of (nondegenerate) tetrahedra.
These 445 6-tuples are listed in the output at the end of the link to my code. Just for fun, I also include a table showing the numbers of integer tetrahedron edge length sets with maximum entry $m$ for $m=1$ to 25. The results up to 20 agree with those of Stefan Kohl.
Aside: One can also use these functions to list tetrahedra which realize these edge lengths, but to enumerate them up to congruence, one would need to write a routine that deals more carefully with symmetric tetrahedra. In any case, that problem has been discussed in this paper of Sascha Kurz who also gives an amazing explicit polynomial formula for the number of symmetric $4\times 4$ matrices of nonnegative integers bounded by $d$ satisfying the triangle inequalities. This can be done because the 2D Cayley-Menger determinant is reducible. Unfortunately this is no longer true in higher dimensions.
-
1$\begingroup$ Shouldn't 4,4,3,3,2,1 be on your list? Gerhard "May Need Enumeration Cross Check" Paseman, 2017.09.30. $\endgroup$ Commented Sep 30, 2017 at 21:09
-
1$\begingroup$ Another bug. Latest list shows 5,2,2,1,1,1. Even in a different spatial geometry, I am having a hard time visualizing this tetrahedron. Gerhard "Back To The IPython Notebook" Paseman, 2017.09.30. $\endgroup$ Commented Sep 30, 2017 at 21:22
-
2$\begingroup$ Or it could be a bug outside of your notebook. Such have been known to happen. Gerhard "Debugging In Parallel Is Possible" Paseman, 2017.09.30. $\endgroup$ Commented Sep 30, 2017 at 21:52
-
1$\begingroup$ Depending on permutations, I get the following determinant values: -38628, -34888, -20808, -1800, -72. Of course it is possible that I mistyped something. $\endgroup$– Stefan Kohl ♦Commented Oct 1, 2017 at 20:31
-
1$\begingroup$ @StefanKohl Thanks, it turned out that I had a typo. $\endgroup$– j.c.Commented Oct 1, 2017 at 20:54
Here is an example of what you can do in your head.
Tabulate some triples representing edge lengths of small triangles. I have y,x,x for y less than 2x, x,x,x , and 2,3,4. Now consider configurations of four edges x and two non adjacent edges given by y,z. We get (1,1,1), (2,2,1), (2,2,2), (3,y,z) for $4 \geq y \geq z \geq 1$, and similarly for (4,y,z), and we have already 23 examples. One gets at least seven more examples by having three equal edges at a point and smaller edges forming a triangle. This should meet the requirements.
Gerhard "And Not One Determinant Computation" Paseman, 2017.09.28.
-
$\begingroup$ Once one realizes that many examples can be had with edge lengths at most four, one can extend the list to all possibilities with edge lengths at most four. So far, I can use geometric intuition to rule out cases like (2,3,3) (two opposite edges of length 3). I have not needed to compute mentally or on paper the Cayley Menger determinant for these small examples. Gerhard Paseman, 2017.09.28. $\endgroup$ Commented Sep 28, 2017 at 20:33
I can confirm j.c.'s list of 6-tuples of integers less than or equal to 7 which are edge lengths of tetrahedra -- up to the tuple (6,6,6,5,3,2), for which I obtain a negative Cayley-Menger determinant. The other 445 tuples appear to be correct. The numbers of such tuples of integers $\leq n$ for $n$ from 1 to 20 are 1, 5, 18, 48, 112, 231, 445, 799, 1362, 2214, 3476, 5283, 7818, 11278, 15939, 22083, 30111, 40395, 53484, 69895. This is the result of a five-minute-computation with the following GAP function:
AllIntegerEdgeLengthsTetrahedra := function ( maxedge )
local tetrahedra, M, a, b, c, d, e, f;
tetrahedra := [];
for a in [1..maxedge] do
for b in [1..a] do
for c in [1..b] do
if b + c <= a then continue; fi;
for d in [1..maxedge] do
for e in [1..maxedge] do
if d + e <= a or d + a <= e or a + e <= d then continue; fi;
for f in [1..maxedge] do
if e + f <= b or e + b <= f or b + f <= e
or d + f <= c or d + c <= f or c + f <= d
then continue; fi;
M := [[0, 1, 1, 1, 1],
[1, 0,a^2,c^2,d^2],
[1,a^2, 0,b^2,e^2],
[1,c^2,b^2, 0,f^2],
[1,d^2,e^2,f^2, 0]];
if DeterminantMat(M) > 0 then Add(tetrahedra,[a,b,c,d,e,f]); fi;
od;
od;
od;
od;
od;
od;
return Set(tetrahedra,t->Reversed(AsSortedList(t)));
end;
-
$\begingroup$ It would be even better an addition to this thread if (0) the method used by GAP to compute 'DeterminantMat' would be named, with a reference/testimonies of practitioners, (1) you re-computed it with GAP's 'DeterminantMatDivFree' routine, which allegedly uses a division-free algorithm published in Meena Mahajan V. Vinay 1997 (2) all the computed values for these determinants were listed here, both for the 'DeterminantMat'- and the 'DeterminantMatDivFree'-run. I think that it is easy and desirable to do this in-thread,[...] $\endgroup$ Commented Oct 1, 2017 at 20:08
-
$\begingroup$ [..], no 'externalization' needed, and without bloating the thread. You could, if so inclined, simply use some script to automatically generate a markup-code using a matrix-environment and some {\tiny\text{}} hackery, and then the couple of hundred values should easily fit in a reasonably small space. Why so much care? As Joseph Malkevitch reminded us of, if the machine displays a small positive value, one should be suspicious whether this is a 'false positive' (pun), in the sense that the true determinant value is zero, but numerical errors make it seem otherwise,[..] $\endgroup$ Commented Oct 1, 2017 at 20:11
-
$\begingroup$ Of course, if GAP uses some 'exact arithmetic', then, ideally, assuming we believe GAP, numerics should not be an issue, but it is scientifically very valuable to simply take a skeptical/verificationist/Bayesian stance and pretend we only believe what we see sufficiently often independently-reproduced. Also, it may be relevant for the complexity-theoretic 'status' of the OP that the 'problem' of computing $\det\colon\bigcup_{n\in\omega}\mathbb{Z}^{n\times n}\to\mathbb{Z}$, $A\mapsto\det(A)$ has been proved to be GapL-complete. [...] $\endgroup$ Commented Oct 1, 2017 at 20:13
-
$\begingroup$ [..] Of course, it is not clear at all what this logically implies for the complexity of the problem in the OP; after all, it's not clear that one must compute a Cayley-Menger determinant. That's only one algorithm in a countably-infinite set of possible algorithms. $\endgroup$ Commented Oct 1, 2017 at 20:14
-
1$\begingroup$ The computations are with integers, so are exact. $\endgroup$– Stefan Kohl ♦Commented Oct 1, 2017 at 20:23
Fifteen such tetrahedra can be found in the answer to this MSE question.. Mathematica code to generate Heronian Tetrahedra is given in this OEIS article https://oeis.org/A272388 (which has some explicit examples. An explicit infinite family is given in R. H. Buchholz, Perfect Pyramids.
Buchholz, Ralph Heiner, Perfect pyramids, Bull. Aust. Math. Soc. 45, No.3, 353-368 (1992). ZBL0747.52008.
-
1$\begingroup$ According to the A272388 text, Heronian = "edge lengths, face areas and volume are all integers". But here only integral edge lengths are required, right? $\endgroup$ Commented Sep 29, 2017 at 5:26
-
1$\begingroup$ @NoamD.Elkies Yes, Heronian is much more stringent, but if we can get a lot of those, why not? $\endgroup$ Commented Sep 29, 2017 at 13:53
-
$\begingroup$ Is there really not an OEIS entry that just lists integer-edge length tetrahedra, without restrictions on area or volume? If not, then maybe someone should create it... $\endgroup$ Commented Sep 30, 2017 at 14:52
-
1$\begingroup$ @NateEldredge How is that an integer sequence? :) $\endgroup$ Commented Oct 1, 2017 at 21:29
There is a way to build axis parallel tetrahedrons using Euler bricks. Three of the edges are given by vectors $(a,0,0), (0,b,0),(0,0,c)$ so that $$a^2+b^2=d^2,\quad b^2+c^2=e^2,\quad a^2+c^2=f^2$$ for $a,b,c,d,e,f\in\Bbb N$. There are infinitely many solutions in several parametric families given in the link above. This can be turned into an algorithm. The link itself has a small list of examples.
There is a very simple way to find infinitely many such tetrahedra $ABCD$. Take $A=(0,0,0), B=(1,0,0),C=(\frac 1 2,\frac {\sqrt 3} 2,0)$ and $D=(\frac 1 2,\frac 1 { 2 \sqrt 3 }, z)$ for suitable $z$.
Added in response to comments below: Here is a geometrical version of the above which provides a fourfold infinity of examples. Take a triangle $ABC$ whose side lengths $a,b,c$ are integers, then $D$ at its circumcentre. Now move $D$ along the axis perpendicular to the triangle. It forms a family of tetrahedra three of whose side lengths are always integers. The other three coincide and go continuously to infinity. Hence they take on all integer values greater than the circumradius of the triangle.
One can do this explicitly by using the triangle with vertices $(0,0)$, $(c,0)$ and $(p,q)$ where $$p=\frac 1{2 c}(b^2+c^2-a^2)$$ and $$q^2=\frac 1 {4 c^2}(a^4+b^4+c^4-2 b^2c^2 -2 c^2a^2-2a^2b^2).$$
-
$\begingroup$ Sorry. I meant for $D$ to be directly above the centroid, not above $C$. Have edited my response accordingly. $\endgroup$– loireCommented Sep 30, 2017 at 5:26
-
$\begingroup$ Let me describe my proposal geometrically. You take an equilateral triangle $ABC$ with side lengths $1$. You then take $D$ at the centroid and move it slowly along the axis perpendicular to the triangle. It successively forms tetrahedra which have three sides of length $1$ and three of the same lengths which start less than $1$ and go continuously to infinity, thus taking on all integer values. Is that convincing? $\endgroup$– loireCommented Sep 30, 2017 at 9:23
It seems to me to be of considerable interest to explore the space of 6-tuples that realize tetrahedra in Euclidean 3-space with the tuples (a,b,c,d,e,f) when the points have coordinates with real numbers or more specifically positive integers. Because a set of 6 numbers as edge lengths can be realized by up to 30 incongruent tetrahedra it is indeed important to have a system to identify a sextuple with a particular tetrahedron - a "canonical" version that realizes a given 6-tuple. I have raised the question of finding sets of 6 real numbers (integers) that are such that for i taking on values from 0 to 30 can be realized with exactly i incongruent tetrahedra. See here: http://www.math.illinois.edu/~ajh/ugresearch/Hildebrand-Calculus-Spring2015-report.pdf though it would be nice to see actual examples of integer 6-tuples that achieve the various values of i. It is also worth noting that there is a simpler determinant (which I refer to as the McCrea determinant) than the Cayley/Menger determinant to find the volume of a tetrahedron, see page 20, of the book by William McCrea - Analytical Geometry: http://vignette3.wikia.nocookie.net/math/images/0/0d/Analytical_Geometry_of_Three_Dimensions.pdf/revision/latest?cb=20150228044133&path-prefix=ro For teachers it is worth pointing out one has to worry about numerical instability in determinant calculations, so one wants to be certain that the volume calculation for a determinant really yields a positive result.
-
$\begingroup$ The comment about the numerical difficulties of computing determinants is very relevant and valuable, at least for those who would simply use whatever determinant-routine that is at hand. 'The' reason for the instability are, needless to say, the $n!$ alternating summands if Leibniz's formula is used, and also if Gaussian elimination is used it remains problematic. Basic things to point out: even for problems where only a 'boolean truth-value' of the form 'is-the-determinant-positive' is required, this remains problematic. One should be careful to know what algorithm is used by what [...] $\endgroup$ Commented Oct 1, 2017 at 20:17
-
$\begingroup$ [..] language. Exact arithmetic might make it unproblematic though. My understanding is that determinant calculations are problematic if they are of the form (floating-point-entries)$\mapsto$(floating-point result), but if input is integer matrix, exactly/virtually/formally represented on machine, then numerics are not really a difficulty of the present problem. In summary, the warning about determinants is valuable in practice (many a contributor may blissfully trust the first determinant-routine they used), but numerics is not really an issue here (while complexity is). $\endgroup$ Commented Oct 1, 2017 at 20:20
-
1$\begingroup$ @PeterHeinig Complexity? This is a $4\times4$ symmetric matrix. Otherwise, no one computes determinants in practice using the $O(n!)$ algorithm (though for $4\times 4$ that is probably not so bad). $\endgroup$ Commented Oct 1, 2017 at 21:28
-
$\begingroup$ @IgorRivin: thanks for pointing out. I was (quite consciously though) using the term 'complexity' not in its technical sense. Explicitly: in a sense I was using 'complexity' wrongly. (Because here there isn't any any infinite formal language relevant to the problem, *at least not on the face of it. If one varies the definition of the 'language', though, there might be. But it seems better no to get into this (until I'm sure that there is a point to it). I was using 'complexity' in the ordinary sense of, roughly [..] $\endgroup$ Commented Oct 2, 2017 at 5:32
-
$\begingroup$ [..] the number of 'steps' it will take a human being to perform all $\approx10^2$ determinant calculations needed to check j.c.'s and Stefan Kohl's findings. Also: one can still dream of the existence of a faster, as-yet-unknown algorithm which would (0) be provably correct and (1) make it possible to decide, given a vector $v\in \omega^6$, in time linear in the total number of decimal digits in $v$ whether $v$ is tetrahedral. If $a$ denotes the number of all decimal digits in $v$, and [...] $\endgroup$ Commented Oct 2, 2017 at 6:01
On what has been mentioned so far
Many partial answers have been given already. This is another partial answer.
Let us first consider what the OP is actually asking.
The answer to the question in the title is practically-certain to be negative. There does not exist anything worthy of the name 'database' for these 6-tuples. There do exist scattered results. The whole topic seems frustratingly difficult. There seems to be a controversy around whether it has been proved that a perfect parallelepiped with all angles right angles does not exist.
The answer to the first question in the body of the OP
Is there a collection of lists of six integer edge lengths that form a tetrahedron?
is positive. An answer of Igor Rivin has identified such a 'collection'. An answer of M. Winter has identified another way to obtain some such 6-tuples.
So-far unmentioned, very relevant aspect: perfect parallelepipeds
No one so far has mentioned (though M. Winter did make a step in this direction when they mentioned 'Euler bricks')
- the widely known fact that any parallelepiped in Euclidean three-space can be 'partitioned'(terminology) into six tetrahedra. A pictorial representation of such a 'partition' is
(constructed with Geogebra and GIMP )
- the fact that this can be combined with recent discoveries of what is called(terminological suggestion) 'perfect parallelepipeds'$=$ 'non-cube parallelepipeds such that all three edge-lengths, and all three minor-face-diagonal-lengths, and all three major-face-diagonal-lengths, and all four body diagonal-lengths are positive integers.'
The first published specification of such a perfect parallelepiped appears to be:
wherein one finds
and I would like to point out to the OP that
because of the above-mentioned 'partition' of perfect parallelepipeds into integer-edge-length tetrahedra, each perfect parallelepiped is a source of 6-tuples of the kind you are requesting.
To make the central argument of the present suggestion explicit:
The property that all edges and diagonals of a perfect parallelepiped have integer lengths implies that the above decomposition into tetrahedra does not incur any tetrahedron with a non-integer edge-length.
For example, the theorem of Sawyer and Reiter reproduced and color-coded above seems to correspond to a perfect parallelepiped of which the following picture is a not-to-scale representation
( The colors in the above picture correspond to the color-coding in the excerpt further above. )
Moreover, it seems that you will be able to obtain infinitely-more than the "thirty" 6-tuples you request by
- studying
using the decomposition I mentioned above
making it very clear in whatever you are writing that the notion of 'dissimilar' used in op. cit. suitably translates into a notion of 'dissimilarity' among the tetrahedra my proposal gives you (I did not look into that)
Please note that the opening sentence
A rational parallelepiped is determined by three edge vectors $\vec{u}$, $\vec{v}$, $\vec{W}$. [emphasis added]
of the second section of op. cit. would be flat-out wrong (to see this: flatten the skeleton) if the word 'rational' were erased, since the skeleton of a cube is not even a locally-rigid framework, let alone a globally-rigid one(further reading on frameworks)
More precisely, the first sentence in the second section of op. cit. implies that
if you have a parallelepiped with all its edge-lengths, all its face-diagonal-lengths and all its body-diagonal-lengths rational (and infinitely-many dissimilar such exist), then each and every of its (evidently existing) 'rigid-motions' will necessarily cause at least one of the aforementioned lengths to become irrational.
which I find quite surprising. It is a sense of 'higher rigidity of parallelepipeds' (though only of a very special subclass of such parallelepipeds): while the structure is not rigid at all, a naturally associated 'configuration space' which has all the aforementioned lengths built into it explicitly would, when intersected with the rational numbers, be rigid.
Finally, facile(facile) skepticist warnings
the verification of whether the parallelepipeds specified by Sokolowsky--VanHooft--Volkert--Reiter actually do have all the properties claimed neither seems to have been done by any human being, nor seems to be doable in reasonable time by a human being,
said verification seems to have been delegated to Mathematica,
only few people seem to be allowed to look under the hood of the marvellous machine that is Mathematica,
even if one is allowed to look under hoods of large machines, it is very very difficult to be sure whether they work as expected
so in the unlikely case that you are thinking about using these 6-tuples for some critical application, you should think twice.
To summarize,
this answer suggests to the OP to make use of the fact that currently more thought and energy is going into finding someting stronger than what they are asking for (namely: stepparallelepipeds),
this answer suggests that the OP could usefully try to contact the authors of op. cit. about their problem,
I do not know 'how complete' the method is that I am proposing here (i.e.: to procure the integer-edge-length-tetrahedra from steppable parallelepipeds), i.e., whether any integer-edge-lenght tetrahedron can be so obtained, but I strongly doubt it and expect it to be trivial to show that not all can be so obtained, but will have to leave the subject now.
While personally I would prefer not to even know what you need these 6-tuples for, I would very much like to understand what 'stance' you are planning to take towards the 6-tuples you get from various sources. How, if at all, do you plan to verify whether a given integer 6-tuple is indeed realization by a tetrahedron in Euclidean 3-space? Also: what is known about the complexity-theoretic status of this problem in general, i.e., how complex is it to decide, given $a\in\omega^6$, whether there exists a perfect parallelepiped with these edge-lengths?
(facile) It is facile because it is so easy to simply doubt anything, and since I know what an extremely well-discussed topic this is, for decades already. I am mentioning this to remind the OP that the references I give seem (0) not to contain humanly comprehensible proofs (more technically: a relevant satisfaction-relation seems not be checkable by human intuition), (1) seem to have only be checked with a software which is amazingly good, yet not formally verified. To be fair to both op. cit. and Mathematica, one should point out that, in a sense, they don't need each other: the kind of computations in op. cit. could easily be implemented in many other systems; the power of the mentioned package resides elsewhere. Moreover, I know the 'but-there-may-equally-well-be-a-bug-in-one's-mind' objection to insistence on intuitive surveyability, and I don't have an answer to that. Moreover, I do not mean to imply that op. cit. is not a proof, but I think it is not a traditional proof relative to any of the respected proof systems; more technically speaking, these proofs contain atomic sentences involving a new-fangled equality symbol $=_{\scriptsize\text{CAS}}$, in addition to the usual $=_{\scriptsize{\text{HumanIntuition}}}$, with 'CAS' standing for 'computer algebra system', and for which the satisfaction-relation $\vDash$ becomes interestingly problematic in the sense that a claim of the form ' $\mathrm{World}$ $\vDash (A=_{\scriptsize\mathrm{CAS}}B) $ ' cannot be checked by human intuition.
(further reading on frameworks) The most recent publication on the topic of rigid frameworks, at least spiritually relevant to the OP, is: Jessica Sidman, Audrey St. John: The Rigidity of Frameworks: Theory and Applications. Notices of the AMS, October 2017.
(terminology) Needless to say, saying 'partitioned' here is not quite rigorous, since there are issues about sets of Lebesgue-measure zero, which are of course irrelevant to this context. Of course, the OP did not even mention whether their 'tetrahedra' are open or closed point-sets. I will gloss over this.
(terminological suggestion) Personally I find the term 'perfect parallelepiped' very unfortunate and unimaginative. In particular, it seems to have nothing to do with 'perfect numbers'. My suggestion would be to rename this class of parallelepipeds 'steppable parallelepipeds', maybe even portmanteaued to 'stepparellipiped'. These would make for more neutral and more informative art terms, for obvious reasons: all relevant lengths (i.e. the blue, the yellow, the green, and the red ones in the above picture) of stepparellepipeds can be constructed by a machine which is only allowed (0) arbitrary rotations in space (while staying put), and (1) unit-length steps.
-
2$\begingroup$ But the OP asks only about edge lengths being integers, these are much simpler to deal with - see e. g. answers by Gerhard "Just Did It" Paseman $\endgroup$ Commented Sep 30, 2017 at 14:28
-
$\begingroup$ @მამუკაჯიბლაძე: thanks for pointing out. You are right in saying that Gerhard Pasemann's answer seems the most to-the-point answer to the "Is there a computer program for generating such lists?"part of the OP .Also, Gerhard Pasemann's solutions come complete with a quickly verifiable proof. However, I took the overall 'sound' of the OP to mean that they are interested in 'what there is known about this', and the things I mentioned are relevant to this interpretation and had not been mentioned so far. $\endgroup$ Commented Sep 30, 2017 at 14:43
-
1$\begingroup$ Interesting. I cannot tell from your post the answer to this question: Is every integer length tetrahedron scale-isomorphic to one of the tetrahedra produced by the decomposition? If the answer is yes, then your answer would be quite on point. Gerhard "Don't Let Spellcheck Rule You" Paseman, 2017.09.30. $\endgroup$ Commented Sep 30, 2017 at 17:57
-
2$\begingroup$ @GerhardPaseman If you want all of them, the easiest way would be to use Noam's comment about Cayley-Menger: take all pairs of integer triangles with one of the sides equal; make this side common, forming a quadrilateral with this side as a diagonal; compute the second diagonal from Cayley-Menger; then, any positive integer strictly smaller than this second diagonal can serve as the sixth side length of a tetrahedron (the first five being sides of the triangles, with the common side identified). Obviously you get all of them this way, although there might be repetitions. $\endgroup$ Commented Sep 30, 2017 at 18:21
-
$\begingroup$ @მამუკაჯიბლაძე: fyi :I just shied away from adding a speculation on an interpretation of Sokolowsky--VanHooft--Volkert--Reiter result on sequences of perfect parallelepipeds with angles converging to $\frac{\pi}{2}$ to my answer, since I realized I couldn't make it precise. Yet I do think that there should come some 'qualitative surplus value' for the OP from the parallelepiped-approach, in the sense that (0) there's a controversy about whether a 'perfect cuboid' exists, and (1) if it doesn't, then op. cit. should imply that a relevant metric space on the OP's tetrahedra is not complete. $\endgroup$ Commented Sep 30, 2017 at 18:35
One can analyze certain situations to generate a number of common examples. The integrality condition combined with triangle inequalities plus some verification with the Pythagorean theorem are all one needs for these examples.
To start, note that any triangle with integer aide lengths, one of them being 1, must by the triangle inequality be of the form (1,x,x) for some positive Integer x. This leads to forms (1,1,1,x,x,x), (1,1,y,y,y,y), and (1,x,x,y,y,z) for certain distinct integers x,y and z which form a triangle in the last instance. If we limit ourselves to edges of length at most 4, this gives us the regular unit tetrahedron and 9 more examples.
We can use some of these patterns for similar examples: (a,a,a,b,b,b) where the a's form a triangle and the b's need only satisfy $\sqrt{3}$b greater than a. Also (a,a,a,a,b,b) can realize a tetrahedron when b's are lengths of opposite (non adjacent edges and a is at least $b/\sqrt{2}$. If the b's are adjacent edges then b must be greater than half of a and less than $\sqrt{2+\sqrt{3}}$ times a. While these constraints may be equivalent to those found from a Cayley-Manger determinant calculation, only high school analytic geometry is needed to derive the constraints. For (a,a,a,a,a,b) it should be clear that positive b at most $\sqrt{3}$ times a will do. Similarly, using a rectangle of side lengths a and b gives some constraints on values for (a,a,b,b,c,c), the new one being that the a,b,c triangle must have all acute angles. One can examine the other possibilities for a,b and c to determine additional constraints under different edge arrangements.
While this is not an exhaustive list, it should provide enough examples to populate a small database. Only when one gets up to four or more different edge lengths should one need to use more than Pythagoras, the triangle inequality, and spatial intuition to verify examples.
Gerhard "Do The Simple Ones First" Paseman, 2017.09.28.
Here is what is, perhaps, the simplest construction. Take four reasonably close integers $r_1, r_2, r_3, r_4.$ Then the simplex whose side lengths are the sums of pairs of these numbers is the simplex you seek (such a simplex were called conformal simplices in the paper by Daryl Cooper and myself, and for the exact criterion for "reasonably close" see theorem 4.3 in that paper):
Cooper, Daryl; Rivin, Igor, Combinatorial scalar curvature and rigidity of ball packings, Math. Res. Lett. 3, No.1, 51-60 (1996). ZBL0868.51023.
Decided to write down what one gets from the Cayley-Menger determinant mentioned by Noam D. Elkies in one of the comments.
A tetrahedron with sidelengths $a$, $b$, $p$, $c$, $d$, $q$, opposite side pairs corresponding to $(a,c)$, $(b,d)$ and $(p,q)$, exists iff there are triangles with sidelengths respectively $a$, $b$, $p$ and $p$, $c$, $d$, while $q$ satisfies $$ \frac1p\sqrt{\frac{S-R}2}<q<\frac1p\sqrt{\frac{S+R}2}, $$ where $$ S=\left(a^2-b^2\right)\left(c^2-d^2\right)+\left(a^2+b^2+c^2+d^2\right)p^2-p^4 $$ and $$\scriptstyle{R=\sqrt{(-p+a+b) (p-a+b) (p+a-b) (p+a+b) (-p+c+d)(p-c+d) (p+c-d) (p+c+d)}}.$$
I believe from this it is straightforward to generate the list of all integer sidelength tetrahedra up to any given length without omissions. There will be repetitions though; I do not immediately see how to recognize which of these correspond to truly congruent tetrahedra.
-
1$\begingroup$ Tetrahedron with equal faces can be constructed from acute-angled triangles (problem 38 in the book "100 problems" by Hugo Steinhaus). Therefore tetrahedron with side lengths $a,b,c$ opposite side pairs corresponding to $(a,a),(b,b),(c,c)$ satisfies this requirement. $\endgroup$– NemoCommented Oct 1, 2017 at 10:53
-
1$\begingroup$ @Nemo Indeed if in the above $a=c$, $b=d$ and $p=q$, then the requirement becomes$$\sqrt{|a^2-b^2|}<p<\sqrt{a^2+b^2}$$which, if I am not mistaken, exactly means that all angles of the triangle with sides $a$, $b$, $p$ are acute. $\endgroup$ Commented Oct 1, 2017 at 13:58
The OP states, "I need to find approximately thirty such tetrahedral combinations." OP seeks 30 tetrahedral 6-tuples of integer edge lengths. I found the OP's request to be an entertaining challenge in programming.
The integer 30 links the OP with tetrahedral geometry. If six proposed integer edge lengths (all distinct) form an actual tetrahedron, there may be as many as 30 incongruent tetrahedra with those same six integer edge lengths. (Note that each of the 30 incongruent tetrahedra is a member of a set of 24 congruent tetrahedra corresponding to the 24 ways of lebeling the four vertices.) For example, the collection of edge lengths 6,7,8,9,10,16 leads to the single tetrahedral 6-tuple (16,10,7,6,9,8) while the other 29 potential incongruent tetrahedra yield negative Cayley-Menger, or McCrea, determinants. On the other hand, the collection of edge lengths 13,14,15,16,17,18 leads to 30 6-tuples which are both facial and have positive determinants and therefore 30 incongruent tetrahedra with scalene triangles as faces.
What are those 30 potential incongruent tetrahedra? I take a programmer's approach with the following array-within-an-array coding the 6-tuples of the 30 incongruent tetrahedra:
# six distinct integer edge lengths
S = [13,14,15,16,17,18]
[a,b,c,d,e,f] = S
S = [ [a,b,c,d,e,f],
[a,b,c,d,f,e],
[a,b,c,e,d,f],
[a,b,c,e,f,d],
[a,b,c,f,e,d],
[a,b,c,f,d,e],
[a,b,d,c,e,f],
[a,b,d,c,f,e],
[a,b,d,e,c,f],
[a,b,d,e,f,c],
[a,b,d,f,e,c],
[a,b,d,f,c,e],
[a,b,e,d,c,f],
[a,b,e,d,f,c],
[a,b,e,c,d,f],
[a,b,e,c,f,d],
[a,b,e,f,c,d],
[a,b,e,f,d,c],
[a,b,f,d,e,c],
[a,b,f,d,c,e],
[a,b,f,e,d,c],
[a,b,f,e,c,d],
[a,b,f,c,e,d],
[a,b,f,c,d,e],
[a,c,d,b,e,f],
[a,c,d,b,f,e],
[a,c,e,b,d,f],
[a,c,e,b,f,d],
[a,c,f,b,e,d],
[a,c,f,b,d,e]
]
for x in S:
print(x)
(A similar array for the 24 congruent tetrahedra is also possible.)
Code which tests that each 6-tuple in the 2D array above is facial and computes a positive determinant yields the following results:
edge lengths / (tetrahedral 6-tuple) | facial | determinant |
---|---|---|
13, 14, 15, 16, 17, 18 | ||
1. (13, 14, 15, 16, 17, 18) | T | 48365568 |
2. (13, 14, 15, 16, 18, 17) | T | 49082158 |
3. (13, 14, 15, 17, 16, 18) | T | 48431502 |
4. (13, 14, 15, 17, 18, 16) | T | 49433278 |
5. (13, 14, 15, 18, 17, 16) | T | 49888768 |
6. (13, 14, 15, 18, 16, 17) | T | 49603582 |
7. (13, 14, 16, 15, 17, 18) | T | 45549838 |
8. (13, 14, 16, 15, 18, 17) | T | 47423038 |
9. (13, 14, 16, 17, 15, 18) | T | 45463438 |
10. (13, 14, 16, 17, 18, 15) | T | 48480958 |
11. (13, 14, 16, 18, 17, 15) | T | 48995038 |
12. (13, 14, 16, 18, 15, 17) | T | 47850718 |
13. (13, 14, 17, 16, 15, 18) | T | 41156608 |
14. (13, 14, 17, 16, 18, 15) | T | 47656750 |
15. (13, 14, 17, 15, 16, 18) | T | 41308942 |
16. (13, 14, 17, 15, 18, 16) | T | 46949950 |
17. (13, 14, 17, 18, 15, 16) | T | 47554048 |
18. (13, 14, 17, 18, 16, 15) | T | 48413182 |
19. (13, 14, 18, 16, 17, 15) | T | 46763550 |
20. (13, 14, 18, 16, 15, 17) | T | 40979998 |
21. (13, 14, 18, 17, 16, 15) | T | 47005902 |
22. (13, 14, 18, 17, 15, 16) | T | 44990158 |
23. (13, 14, 18, 15, 17, 16) | T | 44841550 |
24. (13, 14, 18, 15, 16, 17) | T | 41073742 |
25. (13, 15, 16, 14, 17, 18) | T | 45250558 |
26. (13, 15, 16, 14, 18, 17) | T | 46407168 |
27. (13, 15, 17, 14, 16, 18) | T | 41591518 |
28. (13, 15, 17, 14, 18, 16) | T | 46230750 |
29. (13, 15, 18, 14, 17, 16) | T | 45015550 |
30. (13, 15, 18, 14, 16, 17) | T | 41532928 |
The OP now has 30 incongruent tetrahedral 6-tuples. The trick, of course, is to find a collection of six distinct integer edge lengths which yield all 30 incongruent tetrahedra. The example above yields all 30. I found a few more examples by simply testing sequentially increasing integers:
8,9,10,11,12,13
9,10,11,12,13,14
10,11,12,13,14,15
Even if a collection of six edge lengths leads to fewer than 30 tetrahedra, those tetrahedra are real and can be included in the desired 30.
Mussa (p. 36) mentions S=(35,30,42,28,36,45) as a 6-tuple yielding all 30 incongruent tetrahedra: https://academiccommons.columbia.edu/doi/10.7916/D8J96DP9/download
BONUS FEATURE
Joseph Malkevitch hints at another fun programming challenge. He states, "... though it would be nice to see actual examples of integer 6-tuples that achieve the various values of i." Here are a few examples among the several I found:
i | a,b,c,d,e,f |
---|---|
0 | 1,2,3,4,5,6 |
1 | 6,7,8,9,10,16 |
2 | 4,5,15,16,17,18 |
3 | 3,5,7,9,11,13 |
4 | 2,3,4,5,6,7 |
5 | 6,7,8,9,10,15 |
6 | 3,4,5,6,7,9 |
7 | 3,4,5,7,8,9 |
8 | 5,7,8,9,10,14 |
9 | 4,5,6,8,9,10 |
10 | 3,4,5,6,7,8 |
11 | 3,5,6,7,8,9 |
12 | 6,7,8,9,10,14 |
13 | 5,8,9,10,11,14 |
14 | 4,5,6,7,8,10 |
15 | 6,7,8,11,12,13 |
16 | 6,7,8,9,10,13 |
17 | 5,6,7,8,9,11 |
18 | 6,7,10,11,12,14 |
19 | 4,5,6,7,8,9 |
20 | 6,8,9,10,13,14 |
21 | 7,8,9,11,12,14 |
22 | 7,8,9,10,11,14 |
23 | * |
24 | 5,6,7,8,9,10 |
25 | * |
26 | 7,9,10,11,12,14 |
27 | 6,7,8,9,10,11 |
28 | 6,10,11,12,13,14 |
29 | 7,9,11,12,13,14 |
30 | 7,8,9,10,11,12 |
- A modest search did not reveal an example.
Case i=26 includes an example of two incongruent tetrahedra having the same Cayley-Menger, or McCrea, determinant, and therefore the same volume. While both tetrahedra have four scalene triangles as faces, the two sets of triangles are different.
scalene triangles determinant
--------------------------------------- -----------
(14,12,11,9,7,10) (14,12,11),(9,7,11),(9,10,12),(14,7,10) 2635678
(14,12,9,10,7,11) (14,12,9),(9,10,7),(10,11,12),(14,7,11) 2635678