ReferenceRepresentation
: The reference implementation of complexes¶
- class simplicial.ReferenceRepresentation¶
A reference implementation for simplicial complexes.
This implementation is a direct in-memory representation of a simplicial complex. It is not minimal, in the sense that it holds the same information in different forms optimised to different uses. See Representing simplicial complexes for details.
- Parameters
c – the complex we’re representing
Important
More useful methods for manipulating complexes are described under
SimplicialComplex
. The descriptions below are mainly for
the aid of those wanting to write new representations
Complex¶
- ReferenceRepresentation.setComplex(c)¶
Set the complex we’re representing. This allows the representation to make use of the complex’s more flexible operations if required.
- Parameters
c (
SimplicialComplex
) – the complex
Adding and deleting simplices¶
- ReferenceRepresentation.addSimplex(fs, id, attr)¶
Add a simplex to the complex whose faces are the elements of fs. This manipulates several internal dat a structures including the simplex list, face list, and boundary operator matrices.
- Parameters
fs (
List
[Any
]) – (optional) a list of faces of the simplexid (
Any
) – (optional) name for the simplexattr (
Dict
[str
,Any
]) – (optional) dict of attributes
- Returns
the name of the new simplex
- ReferenceRepresentation.newSimplex(d)¶
Generate a new unique identifier for a simplex. The default naming scheme uses a sequence number and a leading dimension indicator. Users can name simplices anything they want to get meaningful names.
- Parameters
d (
int
) – dimension of the simplex to be identified- Return type
str
- Returns
an identifier not currently used in the complex
- ReferenceRepresentation.forceDeleteSimplex(s)¶
Delete a simplex without sanity checks. It delets the simplex, its attributes, and its entries in the appropriate boundary matrices.
- Parameters
s (
Any
) – the simplex
- ReferenceRepresentation.relabelSimplex(s, q)¶
Relabel a simplex. This changes the canonical mapping of simplices to indices as well as the simplex list.
- Parameters
s (
Any
) – the simplex to renameq (
Any
) – the new name
Retrieving simplices¶
- ReferenceRepresentation.simplices(reverse)¶
Return all the simplices in the complex, in order: the low orders first (unless reverse is True), and in canonical order within each order.
- Parameters
reverse (
bool
) – (optional) reverse the sort order if True- Return type
List
[Any
]- Returns
a list of simplices
- ReferenceRepresentation.simplicesOfOrder(k)¶
Return all the simplices of the given order. The simplices are returned in “canonical” order, meaning the order they appear in the boiundary operator matrices.
- Parameters
k (
int
) – the desired order- Return type
List
[Any
]- Returns
a set of simplices, which may be empty
- ReferenceRepresentation.containsSimplex(s)¶
Test whether the complex contains the given simplex.
- Parameters
s (
Any
) – the simplex- Return type
bool
- Returns
True if the simplex is in the complex
- ReferenceRepresentation.maxOrder()¶
Return the largest order of simplices in the complex.
- Return type
int
- Returns
the largest order that contains at least one simplex, or -1
Details of individual simplices¶
- ReferenceRepresentation.orderOf(s)¶
Return the order of a simplex.
- Parameters
s (
Any
) – the simplex- Return type
int
- Returns
the order of the simplex
- ReferenceRepresentation.indexOf(s)¶
Return the inmdex of a simplex.
- Parameters
s (
Any
) – the simplex- Return type
int
- Returns
an index
- ReferenceRepresentation.getAttributes(s)¶
Return the attributes associated with the given simplex.
- Parameters
s (
Any
) – the simplex- Return type
Dict
[str
,Any
]- Returns
a dict of attributes
- ReferenceRepresentation.setAttributes(s, attr)¶
Set the attributes associated with a simplex.
- Parameters
s (
Any
) – the simplexattr (
Dict
[str
,Any
]) – a dict of attributes
- ReferenceRepresentation.faces(s)¶
Return the faces of a simplex.
- Parameters
s (
Any
) – the simplex- Return type
Set
[Any
]- Returns
a set of faces
- ReferenceRepresentation.cofaces(s)¶
Return the simplices the given simnplex is a face of.
- Parameters
s (
Any
) – the simplex- Return type
Set
[Any
]- Returns
a list of simplices
- ReferenceRepresentation.basisOf(s)¶
Return the basis of a simplex.
- Parameters
s (
Any
) – the simplex- Return type
Set
[Any
]- Returns
the set of 0-simplices that form the basis of s
Topological information¶
- ReferenceRepresentation.boundaryOperator(k)¶
Return the boundary operator of the k-simplices.
- Parameters
k (
int
) – the order of simplices- Return type
ndarray
- Returns
the boundary matrix
Optimised versions of core methods¶
- ReferenceRepresentation.simplexWithBasis(bs, fatal=False)¶
Return the simplex with the given basis, if it exists in the complex. If no such simplex exists, or if the given set is not a basis, then None is returned; if fatal is True, then an exception is raised instead.
- Parameters
bs (
List
[Any
]) – the basisfatal (
bool
) – (optional) make failure raise an exception (defaults to False)
- Return type
Any
- Returns
the simplex or None