Space Group Conditional Flow Matching

Omri Puny, Yaron Lipman, Benjamin Kurt Miller
9/28/2025
cs.LGcs.AI

No official code found. Best implementation: omri1348/SGFM (3 stars, last commit 2026-04-08).

Abstract

Inorganic crystals are periodic, highly-symmetric arrangements of atoms in three-dimensional space. Their structures are constrained by the symmetry operations of a crystallographic \emph{space group} and restricted to lie in specific affine subspaces known as \emph{Wyckoff positions}. The frequency an atom appears in the crystal and its rough positioning are determined by its Wyckoff position. Most generative models that predict atomic coordinates overlook these symmetry constraints, leading to unrealistically high populations of proposed crystals exhibiting limited symmetry. We introduce Space Group Conditional Flow Matching, a novel generative framework that samples significantly closer to the target population of highly-symmetric, stable crystals. We achieve this by conditioning the entire generation process on a given space group and set of Wyckoff positions; specifically, we define a conditionally symmetric noise base distribution and a group-conditioned, equivariant, parametric vector field that restricts the motion of atoms to their initial Wyckoff position. Our form of group-conditioned equivariance is achieved using an efficient reformulation of \emph{group averaging} tailored for symmetric crystals. Importantly, it reduces the computational overhead of symmetrization to a negligible level. We achieve state of the art results on crystal structure prediction and de novo generation benchmarks. We also perform relevant ablations.

View on arXivView PDF

Code Implementations(1)

omri1348/SGFMCommunity75%

Official implementation of "Space Group Conditional Flow Matching".

30Shell, PythonOct 5, 20256 months ago

Similar Papers

Cite this paper

@article{puny2025space,
  title  = {Space Group Conditional Flow Matching},
  author = {Omri Puny and Yaron Lipman and Benjamin Kurt Miller},
  year   = {2025},
  eprint = {2509.23822},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2509.23822v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2509.23822.svg)](https://codeofpaper.com/paper/2509.23822)

Discussion