Ideally, the function for the chain recurrent set should look like
function chain_recurrent_set(B::BoxSet, g::BoxMap, depth::Int)
for k in 1:depth
B = subdivide(B)
G = transition_graph(B, g) # whith G = (B,E), E \subset B x B
B = strongly_connected_components(G) # returns a subset of vertices(G)
end
return B
end
We might also directly construct the edge-weighted graph with the transition probabilities on the egdes, i.e.
G = transition_graph(B,g) # with G=(B,E), E = { (src, hit, weight) }
which we then can transform into a matrix if required:
(T, no) = Matrix(G)
where T is an Array{Float64,2} and no is a map from 1:length(B) into B, i.e. provides a way to refer back to the boxes (for, e.g., plotting). This approach would postpone the explicit enumeration of the boxes in B until it is really required.
Ideally, the function for the chain recurrent set should look like
We might also directly construct the edge-weighted graph with the transition probabilities on the egdes, i.e.
which we then can transform into a matrix if required:
where T is an
Array{Float64,2}
andno
is a map from 1:length(B) intoB
, i.e. provides a way to refer back to the boxes (for, e.g., plotting). This approach would postpone the explicit enumeration of the boxes inB
until it is really required.