{"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/x-torch-differentiable-scientific-computing","title":"$ξ$-torch: differentiable scientific computing library","arxiv_id":"2010.01921","date":"2020-10-05","proceeding":null,"authors":["Muhammad F. Kasim","Sam M. Vinko"],"abstract":"Physics-informed learning has shown to have a better generalization than learning without physical priors. However, training physics-informed deep neural networks requires some aspect of physical simulations to be written in a differentiable manner. Unfortunately, some operations and functionals commonly used in physical simulations are scattered, hard to integrate, and lack higher order derivatives which are needed in physical simulations. In this work, we present $\\xi$-torch, a library of differentiable functionals for scientific simulations. Example functionals are a root finder and an initial value problem solver, among others. The gradient of functionals in $\\xi$-torch are written based on their analytical expression to improve numerical stability and reduce memory requirements. $\\xi$-torch also provides second and higher order derivatives of the functionals which are rarely available in existing packages. We show two applications of this library in optimizing parameters in physics simulations. The library and all test cases in this work can be found at https://github.com/xitorch/xitorch/ and the documentation at https://xitorch.readthedocs.io.","url_abs":"https://arxiv.org/abs/2010.01921v1","url_pdf":"https://arxiv.org/pdf/2010.01921v1.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":"x-torch-differentiable-scientific-computing","repo_url":"https://github.com/xitorch/xitorch","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"physical-simulations","task_name":"Physical Simulations"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2010.01921","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.01921"}},"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/xitorch/xitorch","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":8,"ran":0,"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":"5f076fef39127444","entry":"del_attr","repo":"xitorch/xitorch","repo_kind":"official","path":"xitorch/_utils/attr.py","file_url":"https://github.com/xitorch/xitorch/blob/HEAD/xitorch/_utils/attr.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":"5f076fef39127444"}},{"code_sha256_prefix":"37d7d9e3c5432824","entry":"deprecated","repo":"xitorch/xitorch","repo_kind":"official","path":"xitorch/_utils/decorators.py","file_url":"https://github.com/xitorch/xitorch/blob/HEAD/xitorch/_utils/decorators.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":"37d7d9e3c5432824"}},{"code_sha256_prefix":"e813c46cc94f89a3","entry":"get_and_pop_keys","repo":"xitorch/xitorch","repo_kind":"official","path":"xitorch/_utils/misc.py","file_url":"https://github.com/xitorch/xitorch/blob/HEAD/xitorch/_utils/misc.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":"e813c46cc94f89a3"}},{"code_sha256_prefix":"b246fc2a681ab3d7","entry":"get_attr","repo":"xitorch/xitorch","repo_kind":"official","path":"xitorch/_utils/attr.py","file_url":"https://github.com/xitorch/xitorch/blob/HEAD/xitorch/_utils/attr.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":"b246fc2a681ab3d7"}},{"code_sha256_prefix":"fcb60d08e1154e12","entry":"get_method","repo":"xitorch/xitorch","repo_kind":"official","path":"xitorch/_utils/misc.py","file_url":"https://github.com/xitorch/xitorch/blob/HEAD/xitorch/_utils/misc.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":"fcb60d08e1154e12"}},{"code_sha256_prefix":"cb49fe1783f0fd2d","entry":"get_methods_docstr","repo":"xitorch/xitorch","repo_kind":"official","path":"xitorch/_docstr/api_docstr.py","file_url":"https://github.com/xitorch/xitorch/blob/HEAD/xitorch/_docstr/api_docstr.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":"cb49fe1783f0fd2d"}},{"code_sha256_prefix":"fad83659b28a7806","entry":"set_attr","repo":"xitorch/xitorch","repo_kind":"official","path":"xitorch/_utils/attr.py","file_url":"https://github.com/xitorch/xitorch/blob/HEAD/xitorch/_utils/attr.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":"fad83659b28a7806"}},{"code_sha256_prefix":"6ddc23f1ca22268f","entry":"set_default_option","repo":"xitorch/xitorch","repo_kind":"official","path":"xitorch/_utils/misc.py","file_url":"https://github.com/xitorch/xitorch/blob/HEAD/xitorch/_utils/misc.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":"6ddc23f1ca22268f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}