Skip to content

Track: Track1; Team name: MISN_AY; Model: JacobiConv - #383

Open
yusufm423 wants to merge 4 commits into
geometric-intelligence:mainfrom
yusufm423:challenge/jacobiconv
Open

Track: Track1; Team name: MISN_AY; Model: JacobiConv#383
yusufm423 wants to merge 4 commits into
geometric-intelligence:mainfrom
yusufm423:challenge/jacobiconv

Conversation

@yusufm423

@yusufm423 yusufm423 commented Jul 16, 2026

Copy link
Copy Markdown

Checklist

  • My pull request has a clear and explanatory title.
  • My pull request passes the Linting test.
  • I added appropriate unit tests and I made sure the code passes all unit tests. (refer to comment below)
  • My PR follows PEP8 guidelines. (refer to comment below)
  • My code is properly documented, using numpy docs conventions, and I made sure the documentation renders properly.
  • I linked to issues and PRs that are relevant to this PR.

Description

This PR adds JacobiConv as a Track 1 GNN submission for the TDL Challenge 2026 using:

model=graph/jacobiconv

JacobiConv was introduced in:

How Powerful are Spectral Graph Neural Networks?
Xiyuan Wang and Muhan Zhang
https://arxiv.org/abs/2205.11172v1

Reference implementation:
https://github.com/GraphPKU/JacobiConv

Motivation

JacobiConv is a lightweight spectral GNN that represents graph filters using a Jacobi polynomial basis.

Instead of repeatedly applying nonlinear message-passing layers, it builds higher-order graph signals through a polynomial recurrence and learns how to combine them. This avoids explicit eigendecomposition while still allowing flexible spectral filtering.

What is contributed

  • Added the JacobiConv backbone:
    • topobench/nn/backbones/graph/jacobiconv.py
  • Added the Hydra configuration:
    • configs/model/graph/jacobiconv.yaml
  • Added unit tests:
    • test/nn/backbones/graph/test_jacobiconv.py
  • Added pipeline coverage:
    • test/pipeline/test_pipeline.py
  • Updated the official evaluation notebook for:
    • graph/jacobiconv
  • Added the generated challenge results:
    • 2026_tdl_challenge/outputs/jacobiconv/results.json

TopoBench integration

JacobiConv follows the standard TopoBench graph-backbone interface:

forward(x, edge_index, batch=None, edge_weight=None, edge_attr=None, **kwargs)

It returns node embeddings with shape:

[num_nodes, out_channels]

The implementation reuses the existing:

  • AllCellFeatureEncoder
  • GNNWrapper
  • MLPReadout

Testing

The unit tests cover:

  • model initialization;
  • output shape;
  • invalid arguments;
  • multiple polynomial orders;
  • edge weights and edge attributes;
  • edgeless graphs;
  • batched inputs;
  • gradient flow; and
  • wrapper compatibility.

The pipeline test also runs graph/jacobiconv end to end on graph/MUTAG.

Evaluation

The official challenge notebook was run across:

  • 2 tasks;
  • 12 GraphUniverse settings;
  • 3 seeds: 42, 43, and 44.

Summary:

Task Metric Best result
Community detection Accuracy, higher is better ~0.727
Triangle counting MSE per triangle, lower is better ~0.0114

The complete per-setting, per-seed, and OOD results are stored in:

2026_tdl_challenge/outputs/jacobiconv/results.json

Reproduction

pytest test/nn/backbones/graph/test_jacobiconv.py -v
pytest test/pipeline/test_pipeline.py -v
python -m topobench model=graph/jacobiconv dataset=graph/MUTAG
heatmap_community_detection_accuracy heatmap_triangle_mse_over_triangles

@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@yusufm423

Copy link
Copy Markdown
Author

Could a maintainer please add the track-1-gnn label for the 2026 TDL Challenge?

@levtelyatnikov levtelyatnikov added the track-1-gnn 2026 Topological Deep Learning Challenge -- Track 1 GNNs label Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

track-1-gnn 2026 Topological Deep Learning Challenge -- Track 1 GNNs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants