{"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/continuous-product-graph-neural-networks","title":"Continuous Product Graph Neural Networks","arxiv_id":"2405.18877","date":"2024-05-29","proceeding":null,"authors":["Aref Einizade","Fragkiskos D. Malliaros","Jhony H. Giraldo"],"abstract":"Processing multidomain data defined on multiple graphs holds significant potential in various practical applications in computer science. However, current methods are mostly limited to discrete graph filtering operations. Tensorial partial differential equations on graphs (TPDEGs) provide a principled framework for modeling structured data across multiple interacting graphs, addressing the limitations of the existing discrete methodologies. In this paper, we introduce Continuous Product Graph Neural Networks (CITRUS) that emerge as a natural solution to the TPDEG. CITRUS leverages the separability of continuous heat kernels from Cartesian graph products to efficiently implement graph spectral decomposition. We conduct thorough theoretical analyses of the stability and over-smoothing properties of CITRUS in response to domain-specific graph perturbations and graph spectra effects on the performance. We evaluate CITRUS on well-known traffic and weather spatiotemporal forecasting datasets, demonstrating superior performance over existing approaches. The implementation codes are available at https://github.com/ArefEinizade2/CITRUS.","url_abs":"https://arxiv.org/abs/2405.18877v2","url_pdf":"https://arxiv.org/pdf/2405.18877v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"continuous-product-graph-neural-networks","repo_url":"https://github.com/arefeinizade2/citrus","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.18877","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.18877"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/arefeinizade2/citrus","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":7},"by_repo_kind":{"official":{"samples":7,"ran":7,"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":"bf12e08509daba47","entry":"gen_connected_ER","repo":"arefeinizade2/citrus","repo_kind":"official","path":"CITRUS_demo.py","file_url":"https://github.com/arefeinizade2/citrus/blob/HEAD/CITRUS_demo.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":"bf12e08509daba47"}},{"code_sha256_prefix":"0c055318fb6039d9","entry":"gen_factor_graphs","repo":"arefeinizade2/citrus","repo_kind":"official","path":"CITRUS_demo.py","file_url":"https://github.com/arefeinizade2/citrus/blob/HEAD/CITRUS_demo.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":"0c055318fb6039d9"}},{"code_sha256_prefix":"0a2b015b91ebd355","entry":"magic_combine","repo":"arefeinizade2/citrus","repo_kind":"official","path":"Molene/layers.py","file_url":"https://github.com/arefeinizade2/citrus/blob/HEAD/Molene/layers.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":"0a2b015b91ebd355"}},{"code_sha256_prefix":"6261ff5e682d8867","entry":"norm","repo":"arefeinizade2/citrus","repo_kind":"official","path":"MetrLA_PemsBay/diffusion_net/geometry.py","file_url":"https://github.com/arefeinizade2/citrus/blob/HEAD/MetrLA_PemsBay/diffusion_net/geometry.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":"6261ff5e682d8867"}},{"code_sha256_prefix":"169c2afe3d0207b9","entry":"norm2","repo":"arefeinizade2/citrus","repo_kind":"official","path":"MetrLA_PemsBay/diffusion_net/geometry.py","file_url":"https://github.com/arefeinizade2/citrus/blob/HEAD/MetrLA_PemsBay/diffusion_net/geometry.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":"169c2afe3d0207b9"}},{"code_sha256_prefix":"7246dcec4dc84360","entry":"normalize","repo":"arefeinizade2/citrus","repo_kind":"official","path":"MetrLA_PemsBay/diffusion_net/geometry.py","file_url":"https://github.com/arefeinizade2/citrus/blob/HEAD/MetrLA_PemsBay/diffusion_net/geometry.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":"7246dcec4dc84360"}},{"code_sha256_prefix":"51939becdf769fd7","entry":"print_matrix","repo":"arefeinizade2/citrus","repo_kind":"official","path":"MetrLA_PemsBay/MetrLA_Github.py","file_url":"https://github.com/arefeinizade2/citrus/blob/HEAD/MetrLA_PemsBay/MetrLA_Github.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":"51939becdf769fd7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}