{"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/guided-diffusion-sampling-on-function-spaces","title":"Guided Diffusion Sampling on Function Spaces with Applications to PDEs","arxiv_id":"2505.17004","date":"2025-05-22","proceeding":null,"authors":["Jiachen Yao","Abbas Mammadov","Julius Berner","Gavin Kerrigan","Jong Chul Ye","Kamyar Azizzadenesheli","Anima Anandkumar"],"abstract":"We propose a general framework for conditional sampling in PDE-based inverse problems, targeting the recovery of whole solutions from extremely sparse or noisy measurements. This is accomplished by a function-space diffusion model and plug-and-play guidance for conditioning. Our method first trains an unconditional discretization-agnostic denoising model using neural operator architectures. At inference, we refine the samples to satisfy sparse observation data via a gradient-based guidance mechanism. Through rigorous mathematical analysis, we extend Tweedie's formula to infinite-dimensional Hilbert spaces, providing the theoretical foundation for our posterior sampling approach. Our method (FunDPS) accurately captures posterior distributions in function spaces under minimal supervision and severe data scarcity. Across five PDE tasks with only 3% observation, our method achieves an average 32% accuracy improvement over state-of-the-art fixed-resolution diffusion baselines while reducing sampling steps by 4x. Furthermore, multi-resolution fine-tuning ensures strong cross-resolution generalizability. To the best of our knowledge, this is the first diffusion-based framework to operate independently of discretization, offering a practical and flexible solution for forward and inverse problems in the context of PDEs. Code is available at https://github.com/neuraloperator/FunDPS","url_abs":"https://arxiv.org/abs/2505.17004v1","url_pdf":"https://arxiv.org/pdf/2505.17004v1.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":"guided-diffusion-sampling-on-function-spaces","repo_url":"https://github.com/neuraloperator/fundps","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2505.17004","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2505.17004"}},"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":"deterministic:regex_extraction","url":"https://github.com/neuraloperator/FunDPS","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/neuraloperator/fundps","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"ran_fixture":8,"ran_honours":3,"ran_draft_wrong":2,"ran_violates":1,"unverified":7},"by_repo_kind":{"official":{"samples":26,"ran":19,"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":"a764c92b51887090","entry":"DatasetNormalizer","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"a764c92b51887090"}},{"code_sha256_prefix":"607661f0464669d6","entry":"FullObservation","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"607661f0464669d6"}},{"code_sha256_prefix":"1281fa90656c411b","entry":"Observation","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"1281fa90656c411b"}},{"code_sha256_prefix":"9ad0358dd430c924","entry":"PDEDataset","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"9ad0358dd430c924"}},{"code_sha256_prefix":"55a5bbf6c6f4dea1","entry":"RBFKernel","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"55a5bbf6c6f4dea1"}},{"code_sha256_prefix":"f6f36fd9d354adad","entry":"batched_loss","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f6f36fd9d354adad"}},{"code_sha256_prefix":"2c86054a4f79a831","entry":"get_burgers_residual","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2c86054a4f79a831"}},{"code_sha256_prefix":"336217453f6a14d2","entry":"get_darcy_residual","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"336217453f6a14d2"}},{"code_sha256_prefix":"1cc6a2ab17c9f3e2","entry":"get_fixed_coords","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1cc6a2ab17c9f3e2"}},{"code_sha256_prefix":"132b513b6ea8e67b","entry":"get_helmholtz_residual","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"132b513b6ea8e67b"}},{"code_sha256_prefix":"507e51ab566b1005","entry":"get_loss_func","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"507e51ab566b1005"}},{"code_sha256_prefix":"3b03fab64964340f","entry":"get_ns_bounded_residual","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3b03fab64964340f"}},{"code_sha256_prefix":"fb5f9dc83a09ffa0","entry":"get_ns_nonbounded_residual","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fb5f9dc83a09ffa0"}},{"code_sha256_prefix":"7eea8f617cd78cdc","entry":"get_poisson_residual","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7eea8f617cd78cdc"}},{"code_sha256_prefix":"ab891ef221209094","entry":"huber_loss","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ab891ef221209094"}},{"code_sha256_prefix":"e90ea3b7b0c4106e","entry":"l1_loss","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e90ea3b7b0c4106e"}},{"code_sha256_prefix":"033caf372281941b","entry":"l2_loss","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"033caf372281941b"}},{"code_sha256_prefix":"8be214b363325c85","entry":"mse_loss","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8be214b363325c85"}},{"code_sha256_prefix":"fcb362bbb769848b","entry":"transform_darcy","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fcb362bbb769848b"}},{"code_sha256_prefix":"a1ad6aa95472bdcd","entry":"NoiseSampler","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"a1ad6aa95472bdcd"}},{"code_sha256_prefix":"f1e50f2f0c3eb299","entry":"PDEObservation","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"f1e50f2f0c3eb299"}},{"code_sha256_prefix":"187875e852c295f0","entry":"PDESolver","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"187875e852c295f0"}},{"code_sha256_prefix":"831b22b68d561737","entry":"PDESolverDPS","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"831b22b68d561737"}},{"code_sha256_prefix":"ee86e31974265100","entry":"SparseObservation","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"ee86e31974265100"}},{"code_sha256_prefix":"892f92a74b9d2bfb","entry":"get_observation_class","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"892f92a74b9d2bfb"}},{"code_sha256_prefix":"f933ac4c89aec5c5","entry":"get_pde_residual","repo":"neuraloperator/fundps","repo_kind":"official","path":"generation/dps.py","file_url":"https://github.com/neuraloperator/fundps/blob/HEAD/generation/dps.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":"f933ac4c89aec5c5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}