Given a graph which both
- has several connected components (i.e. the nodes can be partitioned into >1 set, such that every edge is between two nodes in the same set)
- has disconnected ports (with no edges)
Then
Subgraph::with_nodes allows choosing any subset of nodes of any subset of the connected components (e.g. all nodes in some components and no nodes in another), but does not allow specifying whether the unconnected ports of any in-subgraph nodes are part of the boundary or not
Subgraph::from_boundary allows specifying whether unconnected ports are interior or boundary, but does not allow to specify whether entire connected components (with no unconnected ports) are in the subgraph or not (as this would not affect the boundary) - we somewhat arbitrarily say that the empty boundary means all components, but any edges mean only (parts of) the components containing the edges.
Thus given
n0 -> n1
n2 -> n3
We cannot create the subgraph {n0,n1} nor the subgraph {n2,n3}.
Given a graph which both
Then
Subgraph::with_nodesallows choosing any subset of nodes of any subset of the connected components (e.g. all nodes in some components and no nodes in another), but does not allow specifying whether the unconnected ports of any in-subgraph nodes are part of the boundary or notSubgraph::from_boundaryallows specifying whether unconnected ports are interior or boundary, but does not allow to specify whether entire connected components (with no unconnected ports) are in the subgraph or not (as this would not affect the boundary) - we somewhat arbitrarily say that the empty boundary means all components, but any edges mean only (parts of) the components containing the edges.Thus given
n0 -> n1
n2 -> n3
We cannot create the subgraph
{n0,n1}nor the subgraph{n2,n3}.