Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
ManifoldSubset.subset_{digraph,poset}: Add plots in documentation, re…
Browse files Browse the repository at this point in the history
…move # not tested
  • Loading branch information
mkoeppe committed Apr 24, 2021
1 parent 30271af commit 215c378
Showing 1 changed file with 59 additions and 7 deletions.
66 changes: 59 additions & 7 deletions src/sage/manifolds/subset.py
Original file line number Diff line number Diff line change
Expand Up @@ -689,21 +689,47 @@ def subset_digraph(self, loops=False, open_covers=False, lower_bound=None):
(Set {W} of open subsets of the 3-dimensional differentiable manifold M,
Set {M} of open subsets of the 3-dimensional differentiable manifold M,
None)]
sage: D.plot(layout='acyclic') # not tested
sage: D.plot(layout='acyclic')
Graphics object consisting of 8 graphics primitives
sage: def label(element):
....: try:
....: return element._name
....: except AttributeError:
....: return '[' + ', '.join(sorted(x._name for x in element)) + ']'
sage: D.relabel(label, inplace=False).plot(layout='acyclic') # not tested
sage: D.relabel(label, inplace=False).plot(layout='acyclic')
Graphics object consisting of 8 graphics primitives
sage: VW = V.union(W)
sage: D = M.subset_digraph(); D
Digraph on 5 vertices
sage: D.relabel(label, inplace=False).plot(layout='acyclic') # not tested
sage: D.relabel(label, inplace=False).plot(layout='acyclic')
Graphics object consisting of 12 graphics primitives
If ``open_covers`` is ``True``, the digraph includes a special vertex for
each nontrivial open cover of a subset::
sage: D = M.subset_digraph(open_covers=True)
sage: D.relabel(label, inplace=False).plot(layout='acyclic') # not tested
sage: D.relabel(label, inplace=False).plot(layout='acyclic')
Graphics object consisting of 14 graphics primitives
.. PLOT::
def label(element):
try:
return element._name
except AttributeError:
return '[' + ', '.join(sorted(x._name for x in element)) + ']'
M = Manifold(3, 'M')
U = M.open_subset('U'); V = M.open_subset('V'); W = M.open_subset('W')
D = M.subset_digraph()
g1 = D.relabel(label, inplace=False).plot(layout='acyclic')
VW = V.union(W)
D = M.subset_digraph()
g2 = D.relabel(label, inplace=False).plot(layout='acyclic')
D = M.subset_digraph(open_covers=True)
g3 = D.relabel(label, inplace=False).plot(layout='acyclic')
sphinx_plot(graphics_array([g1, g2, g3]), figsize=(8, 3))
"""
from sage.graphs.digraph import DiGraph
D = DiGraph(multiedges=False, loops=loops)
Expand Down Expand Up @@ -761,6 +787,10 @@ def subset_poset(self, open_covers=False, lower_bound=None):
sage: M = Manifold(3, 'M')
sage: U = M.open_subset('U'); V = M.open_subset('V'); W = M.open_subset('W')
sage: P = M.subset_poset(); P
Finite poset containing 4 elements
sage: P.plot(element_labels={element: element._name for element in P})
Graphics object consisting of 8 graphics primitives
sage: VW = V.union(W)
sage: P = M.subset_poset(); P
Finite poset containing 5 elements
Expand All @@ -774,7 +804,8 @@ def subset_poset(self, open_covers=False, lower_bound=None):
sage: sorted(P.lower_covers(ManifoldSubsetFiniteFamily([M])), key=str)
[Set {U} of open subsets of the 3-dimensional differentiable manifold M,
Set {V_union_W} of open subsets of the 3-dimensional differentiable manifold M]
sage: P.plot(element_labels={element: element._name for element in P}) # not tested
sage: P.plot(element_labels={element: element._name for element in P})
Graphics object consisting of 10 graphics primitives
If ``open_covers`` is ``True``, the poset includes a special vertex for
each nontrivial open cover of a subset::
Expand All @@ -791,7 +822,27 @@ def subset_poset(self, open_covers=False, lower_bound=None):
....: return element._name
....: except AttributeError:
....: return '[' + ', '.join(sorted(x._name for x in element)) + ']'
sage: P.plot(element_labels={element: label(element) for element in P}) # not tested
sage: P.plot(element_labels={element: label(element) for element in P})
Graphics object consisting of 12 graphics primitives
.. PLOT::
def label(element):
try:
return element._name
except AttributeError:
return '[' + ', '.join(sorted(x._name for x in element)) + ']'
M = Manifold(3, 'M')
U = M.open_subset('U'); V = M.open_subset('V'); W = M.open_subset('W')
P = M.subset_poset()
g1 = P.plot(element_labels={element: label(element) for element in P})
VW = V.union(W)
P = M.subset_poset()
g2 = P.plot(element_labels={element: label(element) for element in P})
P = M.subset_poset(open_covers=True)
g3 = P.plot(element_labels={element: label(element) for element in P})
sphinx_plot(graphics_array([g1, g2, g3]), figsize=(8, 3))
"""
from sage.combinat.posets.posets import Poset
return Poset(self.subset_digraph(open_covers=open_covers, lower_bound=lower_bound))
Expand Down Expand Up @@ -836,7 +887,8 @@ def superset_poset(self, open_covers=False, upper_bound=None):
sage: VW = V.union(W)
sage: P = V.superset_poset(); P
Finite poset containing 3 elements
sage: P.plot(element_labels={element: element._name for element in P}) # not tested
sage: P.plot(element_labels={element: element._name for element in P})
Graphics object consisting of 6 graphics primitives
"""
if upper_bound is None:
Expand Down

0 comments on commit 215c378

Please sign in to comment.