{"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/from-continuous-time-formulations-to","title":"From continuous-time formulations to discretization schemes: tensor trains and robust regression for BSDEs and parabolic PDEs","arxiv_id":"2307.15496","date":"2023-07-28","proceeding":null,"authors":["Lorenz Richter","Leon Sallandt","Nikolas Nüsken"],"abstract":"The numerical approximation of partial differential equations (PDEs) poses formidable challenges in high dimensions since classical grid-based methods suffer from the so-called curse of dimensionality. Recent attempts rely on a combination of Monte Carlo methods and variational formulations, using neural networks for function approximation. Extending previous work (Richter et al., 2021), we argue that tensor trains provide an appealing framework for parabolic PDEs: The combination of reformulations in terms of backward stochastic differential equations and regression-type methods holds the promise of leveraging latent low-rank structures, enabling both compression and efficient computation. Emphasizing a continuous-time viewpoint, we develop iterative schemes, which differ in terms of computational efficiency and robustness. We demonstrate both theoretically and numerically that our methods can achieve a favorable trade-off between accuracy and computational efficiency. While previous methods have been either accurate or fast, we have identified a novel numerical strategy that can often combine both of these aspects.","url_abs":"https://arxiv.org/abs/2307.15496v1","url_pdf":"https://arxiv.org/pdf/2307.15496v1.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":"from-continuous-time-formulations-to","repo_url":"https://github.com/lorenzrichter/PDE-backward-solver","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.15496","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.15496"}},"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/lorenzrichter/PDE-backward-solver","reach":{"status":"ok"}}],"summary":{"ran":3,"unverified":4},"by_repo_kind":{"official":{"samples":7,"ran":3,"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":7,"samples":[{"code_sha256_prefix":"5bc12dd67d34470a","entry":"calc_pol","repo":"lorenzrichter/PDE-backward-solver","repo_kind":"official","path":"TT_experiments/orth_pol.py","file_url":"https://github.com/lorenzrichter/PDE-backward-solver/blob/HEAD/TT_experiments/orth_pol.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5bc12dd67d34470a"}},{"code_sha256_prefix":"f518b3bfde4d6727","entry":"get_X_process","repo":"lorenzrichter/PDE-backward-solver","repo_kind":"official","path":"utilities.py","file_url":"https://github.com/lorenzrichter/PDE-backward-solver/blob/HEAD/utilities.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f518b3bfde4d6727"}},{"code_sha256_prefix":"19a7f81142830188","entry":"jacobian","repo":"lorenzrichter/PDE-backward-solver","repo_kind":"official","path":"pytorch_future.py","file_url":"https://github.com/lorenzrichter/PDE-backward-solver/blob/HEAD/pytorch_future.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"19a7f81142830188"}},{"code_sha256_prefix":"68e7409598e6c6b8","entry":"compute_PDE_loss","repo":"lorenzrichter/PDE-backward-solver","repo_kind":"official","path":"utilities.py","file_url":"https://github.com/lorenzrichter/PDE-backward-solver/blob/HEAD/utilities.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":"68e7409598e6c6b8"}},{"code_sha256_prefix":"30a3406dcf472d3e","entry":"jvp","repo":"lorenzrichter/PDE-backward-solver","repo_kind":"official","path":"pytorch_future.py","file_url":"https://github.com/lorenzrichter/PDE-backward-solver/blob/HEAD/pytorch_future.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":"30a3406dcf472d3e"}},{"code_sha256_prefix":"bfed40573e5ffaf4","entry":"plot_NN_evaluation","repo":"lorenzrichter/PDE-backward-solver","repo_kind":"official","path":"utilities.py","file_url":"https://github.com/lorenzrichter/PDE-backward-solver/blob/HEAD/utilities.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":"bfed40573e5ffaf4"}},{"code_sha256_prefix":"9e1e887087adc190","entry":"vjp","repo":"lorenzrichter/PDE-backward-solver","repo_kind":"official","path":"pytorch_future.py","file_url":"https://github.com/lorenzrichter/PDE-backward-solver/blob/HEAD/pytorch_future.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":"9e1e887087adc190"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}