/dynamic-ot

Finite element discretization of dynamical optimal transport using Firedrake. This repo contains the code from the paper: A. Natale, and G. Todeschi. "A mixed finite element discretization of dynamical optimal transport." arXiv preprint arXiv:2003.04558 (2020).

Primary LanguagePython

Mixed FEM Dynamical Optimal Transport Toolbox

Finite element discretization of dynamical optimal transport problems using Firedrake.

Contains code for simulations from:

A. Natale, and G. Todeschi. "A mixed finite element discretization of dynamical optimal transport." Journal of Scientific Computing 91.2 (2022): 38.

Source codes

  • OTPrimalDualSolver: class for solving dynamical OT via primal dual optimization
  • UnbalancedOTPrimalDualSolver: class for solving dynamical Unbalanced OT via primal dual optimization
  • CovarianceOTPrimalDualSolver: class for solving dynamical OT via primal dual optimization with constained covariance
  • utils_firedrake: finite element solvers
  • utils: Legendre dual of cost function

Dependencies

The code is based on the finite element software Firedrake. On an Ubuntu workstation this can be installed via

    $ curl -O https://raw.githubusercontent.com/firedrakeproject/firedrake/master/scripts/firedrake-install
    $ python3 firedrake-install

More options/information on the installation and further dependencies can be found here.