Notice: The reproducibility variables underlying each score are classified using an automated LLM-based pipeline, validated against a manually labeled dataset. LLM-based classification introduces uncertainty and potential bias; scores should be interpreted as estimates. Full accuracy metrics and methodology are described in [1].
Data-Driven Discovery of PDEs via the Adjoint Method
Authors: Mohsen Sadr, Tony Tohme, KAMAL YOUCEF-TOUMI
TMLR 2025 | Venue PDF | LLM Run Details
| Reproducibility Variable | Result | LLM Response |
|---|---|---|
| Research Type | Experimental | We show the efficacy of the proposed approach in identifying the form of the PDE up to machine accuracy, enabling the accurate discovery of PDEs from data. We also compare its performance with the famous PDE Functional Identification of Nonlinear Dynamics method known as PDE-FIND Rudy et al. (2017) among others, on both smooth and noisy data sets. |
| Researcher Affiliation | Academia | Mohsen Sadr EMAIL Massachusetts Institute of Technology, USA Paul Scherrer Institute, Switzerland Tony Tohme EMAIL Massachusetts Institute of Technology, USA Kamal Youcef-Toumi EMAIL Massachusetts Institute of Technology, USA |
| Pseudocode | Yes | In Algorithm 1, we present a pseudocode for finding the parameters of the system of PDEs using the Adjoint method (a flowchart is also shown in Fig. 18 of Appendix E). For the introduced hyperparameters, we note that β in the learning rate needs to be small enough to avoid unstable intermediate guessed PDEs, ϵ0 must be large enough to ensure uniqueness in cases where more than one solution may exist, and the thresholding should be applied only when solution to the optimization is not improving anymore up to a user-defined tolerance γthr. For suggested default values, please see the description of the algorithm. For experimental investigation on impact of these parameters for a few examples, see Appendix F. |
| Open Source Code | Yes | Our implementation is publicly available on Git Hub.1 1https://github.com/mohsensadr/Discover PDEAdjoint.git |
| Open Datasets | No | We consider a system consisting of a single PDE (i.e. N = 1, f = f, and p = p) with one-dimensional input, i.e. n = 1 and x = x R, and d = d N. In order to construct a general forward model, here we consider derivatives and polynomials with indices d, p {1, 2, 3} as the initial guess for the forward model. This leads to 9 terms with unknown coefficients α that we find using the proposed adjoint method (an illustrative derivation of the candidate terms can be found in Appendix G.1). |
| Dataset Splits | No | The paper describes how the data is generated (e.g., 'The data is constructed using the Finite Difference method with initial condition f(x, 0) = 5 sin(2πx)x(x L) and a mesh with Nx = 100 nodes in x covering the domain Ω= [0, L] with L = 1 and Nt = 100 steps in t with final time T = Nt t where t = 0.05 x2/|D| is the step size and x = L/Nx is the mesh size in x.'), and for sensitivity to noise it uses 'noisy data set'. It also describes using 'every ν time step as the input for the PDE discovery task' for partial observations. However, it does not specify explicit training, validation, or test splits, as the methodology involves discovering parameters for a PDE based on given data. |
| Hardware Specification | Yes | All the results are obtained using a single core-thread of a 2.3 GHz Quad-Core Intel Core i7 CPU. |
| Software Dependencies | No | The paper mentions numerical methods like 'second-order Finite Difference method' and 'Euler for the time derivative'. However, it does not specify any particular software libraries or their versions (e.g., Python, NumPy, SciPy, MATLAB) that were used to implement these methods. Thus, specific software dependencies with version numbers are not provided. |
| Experiment Setup | Yes | Algorithm 1 Finding system of PDEs using Adjoint method. Default threshold σ = 10-3 applied after Nthr = 100 iterations, with tolerances γ = 10-9 and γthr = 10-6, and regularization factor ϵ0 = 10-12. Input: data f , learning rate η, tolerance γ, threshold σ applied after Nthr, and ϵ0. Initialize the parameters α = 0 |