{"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/crystal-structure-prediction-by-joint-1","title":"Crystal Structure Prediction by Joint Equivariant Diffusion","arxiv_id":"2309.04475","date":"2023-07-30","proceeding":"NeurIPS 2023 11","authors":["Rui Jiao","Wenbing Huang","Peijia Lin","Jiaqi Han","Pin Chen","Yutong Lu","Yang Liu"],"abstract":"Crystal Structure Prediction (CSP) is crucial in various scientific disciplines. While CSP can be addressed by employing currently-prevailing generative models (e.g. diffusion models), this task encounters unique challenges owing to the symmetric geometry of crystal structures -- the invariance of translation, rotation, and periodicity. To incorporate the above symmetries, this paper proposes DiffCSP, a novel diffusion model to learn the structure distribution from stable crystals. To be specific, DiffCSP jointly generates the lattice and atom coordinates for each crystal by employing a periodic-E(3)-equivariant denoising model, to better model the crystal geometry. Notably, different from related equivariant generative approaches, DiffCSP leverages fractional coordinates other than Cartesian coordinates to represent crystals, remarkably promoting the diffusion and the generation process of atom positions. Extensive experiments verify that our DiffCSP significantly outperforms existing CSP methods, with a much lower computation cost in contrast to DFT-based methods. Moreover, the superiority of DiffCSP is also observed when it is extended for ab initio crystal generation.","url_abs":"https://arxiv.org/abs/2309.04475v2","url_pdf":"https://arxiv.org/pdf/2309.04475v2.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":"crystal-structure-prediction-by-joint-1","repo_url":"https://github.com/jiaor17/DiffCSP","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"crystal-structure-prediction-by-joint-1","repo_url":"https://github.com/facebookresearch/flowmm","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"prediction","task_name":"Prediction"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2309.04475","atlas_url":"https://app.syntology.ai/?focus=2309.04475","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.04475"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"deterministic:regex_extraction","url":"https://github.com/jiaor17/DiffCSP","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/facebookresearch/flowmm","reach":null}],"summary":{"ran":1,"ran_draft_wrong":3,"ran_fixture":1,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"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":"9c28a8ea3d73b8d7","entry":"SinusoidalTimeEmbeddings","repo":"jiaor17/DiffCSP","repo_kind":"official","path":"diffcsp/pl_modules/diffusion.py","file_url":"https://github.com/jiaor17/DiffCSP/blob/HEAD/diffcsp/pl_modules/diffusion.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9c28a8ea3d73b8d7"}},{"code_sha256_prefix":"5e4f60a772022502","entry":"d_log_p_wrapped_normal","repo":"jiaor17/DiffCSP","repo_kind":"official","path":"diffcsp/pl_modules/diffusion.py","file_url":"https://github.com/jiaor17/DiffCSP/blob/HEAD/diffcsp/pl_modules/diffusion.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5e4f60a772022502"}},{"code_sha256_prefix":"4e7447e431948279","entry":"lattice_params_to_matrix_torch","repo":"jiaor17/DiffCSP","repo_kind":"official","path":"diffcsp/pl_modules/diffusion.py","file_url":"https://github.com/jiaor17/DiffCSP/blob/HEAD/diffcsp/pl_modules/diffusion.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4e7447e431948279"}},{"code_sha256_prefix":"9756d0944b4cb663","entry":"p_wrapped_normal","repo":"jiaor17/DiffCSP","repo_kind":"official","path":"diffcsp/pl_modules/diffusion.py","file_url":"https://github.com/jiaor17/DiffCSP/blob/HEAD/diffcsp/pl_modules/diffusion.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9756d0944b4cb663"}},{"code_sha256_prefix":"e098d14d3bf68659","entry":"sigma_norm","repo":"jiaor17/DiffCSP","repo_kind":"official","path":"diffcsp/pl_modules/diffusion.py","file_url":"https://github.com/jiaor17/DiffCSP/blob/HEAD/diffcsp/pl_modules/diffusion.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e098d14d3bf68659"}},{"code_sha256_prefix":"ecbf0e6842d69df1","entry":"BaseModule","repo":"jiaor17/DiffCSP","repo_kind":"official","path":"diffcsp/pl_modules/diffusion.py","file_url":"https://github.com/jiaor17/DiffCSP/blob/HEAD/diffcsp/pl_modules/diffusion.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":"ecbf0e6842d69df1"}},{"code_sha256_prefix":"b8b55de5dbfed4bd","entry":"CSPDiffusion","repo":"jiaor17/DiffCSP","repo_kind":"official","path":"diffcsp/pl_modules/diffusion.py","file_url":"https://github.com/jiaor17/DiffCSP/blob/HEAD/diffcsp/pl_modules/diffusion.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":"b8b55de5dbfed4bd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}