This is not current.
- Vn: Vertex number
- A non negative integer, one per vertex, unique in complex.
- GZone: (primordial)
- an list of Vns
- Zone:
- an array of facet refs
- facet:
- two of Zone ref, cot
- cot:
- n by n Matrix which transforms tensors
- TC: Topology of Complex
- A list of Zones
- ds2: (primordial)
- An array of triples (i, k ds2) meaning the ds2 for the edge between vertices i and k is ds2
- facet: facet
- references to 2 zones, transformation matrix and inverse between bcc’s of the 2 zones.
n-permutation of vertices for transferring points in facet.
Plumbing
A general framework for at least the geodesic code is as follows.
We have these data set types:
- topology
- which enumerates zones in terms of their global vertex numbers
- S-metric
- Simplex metric which provides ds2 for the edges of a topology
- C-metric
- Continuous metric which provides ds2 for the differential distances.
- embedding
- which calls out global coordinates of vertices in some prior geometry of known continuous metric properties
vertex_number ::= int
orientation ::= bool
n-simplex ::= (orientation, n-tuple of vertex_number) int list
n-topology ::= set of n-simplex int list list
S-metric ::= 1-simplex → real int -> float
coordinate ::= opaque structure to locate point in some classic metric space. float array
C-metric ::= coordinate * coordinate → float
embedding ::= vertex_number → coordinate float array array
boundary ::= topology → topology
embedding → metric
Imagine a program that reads a topology and an embedding, consults the host geometry of the embedding to compute a metric, and produces a metric n-complex.
That should suffice to define a geodesic introduced at the boundary of the complex.