# PyTorch Geometric High Order Documentation

PygHO is a library for high-order GNN. Ordinary GNNs, like GCN, GIN, GraphSage, all pass messages between nodes and produce node representations. The node representation forms a dense matrix of shape $(n, d)$, where $n$ is the number of nodes and $d$ is the hidden dimension. Existing libraries like PyG can easily implement them.

In constrast, higher-order GNNs (HOGNNs) use node tuples as the message passing unit and produce representations for the tuples. The tuple representation can be of shape $(n, n, d)$, $(n, n, n, d)$, and even more dimensions. Furthermore, to reduce complexity, the representation can be sparse. PyGHO is the first unified library for HOGNNs.

Notes

- Installation
- Minimal Example
  - Dataset Preprocessing
  - Mini-batch and DataLoader
- Refined Basic Data Structure
  - MaskedTensor
  - SparseTensor
- Efficient High Order Data Processing
  - Adding High Order Features to PyG Dataset
- Operators
  - Code Architecture
  - Example

Advanced Tutorial

- Multiple Tensor

Package Reference

- pygho.backend package
  - Submodules
  - pygho.backend.MaTensor module
  - pygho.backend.Mamamm module
  - pygho.backend.SpTensor module
  - pygho.backend.Spmamm module
  - pygho.backend.Spmm module
  - pygho.backend.Spspmm module
  - pygho.backend.utils module
  - Module contents
- pygho.hodata package
  - Submodules
  - pygho.hodata.MaData module
  - pygho.hodata.MaTupleSampler module
  - pygho.hodata.ParallelPreprocess module
  - pygho.hodata.SpData module
  - pygho.hodata.SpTupleSampler module
  - pygho.hodata.Wrapper module
  - Module contents
- pygho.honn package
  - Submodules
  - pygho.honn.Conv module
  - pygho.honn.MaOperator module
  - pygho.honn.SpOperator module
  - pygho.honn.TensorOp module
  - pygho.honn.utils module
  - Module contents