This repository contains the implementation (using PyTorch and PyTorch Geometric) of the ANN-driven quadrature model introduced in the paper: "Learning Geometric-Aware Quadrature Rules for Functional Minimization".
QuadrANN is a deep Graph Neural Network (GNN). Its key architectural features are:
-
Geometric Encoding Layer: The initial layer captures rich local geometric information. It computes messages based on absolute and relative positions (using positional encoding), and an explicit local density feature for each point in the cloud.
-
Globally-Aware Propagation: Subsequent layers refine the point features using a message-passing scheme that is conditioned on a global context vector (the mean of all node features from the previous layer). This allows the network to be aware of the overall domain shape.
-
Permutation Invariance: By design, the GNN architecture is invariant to the order of the input points, making it suitable for unordered point clouds.
The provided quadrann-src.py script is a self-contained example that demonstrates the model.
You can modify the training and model parameters by editing the global variables at the top of the quadrann-src.py file. Key parameters include:
DIM: The dimension of the integration domain.
EPOCHS: The number of training epochs.
NUM_POINTS: The number of points in each point cloud.
NUM_GNN_LAYERS: The number of message-passing layers in the GNN.
K_NN: The number of nearest neighbors to consider for message passing.
If you use this work, please cite:
@article{smaragdakis2025quadrann,
title={Learning Geometric-Aware Quadrature Rules for Functional Minimization},
author={Smaragdakis, Costas},
journal={arXiv preprint arXiv:2508.05445},
year={2025}}