{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2605-10458","title":"QT-Net: Rethinking Evaluation of AI Models in Atomic Chemical Space","arxiv_id":"2605.10458","date":"2026-05-11","proceeding":null,"authors":["Pablo Martínez Crespo","Stefano Ribes","Martin Rahm","Richard Beckmann","Robert S. Jordan","Marisa Gliege","Santiago Miret","Vijay Kris Narasimhan","Rocío Mercado"],"abstract":"Atomic properties such as partial charges or multipoles encode chemically meaningful information that can inform downstream molecular property prediction, but their evaluation as machine learning targets has been complicated by the absence of a principled out-of-distribution evaluation protocol at the atomic level. In this work, we propose a held-out evaluation protocol that clusters atomic environments by SOAP descriptors and computes metrics accounting only for cluster labels unseen during training. Following this procedure, we use 5$\\times$5 cross-validation and Tukey's HSD to run a statistically rigorous comparison of E(3)-equivariant against non-equivariant, rotationally augmented models for predicting electron populations and multipoles of H, C, N, and O atoms. Building on our results, we introduce the Quantum Topological Neural Network (QT-Net), a rotationally augmented, non-equivariant graph neural network. We show that QT-Net can be used to infer properties of atoms in molecules from QM9 outside our training set, and that these inferred properties can yield improvement when used as input features for downstream molecular property prediction. To further validate the framework, molecular dipole moments computed from QT-Net's per-atom outputs recover the ground-truth values reported in QM9. We release all code and data, including a JAX implementation of QT-Net, to support the broader use of learned QTA properties as inductive biases for atomic-scale molecular machine learning.","url_abs":"https://arxiv.org/abs/2605.10458","url_pdf":"https://arxiv.org/pdf/2605.10458","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2605.10458"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/pablomcrespo/QT-Net","reach":null}],"summary":{"ran":11,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":13,"ran":11,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"ea3021bae81b8a7d","entry":"calc_regression_metrics","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"src/qtnet/model_comparison.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/src/qtnet/model_comparison.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ea3021bae81b8a7d"}},{"code_sha256_prefix":"000093aeec0a8d2f","entry":"compute_molecular_stats","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"src/qtnet/data_utils.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/src/qtnet/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"000093aeec0a8d2f"}},{"code_sha256_prefix":"33ad0c963450af62","entry":"compute_per_atom_stats","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"src/qtnet/data_utils.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/src/qtnet/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"33ad0c963450af62"}},{"code_sha256_prefix":"dc3b2257b327cfb3","entry":"concordance_correlation_coefficient","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"analysis/atomic/result_analysis.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/analysis/atomic/result_analysis.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dc3b2257b327cfb3"}},{"code_sha256_prefix":"86eaee2abdc62116","entry":"df_to_atom_table","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"analysis/atomic/result_analysis.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/analysis/atomic/result_analysis.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"86eaee2abdc62116"}},{"code_sha256_prefix":"4ca4551a503b458c","entry":"discover_fractions","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"analysis/inference/analyse_inference.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/analysis/inference/analyse_inference.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4ca4551a503b458c"}},{"code_sha256_prefix":"0c8e47e0454361f4","entry":"get_folds","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"analysis/atomic/tmp_plot_cell_updated.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/analysis/atomic/tmp_plot_cell_updated.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0c8e47e0454361f4"}},{"code_sha256_prefix":"786711ca35465821","entry":"random_rotation_matrix","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"src/qtnet/jax_models/augmentation.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/src/qtnet/jax_models/augmentation.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"786711ca35465821"}},{"code_sha256_prefix":"17e28843d3835aa3","entry":"rm_tukey_pairwise","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"analysis/atomic/result_analysis.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/analysis/atomic/result_analysis.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"17e28843d3835aa3"}},{"code_sha256_prefix":"8c947e80545c44b9","entry":"safe_read_pickle","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"analysis/atomic/tmp_plot_cell_updated.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/analysis/atomic/tmp_plot_cell_updated.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8c947e80545c44b9"}},{"code_sha256_prefix":"bbeb2a54710fd48f","entry":"wigner_d_l2","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"src/qtnet/jax_models/augmentation.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/src/qtnet/jax_models/augmentation.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bbeb2a54710fd48f"}},{"code_sha256_prefix":"9ec33357c536875f","entry":"load_dipole_preds","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"analysis/inference/analyse_inference.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/analysis/inference/analyse_inference.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9ec33357c536875f"}},{"code_sha256_prefix":"94ea38e54bcda500","entry":"mcs_plot","repo":"pablomcrespo/QT-Net","repo_kind":"found_in_text","path":"src/qtnet/model_comparison.py","file_url":"https://github.com/pablomcrespo/QT-Net/blob/HEAD/src/qtnet/model_comparison.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"94ea38e54bcda500"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}