Composite Data Structures
The package relies on a number of basic composite data structures that encompass more complicated objects. For the internal representation of sparse matrices we refer to Internal Sparse Matrix Representation.
ConleyDynamics
— Modulemodule ConleyDynamics
Collection of tools for computational Conley theory.
Lefschetz Complex Type
ConleyDynamics.LefschetzComplex
— TypeLefschetzComplex
Collect the Lefschetz complex information in a struct.
The struct is created via the following fields:
labels::Vector{String}
: Vector of labels associated with cell indicesdimensions::Vector{Int}
: Vector cell dimensionsboundary::SparseMatrix
: Boundary matrix, columns give the cell boundaries
It is expected that the dimensions are given in increasing order, and that the square of the boundary matrix is zero. Otherwise, exceptions are raised. In addition, the following fields are created during initialization:
ncells::Int
: Number of cellsdim::Int
: Dimension of the complexindices::Dict{String,Int}
: Dictionary for finding cell index from label
The coefficient field is specified by the boundary matrix.
Cell Subset Types
ConleyDynamics.Cells
— TypeCells = Union{Vector{Int},Vector{String}}
A list of cells of a Lefschetz complex.
This data type is used to represent subsets of a Lefschetz complex. It is used for individual isolated invariant sets, locally closed subsets, and multivectors.
ConleyDynamics.CellSubsets
— TypeCellSubsets = Union{Vector{Vector{Int}},Vector{Vector{String}}}
A collection of cell lists.
This data type is used to represent a collection of subsets of a Lefschetz complex. It is used for Morse decompositions and for multivector fields.
Conley-Morse Graph Type
ConleyDynamics.ConleyMorseCM
— TypeConleyMorseCM{T}
Collect the connection matrix information in a struct.
The struct has the following fields:
matrix::SparseMatrix{T}
: Connection matrixcolumns::Vector{Int}
: Corresponding columns in the boundary matrixposet::Vector{Int}
: Poset indices for the connection matrix columnslabels::Vector{String}
: Labels for the connection matrix columnsmorse::Vector{Vector{String}}
: Vector of Morse sets in original complexconley::Vector{Vector{Int}}
: Vector of Conley indices for the Morse setscomplex::LefschetzComplex
: The Conley complex as a Lefschetz complex