{"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/deeponet-learning-nonlinear-operators-for","title":"DeepONet: Learning nonlinear operators for identifying differential equations based on the universal approximation theorem of operators","arxiv_id":"1910.03193","date":"2019-10-08","proceeding":null,"authors":["Lu Lu","Pengzhan Jin","George Em. Karniadakis"],"abstract":"While it is widely known that neural networks are universal approximators of continuous functions, a less known and perhaps more powerful result is that a neural network with a single hidden layer can approximate accurately any nonlinear continuous operator. This universal approximation theorem is suggestive of the potential application of neural networks in learning nonlinear operators from data. However, the theorem guarantees only a small approximation error for a sufficient large network, and does not consider the important optimization and generalization errors. To realize this theorem in practice, we propose deep operator networks (DeepONets) to learn operators accurately and efficiently from a relatively small dataset. A DeepONet consists of two sub-networks, one for encoding the input function at a fixed number of sensors $x_i, i=1,\\dots,m$ (branch net), and another for encoding the locations for the output functions (trunk net). We perform systematic simulations for identifying two types of operators, i.e., dynamic systems and partial differential equations, and demonstrate that DeepONet significantly reduces the generalization error compared to the fully-connected networks. We also derive theoretically the dependence of the approximation error in terms of the number of sensors (where the input function is defined) as well as the input function type, and we verify the theorem with computational results. More importantly, we observe high-order error convergence in our computational tests, namely polynomial rates (from half order to fourth order) and even exponential convergence with respect to the training dataset size.","url_abs":"https://arxiv.org/abs/1910.03193v3","url_pdf":"https://arxiv.org/pdf/1910.03193v3.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":"deeponet-learning-nonlinear-operators-for","repo_url":"https://github.com/lululxvi/deeponet","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"deeponet-learning-nonlinear-operators-for","repo_url":"https://github.com/lmandl/separable-pi-deeponet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":null},{"paper_slug":"deeponet-learning-nonlinear-operators-for","repo_url":"https://github.com/pratikkakkar/deep-diff","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"deeponet-learning-nonlinear-operators-for","repo_url":"https://github.com/sciml/neuraloperators.jl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"deeponet-learning-nonlinear-operators-for","repo_url":"https://github.com/PaddlePaddle/PaddleScience/blob/develop/examples/operator_learning/deeponet.py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"paddle","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1910.03193","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1910.03193"}},"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/lululxvi/deeponet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lmandl/separable-pi-deeponet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pratikkakkar/deep-diff","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/PaddlePaddle/PaddleScience/blob/develop/examples/operator_learning/deeponet.py","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sciml/neuraloperators.jl","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/lululxvi/deepxde","reach":{"status":"ok","spdx":"LGPL-2.1"}}],"summary":{"ran":3,"ran_draft_wrong":1,"unverified":4},"by_repo_kind":{"official":{"samples":4,"ran":2,"repositories":1},"listed":{"samples":4,"ran":2,"repositories":2}},"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":5,"samples":[{"code_sha256_prefix":"1e71b90331a5bc3d","entry":"DeepONet","repo":"lmandl/separable-pi-deeponet","repo_kind":"listed","path":"models/deeponet.py","file_url":"https://github.com/lmandl/separable-pi-deeponet/blob/HEAD/models/deeponet.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":"1e71b90331a5bc3d"}},{"code_sha256_prefix":"4e277cd941f1eb34","entry":"FNN","repo":"lululxvi/deeponet","repo_kind":"official","path":"seq2seq/learner/nn/deeponet.py","file_url":"https://github.com/lululxvi/deeponet/blob/HEAD/seq2seq/learner/nn/deeponet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"4e277cd941f1eb34"}},{"code_sha256_prefix":"92298447e928deae","entry":"Module","repo":"lululxvi/deeponet","repo_kind":"official","path":"seq2seq/learner/nn/deeponet.py","file_url":"https://github.com/lululxvi/deeponet/blob/HEAD/seq2seq/learner/nn/deeponet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"92298447e928deae"}},{"code_sha256_prefix":"5dd03692a81aa1da","entry":"timing","repo":"pratikkakkar/deep-diff","repo_kind":"listed","path":"deepxde/maps/opnn.py","file_url":"https://github.com/pratikkakkar/deep-diff/blob/HEAD/deepxde/maps/opnn.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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5dd03692a81aa1da"}},{"code_sha256_prefix":"31e388745ac7d349","entry":"DeepONet","repo":"lululxvi/deeponet","repo_kind":"official","path":"seq2seq/learner/nn/deeponet.py","file_url":"https://github.com/lululxvi/deeponet/blob/HEAD/seq2seq/learner/nn/deeponet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"31e388745ac7d349"}},{"code_sha256_prefix":"460da5a1ae3e3df5","entry":"Map","repo":"pratikkakkar/deep-diff","repo_kind":"listed","path":"deepxde/maps/opnn.py","file_url":"https://github.com/pratikkakkar/deep-diff/blob/HEAD/deepxde/maps/opnn.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"460da5a1ae3e3df5"}},{"code_sha256_prefix":"180384e3300b3641","entry":"OpNN","repo":"pratikkakkar/deep-diff","repo_kind":"listed","path":"deepxde/maps/opnn.py","file_url":"https://github.com/pratikkakkar/deep-diff/blob/HEAD/deepxde/maps/opnn.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"180384e3300b3641"}},{"code_sha256_prefix":"2da415b612aea03b","entry":"StructureNN","repo":"lululxvi/deeponet","repo_kind":"official","path":"seq2seq/learner/nn/deeponet.py","file_url":"https://github.com/lululxvi/deeponet/blob/HEAD/seq2seq/learner/nn/deeponet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2da415b612aea03b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}