Layers
Multilayer helpers from annnet.core._Layers.
Use G.layers and the AnnNet layer methods for layer workflows. Direct
imports from underscore modules follow the internal API policy.
annnet.core._Layers.LayerAccessor
Namespace for multilayer operations on an :class:~annnet.core.graph.AnnNet graph.
Returned by G.layers. All multilayer configuration, presence queries,
layer-set algebra, and supra-matrix constructions live here.
Functions
set_aspects
Define multi-aspect structure.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
aspects
|
list[str]
|
Aspect identifiers (e.g., |
required |
elem_layers
|
dict[str, list[str]]
|
Elementary labels per aspect (e.g., |
None
|
Returns:
| Type | Description |
|---|---|
None
|
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If |
Examples:
set_elementary_layers
Declare concrete elementary layer values for existing aspects.
flatten_layers
Remove multilayer structure in-place and project to a flat graph.
Returns:
| Type | Description |
|---|---|
AnnNet
|
The mutated graph itself. |
Notes
This projects vertex identities from (vertex_id, layer_tuple) to bare
vertex_id strings and drops multilayer-only metadata such as aspects,
layer registries, supra-node attributes, and multilayer edge roles.
add_elementary_layer
Register a new elementary layer label under an existing aspect.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
aspect
|
str
|
Existing aspect name. |
required |
label
|
str
|
New elementary layer label. |
required |
Returns:
| Type | Description |
|---|---|
None
|
|
has_presence
Check whether (u, aa) is present in _entities.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
u
|
str
|
Vertex identifier. |
required |
layer_tuple
|
tuple[str, ...]
|
Aspect tuple layer. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
|
iter_layers
Iterate over all aspect-tuples (Cartesian product).
Yields:
| Type | Description |
|---|---|
tuple[str, ...]
|
Layer tuples in configured order. |
iter_vertex_layers
Iterate layer tuples where (u, aa) is in V_M.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
u
|
str
|
Vertex identifier. |
required |
Yields:
| Type | Description |
|---|---|
tuple[str, ...]
|
Layer tuples for |
ensure_vertex_layer_index
Return the number of indexed vertex–layer pairs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
restrict_layers
|
list[tuple[str, ...]] | None
|
If provided, count only these layers. |
None
|
Returns:
| Type | Description |
|---|---|
int
|
Number of indexed vertex–layer pairs. |
Notes
Kept for backward compatibility. Use _build_supra_index() internally.
nl_to_row
Map (u, aa) to row index.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
u
|
str
|
Vertex identifier. |
required |
layer_tuple
|
tuple[str, ...]
|
Aspect tuple layer. |
required |
Returns:
| Type | Description |
|---|---|
int
|
|
Raises:
| Type | Description |
|---|---|
KeyError
|
If the vertex–layer pair is not indexed. |
row_to_nl
Map row index to (u, aa).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
row
|
int
|
Row index. |
required |
Returns:
| Type | Description |
|---|---|
tuple[str, tuple[str, ...]]
|
|
Raises:
| Type | Description |
|---|---|
KeyError
|
If the row is not indexed. |
layer_id_to_tuple
Map legacy string layer id to aspect tuple.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_id
|
str
|
Layer identifier (single-aspect only). |
required |
Returns:
| Type | Description |
|---|---|
tuple[str, ...]
|
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If not in single-aspect mode. |
layer_tuple_to_id
Canonical string id for a layer tuple.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
aa
|
tuple[str, ...]
|
Aspect tuple layer. |
required |
Returns:
| Type | Description |
|---|---|
str
|
Canonical id (single label for 1 aspect, or |
set_elementary_layer_attrs
Attach attributes to an elementary Kivela layer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
aspect
|
str
|
Aspect identifier. |
required |
label
|
str
|
Elementary layer label. |
required |
**attrs
|
Key-value metadata to store. |
{}
|
Returns:
| Type | Description |
|---|---|
None
|
|
get_elementary_layer_attrs
Get attributes for an elementary Kivela layer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
aspect
|
str
|
Aspect identifier. |
required |
label
|
str
|
Elementary layer label. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
Attributes dict; empty if not set. |
set_aspect_attrs
Attach metadata to a Kivela aspect.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
aspect
|
str
|
Aspect identifier. |
required |
**attrs
|
Key-value metadata to store. |
{}
|
Returns:
| Type | Description |
|---|---|
None
|
|
get_aspect_attrs
Return a shallow copy of metadata for a Kivela aspect.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
aspect
|
str
|
Aspect identifier. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
set_layer_attrs
Attach metadata to a Kivela layer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_tuple
|
tuple[str, ...]
|
Aspect tuple layer. |
required |
**attrs
|
Key-value metadata to store. |
{}
|
Returns:
| Type | Description |
|---|---|
None
|
|
get_layer_attrs
Get metadata dict for a Kivela layer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_tuple
|
tuple[str, ...]
|
Aspect tuple layer. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
Shallow copy; empty if not set. |
set_vertex_layer_attrs
Attach metadata to a vertex–layer pair.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
u
|
str
|
Vertex identifier. |
required |
layer_tuple
|
tuple[str, ...]
|
Aspect tuple layer. |
required |
**attrs
|
Key-value metadata to store. |
{}
|
Returns:
| Type | Description |
|---|---|
None
|
|
Raises:
| Type | Description |
|---|---|
KeyError
|
If |
get_vertex_layer_attrs
Get metadata dict for a vertex–layer pair.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
u
|
str
|
Vertex identifier. |
required |
layer_tuple
|
tuple[str, ...]
|
Aspect tuple layer. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
Shallow copy; empty if not set. |
layer_vertex_set
Vertices present in a Kivela layer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_tuple
|
Iterable[str]
|
Aspect tuple layer. |
required |
Returns:
| Type | Description |
|---|---|
set[str]
|
|
layer_edge_set
Edges associated with a Kivela layer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_tuple
|
Iterable[str]
|
Aspect tuple layer. |
required |
include_inter
|
bool
|
Include inter-layer edges touching |
False
|
include_coupling
|
bool
|
Include coupling edges touching |
False
|
Returns:
| Type | Description |
|---|---|
set[str]
|
|
layer_union
Union of several Kivela layers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_tuples
|
Iterable[Iterable[str]]
|
Layer tuples to union. |
required |
include_inter
|
bool
|
Include inter-layer edges touching any layer in the union. |
False
|
include_coupling
|
bool
|
Include coupling edges touching any layer in the union. |
False
|
Returns:
| Type | Description |
|---|---|
dict
|
|
layer_intersection
Intersection of several Kivela layers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_tuples
|
Iterable[Iterable[str]]
|
Layer tuples to intersect. |
required |
include_inter
|
bool
|
Include inter-layer edges touching any layer in the intersection. |
False
|
include_coupling
|
bool
|
Include coupling edges touching any layer in the intersection. |
False
|
Returns:
| Type | Description |
|---|---|
dict
|
|
layer_difference
Set difference: elements in layer_a but not in layer_b.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_a
|
Iterable[str]
|
Minuend layer tuple. |
required |
layer_b
|
Iterable[str]
|
Subtrahend layer tuple. |
required |
include_inter
|
bool
|
Include inter-layer edges touching |
False
|
include_coupling
|
bool
|
Include coupling edges touching |
False
|
Returns:
| Type | Description |
|---|---|
dict
|
|
create_slice_from_layer
create_slice_from_layer(
slice_id,
layer_tuple,
*,
include_inter=False,
include_coupling=False,
**attributes
)
Create a slice induced by a single Kivela layer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
layer_tuple
|
Iterable[str]
|
Layer tuple. |
required |
include_inter
|
bool
|
Include inter-layer edges touching |
False
|
include_coupling
|
bool
|
Include coupling edges touching |
False
|
**attributes
|
Slice attributes to store. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
The created slice id. |
Examples:
create_slice_from_layer_union
create_slice_from_layer_union(
slice_id,
layer_tuples,
*,
include_inter=False,
include_coupling=False,
**attributes
)
Create a slice as the union of several layers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
layer_tuples
|
Iterable[Iterable[str]]
|
Layer tuples to union. |
required |
include_inter
|
bool
|
Include inter-layer edges touching any layer in the union. |
False
|
include_coupling
|
bool
|
Include coupling edges touching any layer in the union. |
False
|
**attributes
|
Slice attributes to store. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
The created slice id. |
create_slice_from_layer_intersection
create_slice_from_layer_intersection(
slice_id,
layer_tuples,
*,
include_inter=False,
include_coupling=False,
**attributes
)
Create a slice as the intersection of several layers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
layer_tuples
|
Iterable[Iterable[str]]
|
Layer tuples to intersect. |
required |
include_inter
|
bool
|
Include inter-layer edges touching any layer in the intersection. |
False
|
include_coupling
|
bool
|
Include coupling edges touching any layer in the intersection. |
False
|
**attributes
|
Slice attributes to store. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
The created slice id. |
create_slice_from_layer_difference
create_slice_from_layer_difference(
slice_id,
layer_a,
layer_b,
*,
include_inter=False,
include_coupling=False,
**attributes
)
Create a slice as the difference of two layers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
slice_id
|
str
|
Slice identifier. |
required |
layer_a
|
Iterable[str]
|
Minuend layer tuple. |
required |
layer_b
|
Iterable[str]
|
Subtrahend layer tuple. |
required |
include_inter
|
bool
|
Include inter-layer edges touching |
False
|
include_coupling
|
bool
|
Include coupling edges touching |
False
|
**attributes
|
Slice attributes to store. |
{}
|
Returns:
| Type | Description |
|---|---|
str
|
The created slice id. |
subgraph_from_layer_tuple
Concrete subgraph induced by a single Kivela layer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_tuple
|
Iterable[str]
|
Layer tuple. |
required |
include_inter
|
bool
|
Include inter-layer edges touching |
False
|
include_coupling
|
bool
|
Include coupling edges touching |
False
|
Returns:
| Type | Description |
|---|---|
AnnNet
|
|
subgraph_from_layer_union
Concrete subgraph induced by the union of several layers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_tuples
|
Iterable[Iterable[str]]
|
Layer tuples to union. |
required |
include_inter
|
bool
|
Include inter-layer edges touching any layer in the union. |
False
|
include_coupling
|
bool
|
Include coupling edges touching any layer in the union. |
False
|
Returns:
| Type | Description |
|---|---|
AnnNet
|
|
subgraph_from_layer_intersection
Concrete subgraph induced by the intersection of several layers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_tuples
|
Iterable[Iterable[str]]
|
Layer tuples to intersect. |
required |
include_inter
|
bool
|
Include inter-layer edges touching any layer in the intersection. |
False
|
include_coupling
|
bool
|
Include coupling edges touching any layer in the intersection. |
False
|
Returns:
| Type | Description |
|---|---|
AnnNet
|
|
subgraph_from_layer_difference
Concrete subgraph induced by a set-difference of two layers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_a
|
Iterable[str]
|
Minuend layer tuple. |
required |
layer_b
|
Iterable[str]
|
Subtrahend layer tuple. |
required |
include_inter
|
bool
|
Include inter-layer edges touching |
False
|
include_coupling
|
bool
|
Include coupling edges touching |
False
|
Returns:
| Type | Description |
|---|---|
AnnNet
|
|
supra_adjacency
Build the supra adjacency matrix.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. In single-aspect mode, string ids are accepted. |
None
|
Returns:
| Type | Description |
|---|---|
csr_matrix
|
Supra adjacency over the chosen vertex–layer index. |
Examples:
supra_incidence
Build the supra-incidence matrix over selected layers.
Unlike supra_adjacency, this preserves the full hyperedge structure —
a k-ary hyperedge becomes a single column with k nonzero entries, with
stoichiometric coefficients intact. Binary intra, inter, coupling, and
hyperedges are all handled in a unified column-oriented representation.
Rows : vertex-layer pairs (u, aa) — identical index to supra_adjacency,
built by ensure_vertex_layer_index.
Cols : one per selected edge, ordered as: intra edges (per layer, sorted
by eid), then inter/coupling edges, then unassigned hyperedges last.
Column sign convention (matches _matrix):
- Binary directed : +w at source row, -w at target row
- Binary undirected : +w at both rows
- Hyperedge directed: +w at head rows, -w at tail rows (stoich-aware)
- Hyperedge undirected: +w at all member rows (stoich-aware)
- Inter/coupling : +w at (u, La) row, -w at (v, Lb) row (directed)
Hyperedges MUST have a layer assignment in edge_layers (set via
set_edge_kivela_role(eid, "intra", layer_tuple) after add_hyperedge).
Hyperedges without a layer assignment are collected in the returned
skipped list and excluded from the matrix — they do NOT silently corrupt
the result.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. None = all layers in V_M. Single-aspect string ids are accepted. |
None
|
include_inter
|
bool
|
Include inter-layer edges in the output columns. Default True. |
True
|
include_coupling
|
bool
|
Include coupling edges in the output columns. Default True. |
True
|
Returns:
| Name | Type | Description |
|---|---|---|
B |
csr_matrix
|
Shape (|V_M|, |E_selected|). Rows are vertex-layer pairs in the order given by self._row_to_nl after ensure_vertex_layer_index. |
edge_ids |
list[str]
|
Edge id for each column of B, in column order. Use this to map columns back to edges for interpretability. |
skipped |
list[str]
|
Edge ids that were excluded because their layer assignment could not be resolved. Inspect these if B looks sparse. |
Notes
The hypergraph random-walk diffusion operator follows directly::
B_csr = B (this output)
D_v = diag(|B| @ ones) # vertex degree (sum of |entries| per row)
D_e = diag(|B|.T @ ones) # edge degree (sum of |entries| per col)
Theta = D_v_inv @ B @ D_e_inv @ B.T
Examples:
build_intra_block
Supra matrix containing only intra-layer edges (diagonal blocks).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
csr_matrix
|
|
build_inter_block
Supra matrix containing only inter-layer (non-diagonal) edges.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
csr_matrix
|
|
build_coupling_block
Supra matrix containing only coupling edges.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
csr_matrix
|
|
supra_degree
Degree vector over the supra-graph.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
ndarray
|
|
supra_laplacian
Build supra-Laplacian.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
kind
|
str
|
|
'comb'
|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
csr_matrix
|
|
add_layer_coupling_pairs
Add diagonal couplings for explicit layer pairs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_pairs
|
list[tuple[tuple[str, ...], tuple[str, ...]]]
|
Layer tuple pairs |
required |
weight
|
float
|
Edge weight. |
1.0
|
Returns:
| Type | Description |
|---|---|
int
|
Number of edges added. |
add_categorical_coupling
Add categorical couplings along one aspect.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
aspect
|
str
|
Aspect name to couple over. |
required |
groups
|
list[list[str]]
|
Groups of elementary labels to fully connect per vertex. |
required |
weight
|
float
|
Edge weight. |
1.0
|
Returns:
| Type | Description |
|---|---|
int
|
Number of edges added. |
add_diagonal_coupling_filter
Add diagonal couplings within a filtered layer subspace.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layer_filter
|
dict[str, set]
|
Aspect filters (e.g., |
required |
weight
|
float
|
Edge weight. |
1.0
|
Returns:
| Type | Description |
|---|---|
int
|
Number of edges added. |
tensor_index
adjacency_tensor_view
Sparse 4-index adjacency view.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
dict
|
|
Notes
Symmetric entries are emitted twice: (ui, ai, vi, bi) and (vi, bi, ui, ai).
flatten_to_supra
Flatten a tensor view into a supra adjacency matrix.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tensor_view
|
dict
|
Output of :meth: |
required |
Returns:
| Type | Description |
|---|---|
csr_matrix
|
|
unflatten_from_supra
Unflatten a supra adjacency matrix into a tensor view.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
A
|
spmatrix
|
Supra adjacency matrix. |
required |
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
dict
|
Tensor view with the same schema as :meth: |
supra_adjacency_scaled
Build scaled supra adjacency.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
coupling_scale
|
float
|
Scaling factor for coupling edges. |
1.0
|
include_inter
|
bool
|
Whether to include inter-layer edges. |
True
|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
csr_matrix
|
|
transition_matrix
Row-stochastic transition matrix P = D^{-1} A.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
csr_matrix
|
|
random_walk_step
One random-walk step p' = p P.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
p
|
array - like
|
Row vector of length |
required |
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
ndarray
|
|
diffusion_step
One explicit Euler step of diffusion on the supra-graph.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x
|
array - like
|
State vector of length |
required |
tau
|
float
|
Time step. |
1.0
|
kind
|
str
|
|
'comb'
|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
ndarray
|
|
algebraic_connectivity
Algebraic connectivity of the supra-graph.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
tuple[float, ndarray | None]
|
|
k_smallest_laplacian_eigs
Return k smallest eigenvalues/eigenvectors of the supra-Laplacian.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
k
|
int
|
Number of eigenpairs to compute. |
6
|
kind
|
str
|
|
'comb'
|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
tuple[ndarray, ndarray]
|
|
dominant_rw_eigenpair
Dominant eigenpair of the random-walk operator.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
tuple[float, ndarray | None]
|
|
sweep_coupling_regime
Scan coupling scales and evaluate a metric.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
scales
|
Iterable[float]
|
Coupling scales to evaluate. |
required |
metric
|
str | callable
|
|
'algebraic_connectivity'
|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
list[float]
|
Metric values aligned with |
layer_degree_vectors
Per-layer degree vectors (intra-layer only).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
dict
|
|
participation_coefficient
Participation coefficient per vertex.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
dict[str, float]
|
|
versatility
Versatility proxy based on dominant eigenvector of supra adjacency.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers. |
None
|
Returns:
| Type | Description |
|---|---|
dict[str, float]
|
|
multislice_modularity
Mucha et al. multislice modularity (scorer only).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
partition
|
array - like
|
Community ids, length |
required |
gamma
|
float
|
Resolution parameter. |
1.0
|
omega
|
float
|
Coupling strength (binary coupling structure scaled by |
1.0
|
include_inter
|
bool
|
Whether to include inter-layer (non-diagonal) edges. |
False
|
layers
|
list[str] | list[tuple[str, ...]] | None
|
Optional subset of layers to score on. |
None
|
Returns:
| Type | Description |
|---|---|
float
|
Modularity score |
Examples: