Package pygraph :: Package classes :: Module hypergraph :: Class hypergraph

# Class hypergraph

Hypergraph class.

Hypergraphs are a generalization of graphs where an edge (called hyperedge) can connect more than two nodes.

Instance Methods

__init__(self) Initialize a hypergraph. |

add_hyperedge(self, hyperedge) Add given hyperedge to the hypergraph. |

add_hyperedges(self, edgelist) Add given hyperedges to the hypergraph. |

add_node(self, node) Add given node to the hypergraph. |

del_edge(self, hyperedge) Delete the given hyperedge. |

boolean

has_node(self, node) Return whether the requested node exists. |

boolean

has_edge(self, hyperedge) Return whether the requested node exists. |

boolean

has_hyperedge(self, hyperedge) Return whether the requested node exists. |

list

hyperedges(self) Return hyperedge list. |

link(self, node, hyperedge) Link given node and hyperedge. |

list

links(self, obj) Return all nodes connected by the given hyperedge or all hyperedges connected to the given hypernode. |

list

nodes(self) Return node list. |

unlink(self, node, hyperedge) Unlink given node and hyperedge. |

list

edges(self) Return the hyperedge list. |

list

neighbors(self, obj) Return all neighbors adjacent to the given node. |

del_node(self, node) Delete a given node from the hypergraph. |

add_edge(self, hyperedge) Add given hyperedge to the hypergraph. |

add_edges(self, edgelist) Add given hyperedges to the hypergraph. |

del_hyperedge(self, hyperedge) Delete the given hyperedge. |

int

rank(self) Return the rank of the given hypergraph. |

boolean

__eq__(self, other) Return whether this hypergraph is equal to another one. |

boolean

__ne__(self, other) Return whether this hypergraph is not equal to another one. |

Inherited from `mixins.common.common`: `__len__`, `__str__`, `add_nodes`, `__getitem__`, `__iter__`, `__repr__`, `add_graph`, `add_spanning_tree`, `complete`, `inverse`, `order`, `reverse`

Inherited from `mixins.labeling.labeling`: `add_edge_attribute`, `add_edge_attributes`, `add_node_attribute`, `del_edge_labeling`, `del_node_labeling`, `edge_attributes`, `edge_label`, `edge_weight`, `get_edge_properties`, `node_attributes`, `set_edge_label`, `set_edge_properties`, `set_edge_weight`

Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

Class Variables
| DIRECTED = `True`
Inherited from `mixins.labeling.labeling`: `DEFAULT_LABEL`, `DEFAULT_WEIGHT`, `LABEL_ATTRIBUTE_NAME`, `WEIGHT_ATTRIBUTE_NAME`

Properties
Inherited from `object`: `__class__`

Method Details

### __init__(self)
(Constructor)

Initialize a hypergraph.

Overrides: object.__init__

### add_hyperedge(self, hyperedge)

Add given hyperedge to the hypergraph.

Parameters:
  - `hyperedge` (hyperedge) - Hyperedge identifier.

Attention: While hyperedge-nodes can be of any type, it's strongly recommended to use only numbers and single-line strings as node identifiers if you intend to use write().

### add_hyperedges(self, edgelist)

Add given hyperedges to the hypergraph.

Parameters:
  - `edgelist` (list) - List of hyperedge-nodes to be added to the graph.

Attention: While hyperedge-nodes can be of any type, it's strongly recommended to use only numbers and single-line strings as node identifiers if you intend to use write().

### add_node(self, node)

Add given node to the hypergraph.

Parameters:
  - `node` (node) - Node identifier.

Attention: While nodes can be of any type, it's strongly recommended to use only numbers and single-line strings as node identifiers if you intend to use write().

### del_edge(self, hyperedge)

Delete the given hyperedge.

Parameters:
  - `hyperedge` (hyperedge) - Hyperedge identifier.

### has_node(self, node)

Return whether the requested node exists.

Parameters:
  - `node` (node) - Node identifier
Returns: boolean
  Truth-value for node existence.

### has_edge(self, hyperedge)

Return whether the requested node exists.

Parameters:
  - `hyperedge` (hyperedge) - Hyperedge identifier
Returns: boolean
  Truth-value for hyperedge existence.

### has_hyperedge(self, hyperedge)

Return whether the requested node exists.

Parameters:
  - `hyperedge` (hyperedge) - Hyperedge identifier
Returns: boolean
  Truth-value for hyperedge existence.

### hyperedges(self)

Return hyperedge list.

Returns: list
  List of hyperedges in the graph.

### link(self, node, hyperedge)

Link given node and hyperedge.

Parameters:
  - `node` (node) - Node.
  - `hyperedge` (node) - Hyperedge.

### links(self, obj)

Return all nodes connected by the given hyperedge or all hyperedges connected to the given hypernode.

Parameters:
  - `obj` (hyperedge) - Object identifier.
Returns: list
  List of node objects linked to the given hyperedge.

### nodes(self)

Return node list.

Returns: list
  Node list.

### unlink(self, node, hyperedge)

Unlink given node and hyperedge.

Parameters:
  - `node` (node) - Node.
  - `hyperedge` (hyperedge) - Hyperedge.

### edges(self)

Return the hyperedge list.

Returns: list
  List of hyperedges in the graph.

### neighbors(self, obj)

Return all neighbors adjacent to the given node.

Parameters:
  - `obj` (node) - Object identifier.
Returns: list
  List of all node objects adjacent to the given node.

### del_node(self, node)

Delete a given node from the hypergraph.

Parameters:
  - `node` (node) - Node identifier.

### add_edge(self, hyperedge)

Add given hyperedge to the hypergraph.

Parameters:
  - `hyperedge` (hyperedge) - Hyperedge identifier.

Attention: While hyperedge-nodes can be of any type, it's strongly recommended to use only numbers and single-line strings as node identifiers if you intend to use write().

### add_edges(self, edgelist)

Add given hyperedges to the hypergraph.

Parameters:
  - `edgelist` (list) - List of hyperedge-nodes to be added to the graph.

Attention: While hyperedge-nodes can be of any type, it's strongly recommended to use only numbers and single-line strings as node identifiers if you intend to use write().

### del_hyperedge(self, hyperedge)

Delete the given hyperedge.

Parameters:
  - `hyperedge` (hyperedge) - Hyperedge identifier.

### rank(self)

Return the rank of the given hypergraph.

Returns: int
  Rank of graph.

### __eq__(self, other)
(Equality operator)

Return whether this hypergraph is equal to another one.

Parameters:
  - `other` (hypergraph) - Other hypergraph
Returns: boolean
  Whether this hypergraph and the other are equal.
Overrides: mixins.labeling.labeling.__eq__

### __ne__(self, other)

Return whether this hypergraph is not equal to another one.

Parameters:
  - `other` (hypergraph) - Other hypergraph
Returns: boolean
  Whether this hypergraph and the other are different.