NeuroDiffEq is a Python package built with PyTorch that uses ANNs to solve ordinary and partial differential equations (ODEs and PDEs). During the release of NeuroDiffEq we discovered that two other groups had almost simultaneously released their own software packages for solving differential equations with neural networks: DeepXDE and PyDEns. Both DeepXDE and PyDEns are built on top of TensorFlow. DeepXDE has an emphasis on the wide variety of problems it can solve. It supports mixing different boundary conditions and solving on domains with complex geometries. PyDEns is less flexible in the range of solvable problems but provides a more user-friendly API. This trade-off is partially determined by the way these two packages implement the solver, which will be discussed later. NeuroDiffEq is designed to encourage the user to focus more on the problem domain (What is the differential equation we need to solve? What are the initial/boundary conditions?) and at the same time allow them to dig into solution domain (What ANN architecture and loss function should be used? What are the training hyperparameters?) when they want to. NeuroDiffEq can solve a variety of canonical PDEs including the heat equation and Poisson equation in a Cartesian domain with up to two spatial dimensions. We are actively working on extending NeuroDiffEq to support three spatial dimensions. NeuroDiffEq can also solve arbitrary systems of nonlinear ordinary differential equations. Currently, NeuroDiffEq is being used in a variety of research projects including to study the convergence properties of ANNs for solving differential equations as well as solving the equations in the field of general relativity.
Chen Feiyu, Sondak David, Protopapas Pavlos, Mattheakis Marios, Liu Shuheng, Agarwal Devansh, et al. (2020). NeuroDiffEq: A Python package for solving differential equations with neural networks. JOURNAL OF OPEN SOURCE SOFTWARE, 5(46), 1-3 [10.21105/joss.01931].
NeuroDiffEq: A Python package for solving differential equations with neural networks
Di Giovanni Marco
2020
Abstract
NeuroDiffEq is a Python package built with PyTorch that uses ANNs to solve ordinary and partial differential equations (ODEs and PDEs). During the release of NeuroDiffEq we discovered that two other groups had almost simultaneously released their own software packages for solving differential equations with neural networks: DeepXDE and PyDEns. Both DeepXDE and PyDEns are built on top of TensorFlow. DeepXDE has an emphasis on the wide variety of problems it can solve. It supports mixing different boundary conditions and solving on domains with complex geometries. PyDEns is less flexible in the range of solvable problems but provides a more user-friendly API. This trade-off is partially determined by the way these two packages implement the solver, which will be discussed later. NeuroDiffEq is designed to encourage the user to focus more on the problem domain (What is the differential equation we need to solve? What are the initial/boundary conditions?) and at the same time allow them to dig into solution domain (What ANN architecture and loss function should be used? What are the training hyperparameters?) when they want to. NeuroDiffEq can solve a variety of canonical PDEs including the heat equation and Poisson equation in a Cartesian domain with up to two spatial dimensions. We are actively working on extending NeuroDiffEq to support three spatial dimensions. NeuroDiffEq can also solve arbitrary systems of nonlinear ordinary differential equations. Currently, NeuroDiffEq is being used in a variety of research projects including to study the convergence properties of ANNs for solving differential equations as well as solving the equations in the field of general relativity.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.