1 | initial version |
You can use the associated intersection graph, where the vertices are the sticks and there is an edge between the two vertices if they intersect. Two sticks are "connected by a 'intersected-stick' path" if they are in the same connected component of this graph.
It turns out that the matrix you consider is the adjacency matrix of this graph.
Hence you can do something like:
sage: G = Graph(M)
sage: first_stick in G.connected_component_containing_vertex(second_stick)
The result is either True
or False
depending on wether first_stick
and second_stick
are connected by a path in the graph G
.