# FiniteCubicalComplex VSΒΆ

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

~=: (%, %) -> 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
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

cubicalComplex: List VS -> %

construct empty cubical complex

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.

BasicType

SetCategory