Skip to content

Block Graph Tools¤

isax.block.Node ¤

Graph node with auto-incrementing ID for unique identification.

isax.block.Edge ¤

Edge connecting 2 or more nodes (supports hyperedges).

__init__(*nodes) ¤

isax.block.EqxGraph ¤

Stores node-to-index mappings for efficient array operations.

The dictionaries restrict batching over different graph topologies.

isax.block.BlockGraph ¤

General block graph structure for efficient block-wise operations.

A graph G = (V, E) where vertices are organized into blocks for parallelized computation.

__init__(blocks: list[list[isax.block.Node]], edges: list[isax.block.Edge]) ¤
get_edge_structure() -> tuple[jaxtyping.Int[Array, 'num_edges max_k'], jaxtyping.Int[Array, 'num_edges max_k']] ¤

Convert edge list to padded array representation.

get_sampling_params() -> tuple[tuple[list[jaxtyping.Int[Array, 'num_nodes max_edges max_k-1']], list[jaxtyping.Int[Array, 'num_nodes max_edges max_k-1']], list[jaxtyping.Int[Array, 'num_nodes max_edges']]], isax.block.EqxGraph] ¤

Generate all parameters needed for graph sampling.