Hello everyone!

I have put online my work on integrating PyMC3 with FEniCS Project which is a library for solving partial differential equations (PDEs) using the finite element method.

The API is just one function `create_fenics_theano_op `

which turns a normal Python function, which expects FEniCS inputs and outputs a solution to the problem, into a differentiable Theano Op that can be directly used in a PyMC3 model.

This obviously allows fitting parameters (or solving inverse problems) of PDE models using the NUTS sampler. See an example in README. I anticipate that one not so immediately obvious way of using this new bridge would be embedding Gaussian Random Fields based on Stochastic PDE approach in PyMC3 model (someone still needs to develop that package).

Link to the repo: https://github.com/IvanYashchuk/fenics-pymc3

If you like the work consider putting a star on GitHub and sharing it in Twitter https://twitter.com/IvanYashchuk/status/1294301484566421504

Feedback and questions welcome!

Thanks!