{"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/neural-diffeomorphic-non-uniform-b-spline","title":"Neural Diffeomorphic Non-uniform B-spline Flows","arxiv_id":"2304.04555","date":"2023-04-07","proceeding":null,"authors":["Seongmin Hong","Se Young Chun"],"abstract":"Normalizing flows have been successfully modeling a complex probability distribution as an invertible transformation of a simple base distribution. However, there are often applications that require more than invertibility. For instance, the computation of energies and forces in physics requires the second derivatives of the transformation to be well-defined and continuous. Smooth normalizing flows employ infinitely differentiable transformation, but with the price of slow non-analytic inverse transforms. In this work, we propose diffeomorphic non-uniform B-spline flows that are at least twice continuously differentiable while bi-Lipschitz continuous, enabling efficient parametrization while retaining analytic inverse transforms based on a sufficient condition for diffeomorphism. Firstly, we investigate the sufficient condition for Ck-2-diffeomorphic non-uniform kth-order B-spline transformations. Then, we derive an analytic inverse transformation of the non-uniform cubic B-spline transformation for neural diffeomorphic non-uniform B-spline flows. Lastly, we performed experiments on solving the force matching problem in Boltzmann generators, demonstrating that our C2-diffeomorphic non-uniform B-spline flows yielded solutions better than previous spline flows and faster than smooth normalizing flows. Our source code is publicly available at https://github.com/smhongok/Non-uniform-B-spline-Flow.","url_abs":"https://arxiv.org/abs/2304.04555v2","url_pdf":"https://arxiv.org/pdf/2304.04555v2.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":"neural-diffeomorphic-non-uniform-b-spline","repo_url":"https://github.com/smhongok/non-uniform-b-spline-flow","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[],"methods":[{"method_slug":"base","method_name":"BASE"},{"method_slug":"normalizing-flows","method_name":"Normalizing Flows"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2304.04555","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2304.04555"}},"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/smhongok/non-uniform-b-spline-flow","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/smhongok/Non-uniform-B-spline-Flow","reach":{"status":"ok"}}],"summary":{"ran":2,"unverified":4},"by_repo_kind":{"official":{"samples":6,"ran":2,"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":6,"samples":[{"code_sha256_prefix":"133fe6019f1a4f63","entry":"cbrt","repo":"smhongok/Non-uniform-B-spline-Flow","repo_kind":"official","path":"bgflow/bgflow/nn/flow/transformer/bspline.py","file_url":"https://github.com/smhongok/Non-uniform-B-spline-Flow/blob/HEAD/bgflow/bgflow/nn/flow/transformer/bspline.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"133fe6019f1a4f63"}},{"code_sha256_prefix":"0b58d01a29ee581a","entry":"sqrt","repo":"smhongok/Non-uniform-B-spline-Flow","repo_kind":"official","path":"bgflow/bgflow/nn/flow/transformer/bspline.py","file_url":"https://github.com/smhongok/Non-uniform-B-spline-Flow/blob/HEAD/bgflow/bgflow/nn/flow/transformer/bspline.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0b58d01a29ee581a"}},{"code_sha256_prefix":"f497ff17189f48fa","entry":"ConditionalBSplineTransformer","repo":"smhongok/Non-uniform-B-spline-Flow","repo_kind":"official","path":"bgflow/bgflow/nn/flow/transformer/bspline.py","file_url":"https://github.com/smhongok/Non-uniform-B-spline-Flow/blob/HEAD/bgflow/bgflow/nn/flow/transformer/bspline.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f497ff17189f48fa"}},{"code_sha256_prefix":"a64d0dd1b2d81711","entry":"Flow","repo":"smhongok/Non-uniform-B-spline-Flow","repo_kind":"official","path":"bgflow/bgflow/nn/flow/transformer/bspline.py","file_url":"https://github.com/smhongok/Non-uniform-B-spline-Flow/blob/HEAD/bgflow/bgflow/nn/flow/transformer/bspline.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a64d0dd1b2d81711"}},{"code_sha256_prefix":"8a7612e2831d74d9","entry":"Transformer","repo":"smhongok/Non-uniform-B-spline-Flow","repo_kind":"official","path":"bgflow/bgflow/nn/flow/transformer/bspline.py","file_url":"https://github.com/smhongok/Non-uniform-B-spline-Flow/blob/HEAD/bgflow/bgflow/nn/flow/transformer/bspline.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8a7612e2831d74d9"}},{"code_sha256_prefix":"b0adfc12b4b7574d","entry":"cubic_B_spline","repo":"smhongok/Non-uniform-B-spline-Flow","repo_kind":"official","path":"bgflow/bgflow/nn/flow/transformer/bspline.py","file_url":"https://github.com/smhongok/Non-uniform-B-spline-Flow/blob/HEAD/bgflow/bgflow/nn/flow/transformer/bspline.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b0adfc12b4b7574d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}