# FiniteCubicalComplex VSΒΆ

- VS: AbelianGroup

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:

- addCube: (%, CubicalFacet) -> %
- Add a facet to this simplex If the facet is also in the list then, dont 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, List CubicalFacet) -> %
- 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 implemetation 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.
- hash: % -> SingleInteger
- from SetCategory
- hashUpdate!: (HashState, %) -> HashState
- from SetCategory

- homology: % -> List Homology
- calculate homology using SmithNormalForm
- latex: % -> String
- from SetCategory

- maxIndex: % -> NonNegativeInteger
- find the maximum index.

- product: (%, %) -> %
- Forms product of two cubical complexes.