Cube logic

Discussion in 'Physics & Math' started by arfa brane, Oct 20, 2016.

  1. arfa brane call me arf Valued Senior Member


    Please Register or Log in to view the hidden image!

    This is an image of the three regular tilings of Euclidean 2-space (i.e. the plane).

    The images in the bottom row are called flags. Each is the smallest number of tiles that contains a vertex which is transitive (has the same number of edges as all the vertices in the tiling).
    Consider the dual tiling of each flag. The first, a triangular tiling has a hexagonal dual tiling. The second, a hexagonal tiling has a triangular dual tiling. The last, square tiling is self dual.

    Which more roughly stated is a hexagon of triangles, a triangle of hexagons, and a square of squares.
    If you have a tiling of the 3-plane with cubes, the flag is the smallest cube of cubes which is also self dual.
    Last edited: Dec 9, 2016
  2. Google AdSense Guest Advertisement

    to hide all adverts.
  3. arfa brane call me arf Valued Senior Member

    So on with what I would say Gerard t'Hooft is saying about the global symmetry of the electromagnetic field, via quantum interference of electrons. This effect, interference, is because of the phases of a pair of "point" sources of spherical waves--in this case matter waves--and classically you get constructive and destructive parts in the pattern and a distribution--peaks and troughs over a, well, plane surface.

    This effect is global in the sense all kinds of particles interfere, and so the particles are waves--electron wavelengths depend on their energy, or momentum.

    Anyhoo, if you say, consider a tiling to be a kind of field you can consider the kinds of things that can be changed globally (rotate all the tiles in the same direction by the same angle, for example), and leave the space unaltered. This type of global operation can be likened to changing, say, an electric potential (which is what t'Hooft uses in his article).

    Randomly colouring the tiles with a fixed set of colours also doesn't really change anything globally--from a distance the surface will have a single colour. Up close, there must be all kinds of paths around the faces of a cube. If one of the faces of a flag is removed, and the inner edges are glued together you get an object which is one half of a cube.

    Exercise: colour an otherwise blank cube with three colours so they are all adjacent to the same vertex. Now 'unroll' the cube in a plane in the ten possible paths which visit each face once. There will be blanks in the sequence of faces, and the orientation of the cube will change. Is there a pattern in this change in orientation?
  4. Google AdSense Guest Advertisement

    to hide all adverts.
  5. arfa brane call me arf Valued Senior Member

    Returning to the idea of unrolling a sphere or other geometric object along a plane surface without slipping.
    This is equivalent to rolling a plane surface on a sphere. The sphere can only be tangent to the plane at a single point, and you get the same thing by embedding the sphere in a cylinder so the cylinder is tangent to an "equator". The cylinder can be sliced open and laid (or made) flat.

    A cube is tangent to a plane surface at a face, but its dual is, like a sphere, tangent at a point, and there are at least topological embeddings of a cube and its dual that look like a sphere inside a cylinder.
    In the continuous model, you can trace the parallel transport of a vector around a line of latitude by embedding the sphere inside a cone, then unrolling (or slicing open) the cone.

    So are we considering a square tiling as some kind of cylinder that's been sliced open?

    Here's a diagram from the article about connections on fiber bundles:

    Please Register or Log in to view the hidden image!

    A circle of directions means all the directions tangent to a point, in a small neighbourhood of that point. The reference direction on the hemisphere is shown in the base space (all the parallel arrows), there are three example points, A,B and C in the diagram.

    The bundle of topological fibers is mathematically equivalent to the hemisphere's circle bundle (the fiber over each point is a circle, so the topological space is actually a torus) (!).

    This is because 0° and 360° are the same direction, so technically the cylindrical bundle has both ends glued together, if this is understood it means the above diagram is much easier to draw (!!). Note though, that the hemisphere has coordinates--the \( \alpha \) is the latitude, the \( \beta \) is the longitude and stays curved in the total and the base space.

    Last edited: Dec 9, 2016
  6. Google AdSense Guest Advertisement

    to hide all adverts.
  7. arfa brane call me arf Valued Senior Member

    Sorry, I'll post that piccy again a bit larger:

    Please Register or Log in to view the hidden image!

    [The circles are shown much larger for convenience]​

    Please Register or Log in to view the hidden image!

    And for good measure a diagram of the circle of latitude in a cone along with a geodesic on the same cone:

    Please Register or Log in to view the hidden image!

    It's supposed to show both how the directions which are parallel on a regular curve (with points A,B,C,D on it) change from the plane to the sphere, and how a straight line (with points O,P,Q,R on it) change from the plane to the cone when they are "made" tangent. There is a change in the (invariant) direction on the plane curve, and an angular excess where the straight line intersects itself on the cone.

    But there isn't any physical rolling, time as a dimension isn't involved and it's just math.​
  8. arfa brane call me arf Valued Senior Member

    Why a square tiling is "special".

    Please Register or Log in to view the hidden image!

    This, if it's a section of an infinite square tiling, is isomorphic to \( \mathbb {Z}_8 \times \mathbb {Z}_8 \), or, the whole tiling must be isomorphic to \( \mathbb {Z} \times \mathbb {Z} \), which means you can always locate a given square in the section with a pair of integers.

    However, a triangular tiling or its dual, are not an isomorphism of \( \mathbb {Z} \times \mathbb {Z} \). If they were you could find a vertical and a horizontal column and row in the tiling, or, in these other regular tilings there is no way to locate a given triangle or hexagon with a pair of integers. The dual of a cube is an octahedron with triangular faces, but the tetrahedron and icosahedron also have triangular faces--how can you tell which of the three regular solids has been unrolled to form any section of a triangular tiling? Come on.

    Things keep occurring to me: If a hemisphere with four orthogonal points on its equator (viz, the diagrams) is equivalent topologically (is homeomorphic) to a cube with one face on a plane (hidden, in some sense), then there should be a bundle over each geometry which is identical.
    On the sphere with parameters \( \{\alpha, \beta\} \), angle of latitude and longitude:- \( \alpha \) is relative to zero degrees at the pole of the hemisphere, whereas \( \beta \) is relative to zero degrees, 'chosen' somewhere on the equator.

    The continuous space on the hemisphere has a fiber bundle which is a solid cylinder, the bundle over the equator is the surface of the same cylinder (since you have to include the paths from fiber to fiber). To get from any of the four fixed equatorial points to the pole, you have a section of the bundle which is given by those fibers tangent to a pair of orthogonal planes through the central fiber, and coincident with the four equatorial fibers.

    But you rotate the cube "on" the plane (equivalently, wrap the plane around it), and a Hamiltonian which isn't a cycle ends at the other pole--you have two hemispheres and two bundles which are separated by 180°.

    The sphere's two hemispheres lie either side of a 'slicing' plane, and slicing a cube in half to "separate' the hemicubes geometrically is the same as not slicing the cube in half topologically (the slice is the point in the trace you leave the equator for the other pole). (!)
    Last edited: Dec 10, 2016
  9. rpenner Fully Wired Registered Senior Member

    I think you are terrible at mathematics.
    Sure there is such an one-to-one mapping. Here's an HTML file with javascript that makes that explicit. Each pair of integers m and n are used to locate the interior of each element of the tiling. In addition mp and np represent one-to-one mappings \(\mathbb{Z} \to \mathbb{N}\) while exp holds the result of a one-to-one mapping of \(\mathbb{Z}^2 \to \mathbb{N}\) and this non-negative integer is used for the coloring of tiles.

    Moreover, the ability to create one-to-one mappings between tilings and tuples of integers or a non-negative integer isn't esoteric pure math, but is used (for example) to represent lattices in computer programs all the time.

    <html> <head> <title>Tilings</title> <script>
    var vectors = {
        "square" : [ [ 1.0, 0.0 ], [ 0.0, -1.0 ] ],
        "hex" :    [ [ 1.0, 0.0 ], [ 0.5, -Math.sqrt(0.75) ] ],
        "tri" :    [ [ 0.5, 0.0 ], [ 0.5, -Math.sqrt(0.75) ] ],
    var shapes = {
        "square" : [ [ [ -0.5, -0.5], [ -0.5, 0.5], [ 0.5, 0.5], [ 0.5, -0.5] ] ],
        "hex" : [ [ [ 0, -Math.sqrt(1.0/3.0) ], [ -0.5, -Math.sqrt(1.0/12.0) ], [ -0.5, Math.sqrt(1.0/12.0) ], [ 0, Math.sqrt(1.0/3.0) ], [ 0.5, Math.sqrt(1.0/12.0) ], [ 0.5, -Math.sqrt(1.0/12.0) ] ] ] ,
        "tri" : [
    [ [-0.5, Math.sqrt(0.1875)], [0.5, Math.sqrt(0.1875)], [0.0, -Math.sqrt(0.1875)] ],
    [ [-0.5, -Math.sqrt(0.1875)], [0.0, Math.sqrt(0.1875)], [0.5, -Math.sqrt(0.1875) ] ] ]
    function draw_shape(shp, context, scale, x_center, y_center) {
            var x = x_center + scale * shp[0][0];
            var y = y_center + scale * shp[0][1];
            context.moveTo(x, y);
            for (var k = 1 ; k < shp.length; k ++ ) {
                x = x_center + scale * shp[k][0];
                y = y_center + scale * shp[k][1];
                context.lineTo(x, y);
    function draw_lattice( name ) {
        var canvas = document.getElementById(name);
        var context = canvas.getContext("2d");
        var vects = vectors[name];
        var shps = shapes[name];
        var x0 = 0.5 * canvas.width;
        var y0 = 0.5 * canvas.height;
        var scale= 80.0;
        context.font = "12 pt Arial";
        context.textAlign = 'center';
        context.lineWidth = 3;
        context.strokeStyle = 'black';
        for (var m = -9; m < 10; m ++) {
            var mp = ( m < 0 ) ? -2 * m - 1 : 2 * m;
            var mask = 0x1 ;
            var shift = 1;
            var mexp = 0;
            while ( mask <= mp ) {
                mexp |= ( mp & mask ) << shift;
                mask <<= 1;
                shift += 1;
        for (var n = -9; n < 10; n ++) {
            var np = ( n < 0 ) ? -2 * n - 1 : 2 * n;
            mask = 0x1 ;
            shift = 0;
            var exp = mexp;
            while ( mask <= np ) {
                exp |= ( np & mask ) << shift;
                mask <<= 1;
                shift += 1;
            var blue = exp % 3;
            var red =  Math.floor( exp / 3 ) % 3;
            var green =  Math.floor(exp / 9 ) % 3;
            red = 255 - 48 * red;
            green = 255 - 32 * green;
            blue = 255 - 64 * blue;
            var shp_index = 0;
            if ( shps.length > 1 ) { shp_index = ( shps.length + ( m % shps.length ) ) % shps.length; }
            var x_center = x0 + scale * ( m * vects[0][0] + n * vects[1][0] );
            var y_center = y0 + scale * ( m * vects[0][1] + n * vects[1][1] );
            draw_shape(shps[shp_index], context, scale, x_center, y_center);
            context.fillStyle = "rgb(" + red + "," + green + "," + blue + ")";
            draw_shape(shps[shp_index], context, scale, x_center, y_center);
            context.fillStyle = 'black';
            context.fillText( "(" + m + "," + n + ")", x_center, y_center);
    function main() {
    </script> </head> <body onLoad="main()">
    <p>Square</p> <canvas id="square" width=600 height=400 ></canvas>
    <p>Hexagonal</p> <canvas id="hex" width=600 height=400 ></canvas>
    <p>Triangular</p> <canvas id="tri" width=600 height=400 ></canvas>
    Last edited: Dec 11, 2016
  10. arfa brane call me arf Valued Senior Member

    Me too.
    Thanks, but can you make it explicit by showing me how you can map the triangular and hexagonal tilings one-to-one to pairs of integers? Which tiles would be (0,0), (0,1) and (1,0) for instance, in this set:

    Please Register or Log in to view the hidden image!

    or this set:

    Please Register or Log in to view the hidden image!

  11. arfa brane call me arf Valued Senior Member

    Ok, I can see where I went wrong. Mapping the integers to a 2-dimensional array of tiles is a matter of finding a row (resp. column) that has a map to \( \mathbb {Z} \), then finding \( \mathbb {Z} \) columns (resp. rows), so you have \( \mathbb {Z} \), \( \mathbb {Z} \) times.

    What threw it for me was that the hexagonal and triangular tilings don't have rows and columns both "straight", you have to have at least one (rows or columns) numbered in a zig-zag way. I assume that's what the code rpenner submitted does somewhere although I haven't spent much time looking through it.

    In other words, for the yellow triangular tiles above, pick a row of three tiles above (resp. below) which is a second row of three tiles, but geometrically "shifted" as well as inverted. Keep going with as many rows as you like . . .
    With the green hexagonal tiling you have to choose whether a row is shifted up or down, or as in the image, which row (each of the rightmost tiles is in a row) commutes with the leftmost.

    Is a tiling a field of numbers? Well, \( \mathbb {Z} \times \mathbb {Z} \) isn't a field, but \( \mathbb {Z}_p \times \mathbb {Z}_p \) is a field when p is prime. So you could argue that sections of a tiling are a field and the whole tiling is a union of fields (?).
    Last edited: Dec 11, 2016
  12. arfa brane call me arf Valued Senior Member

    It pays to get some Z's

    So yeah, the three regular tilings are all spaces isomorphic to \( \mathbb Z \times \mathbb Z \).
    Since you are free to choose rows and columns, you can also rotate the tiling by 45 degrees, and there it is again, \( \mathbb Z \) rows of \( \mathbb Z \). But the thing about integers is, they are conventionally a constant distance apart (a unit distance), the edges as distances can be any distance apart as long as they don't intersect. Any graph of the integers is a topological representation, in which stretching and bending are allowed.

    So it's then like any regular tiling has two basis sets you can change to--geometrically related by a rotation of the plane. Colouring and combinations of colours leaves all that the same, or invariant (""invariant under any colouring map"). The colours can be considered informational, something that can be ignored (but useful for mapping out patterns).

    In the plane, you can imagine starting to cut a single square face out, you cut around three edges, thus deciding which square will be next. But now this face bends up (or down) into an unknown third dimension, the pattern gets curved up. You have a curved section of \( \mathbb Z \times \mathbb Z \).

    This then tiles \( \mathbb Z \times \mathbb Z \times \mathbb Z \).
  13. arfa brane call me arf Valued Senior Member

    And there's something about square matrices. A matrix isn't a geometric object (although it can be a linear operator on geometric vectors). Nonetheless, you can easily take a flag of squares and colour them, then represent this with a kind of fixed matrix (no transpose, you can't use multiplication). Indeed you can take a pair of square matrices and construct a cubic matrix, using the notation that A and B are two 2x2 matrices, then one slice of their cubic construction is just the pair \( (C_{1jk},C_{2jk}) \), with the indices alternating for the other two slices.
    Using indices means identifying which 2x2 component, then which row, then column, so the new matrix gets a new name. (heh)

    Using the word "slice" to me is like how to slice a sphere so you have a cube, or some other regular solid. But clearly there is no big mathematical problem with considering a tile as a cube of integers (each vertex is an integer, with indices) or a hypercube as a hypertile.

    The idea is to take what you can do with six square tiles (edge-to-edge you can make a cube, and only a cube), to what you can do with eight cubic tiles, you try to find a way to fold everything together that is consistent across dimensions. It's definitely connected to dual graphs I would have to say.
    Last edited: Dec 23, 2016
  14. arfa brane call me arf Valued Senior Member

    Not surprisingly someone else has been looking at this kind of constructive problem. According to them, there are 261 distinct 'unfoldings' of a 4-cube.

    Like I try to do, they start with finding a one-to-one correspondence between the nets of a cube and the kind of graph you get from the internal set of points, which graph corresponds in my problem with a tree graph with no branches. The problem the other is looking at is the number of "polycube nets" and their correspondence to the set of tree graphs on eight points.

    The eleven nets of the cube (polysquares) correspond to the subset of tree graphs of order 6 with no vertex greater than degree 4 (since that implies a face of a cube adjacent to more than 4 others), hence the one tree graph of degree 5 is excluded, and the eleven nets have one-to-one correspondence with the 5 tree graphs over a relation, which is the relation between opposite faces of the cube. It's a pairwise relation ("not adjacent") and it differentiates the graphs.

    The Hamiltonian paths correspond to the same tree graph (having no vertex greater than order 2), mapped over the relation, four times. But, two of the four are a cyclic permutation of each other (another kind of pairwise relation). This pair is the last two paired trees, you can check visually that starting on a different square of either will change one net into the other.
    Last edited: Dec 24, 2016
  15. arfa brane call me arf Valued Senior Member

    So there is a set of Hamiltonian paths over the faces of a 4-dimensional cube, thanks to tree graphs and how they commute with faces.

    Please Register or Log in to view the hidden image!

    Interesting that the number of them is the same as the number of discrete symmetries of a cube.​
  16. arfa brane call me arf Valued Senior Member

    I note there's a mistake in Fig 2. The last spanning tree is not 'decorated' consistently. You can see where the mistake is by trying to cyclically permute the one before it, which means rearranging the pairings.
  17. arfa brane call me arf Valued Senior Member


    Please Register or Log in to view the hidden image!

    The 4d puzzle, or rather its projection onto 3d (via the notion of depth in a 2d image), is, ahem, actually missing something.
    The colour map doesn't cover orientations, the "cubes" might as well be coloured blobs (topology!). It's strictly a map of positions (although that makes the puzzle difficult enough, and that's for sure).

    However, suppose you get hold of eight of the 2x2x2 versions (Pocket Cubes), of the Rubik's puzzle, which should be coloured identically.

    Fix one cube as the central one, as in the piccy, then arrange six others around it so the face colours match up as in an edge to edge tiling (recall the edges are the 2-faces of cubes the cubes are the 3-faces of an unwrapped 4d-object). Now map the way the 4d puzzle rearranges its computer model by rotating inner and outer slices. The actions on the 3-faces are rotations of part of the whole thing, as the actions on 2-faces in 3d (normal Rubik territory) rotate parts of the whole cube because of the slicing and how relations between opposite and adjacent faces change.
    But you won't, with an actual set of 3d cubes, sliced up or not, be able to rotate anything in a 4th dimension, and the 8th cube should be at infinity (where the hell is that?).

    So now you can ask, if the net of a 4d-cube is coloured so the central cube is identical to a Rubik's cube, can that central cube be permuted as a Rubik's cube, despite some of its parts being in other 3-faces or in the 4th dimension? Can just the central cube be coloured this way?

    I imagine the puzzle would need some rewriting to allow for the orientations--it could be that the code currently ignores it and just computes positions as if the individual cubes are just blobs of colour, I can't see why you would code for something you don't need to output.
    Last edited: Dec 29, 2016
  18. arfa brane call me arf Valued Senior Member


    Start with this one, and colour each vertex the same as the eight faces of a hypercube (as in the computer puzzle). If the hypercube has been 'sliced' so there are \( n^3 \) subfaces each the same colour (hence, \( n^3 \) positions per face), you will need \( n^3 \) copies of \( K_8 \)

    Please Register or Log in to view the hidden image!

    The above graph isn't coloured and has four more edges than \( K_{8;6} \) (the cyclic graph of order 8 with 6 edges per vertex). So remove 4 edges from
    \( K_8 \) so each vertex is degree 6.

    Colour the edges with six colours so each vertex has six different coloured edges.
    In the puzzle, there is a problem with retaining the vertex colouring if you want to colour all the 2-faces, but completely colouring at least one 3-face so you have a partial cover of orientations might do it.
  19. arfa brane call me arf Valued Senior Member

    When you rotate the 'slices' of a Rubik's cube, you reorient things that are cubes, stacked together in a cubic shape, or bounded by the larger cube. You can show that the set of changes in orientation over each cube in the stack has a 2d representation as a net (or as a decorated spanning tree with no branches). Or you can show that any change in orientation of a single cube is part of a net.

    In the plane you can iterate these nets, they are all permutations of the set of six faces so must be elements of \( S_6 \). Iteration means you get an extended net that corresponds to \( \mathbb {Z} \), you can rotate the iterated structure so it extends in one direction, but zigs and zags up and down. So you can tile the plane with iterated patterns.

    It's a periodic function that takes sections of \( \mathbb {Z}^2 \) to \( \mathbb {Z} \).
    Since iteration is just composition (you permute permutations), you can combine different nets, or elements of that subset of nets of a cube which are Hamiltonian.
  20. arfa brane call me arf Valued Senior Member

    A note on using a relation to cover the geometric subspaces of a cube.

    Simply put, a cube has only two relations between its faces: pairs of faces are either opposite or adjacent. In two dimensions, squares in a square tiling are either adjacent or not, there is no geometric concept of opposite, unless you define it on the 1-faces of each square (i.e. opposite edges).

    If I define a relation like \( \tau(a,b) \) where a,b are elements of some geometric space, as being true when a and b are adjacent and not true otherwise, this can immediately be mapped to the integers with just a slight strengthening of the condition, "is adjacent" that determines if the logical relation is true/false.

    So two integers, s,t are adjacent if there are no integers "between" them, that is if \( |s - t| = 1 \), so we can, by setting 1 = true, 0 = false, define a function (as a relation), like \( \tau(s,t) = \begin{cases} 1, \text{ if } |s - t| = 1 \\ 0 \text{ otherwise} \end{cases} \).

    Then we have the set: \( \{ (a,b)\; |\; \tau(a,b) = 0,\; a,b \in \mathbb Z \} \) mapped to the faces of a cube (of which there are an integer number), and we get three pairs of opposites, a triple cover of the set of vertices.
    Last edited: Jan 13, 2017
  21. arfa brane call me arf Valued Senior Member

    Hang on, I'm thinking, there are six faces so there are six integers and the relation.
    No, I think, the relation covers three faces at a time where two (the first and last) are opposites.

    It applies the same way to any integer if an integer is like a vertex of degree two, with a pair of neighbours which are adjacent. Hence the two neighbours are not adjacent and \( \tau(a,b) = 0 \) is true for that pair.
    If you number the faces, you order the faces. Because of the geometry some faces will be adjacent geometrically but have numbers which aren't adjacent.
    You restore the symmetry by requiring the relation to map to the introduced order (in the same way it maps to six successive integers), and this fixes something.

Share This Page