FiniteCubicalComplex(VS)

alg_top.spad line 2460 [edit on github]

A Finite Cubical Complex for more documentation see: http://www.euclideanspace.com/prog/scratchpad/mycode/topology/cubical/ Date Created: April 2016 Basic Operations: Related packages: Related categories: Related Domains: Also See: AMS Classifications:

= : (%, %) -> Boolean
from BasicType
addCube : (%, CubicalFacet) -> %

Add a facet to this simplex If the facet is also in the list then, do not append, instead change the multiplier.

addImpliedFaces : % -> List(List(CubicalFacet))

a function to take a set of faces and add those that are implied by the cubicalComplex conventions (if they don't already exist). For example, if the input is a square [1..2, 1..2] then we would add its edges [1..1, 1..2], [2..2, 1..2], [1..2, 1..1], and [1..2, 2..2].

boundary : % -> %

Boundary operator. Step down to the next lower dimension, this is like hollowing out the complex. It takes the highest dimension entries and replaces them with their boundaries, cancelling out where it can.

chain : % -> ChainComplex

returns a matrix sequence representing the face maps in linear algebra form

coerce : % -> DeltaComplex(VS)

coerce CubicalComplex to DeltaComplex

coerce : % -> OutputForm
from CoercibleTo(OutputForm)
cubicalComplex : List(VS) -> %

construct empty cubical complex

cubicalComplex : (List(VS), List(CubicalFacet)) -> %

constructor where the cubes are supplied

cubicalComplex : (List(VS), List(List(List(Integer)))) -> %

constructor where the cubes are supplied

cubicalComplex : (List(VS), List(List(Segment(Integer)))) -> %

constructor where the cubes are supplied

fundamentalGroup : % -> GroupPresentation

Generates fundamental group from this cubical complex. This works by converting to a DeltaComplex and then generating the fundamentalGroup from that. This is not the most efficient method because the conversion generates lots of higher order faceMaps which are not used. This will attempt to simplify the group presentation, if you don't want this use alternative function of same name. TODO write a faster implementation which only generates edge and square faceMaps.

fundamentalGroup : (%, Boolean, Boolean) -> GroupPresentation

Generates fundamental group from this cubical complex. This works by converting to a DeltaComplex and then generating the fundamentalGroup from that. This is not the most efficient method because the conversion generates lots of higher order faceMaps which are not used. TODO write a faster implementation which only generates edge and square faceMaps. This version has options to: simplify - if true attempts to simplify the group presentation trace - if true outputs trace of simplification rules used.

grade : % -> List(List(CubicalFacet))

A function to grade faces according to the number of non-degenerate intervals. This nests the lists according to their order Vertices, edges, squares and so on.

homology : % -> List(Homology)

calculate homology using SmithNormalForm

latex : % -> String
from SetCategory
maxIndex : % -> NonNegativeInteger

find the maximum index.

product : (%, %) -> %

Forms product of two cubical complexes.

~= : (%, %) -> Boolean
from BasicType

CoercibleTo(OutputForm)

SetCategory

BasicType