tlm_adjoint icon indicating copy to clipboard operation
tlm_adjoint copied to clipboard

A library for high-level algorithmic differentiation

tlm_adjoint

tlm_adjoint <https://tlm-adjoint.github.io>_ is a high-level algorithmic differentiation tool, principally for use with Firedrake <https://firedrakeproject.org>_.

The primary aim of tlm_adjoint is to enable higher order adjoint calculations – and in particular to compute Hessian information – while also using adjoint checkpointing schedules, and allowing for caching of assembled finite element data, and caching of linear solver data.

Installation

tlm_adjoint can be installed using pip, e.g.

.. code-block:: sh

pip install .

run in the tlm_adjoint root directory.

License

tlm_adjoint is licensed under the GNU LGPL version 3.

About

:Citation: .. image:: https://img.shields.io/badge/DOI-10.1137/18M1209465-blue :target: https://doi.org/10.1137/18M1209465 :alt: SISC paper

.. image:: https://zenodo.org/badge/143704023.svg
    :target: https://zenodo.org/badge/latestdoi/143704023
    :alt: Zenodo

:Tests: .. image:: https://github.com/tlm-adjoint/tlm_adjoint/actions/workflows/test-base.yml/badge.svg?branch=main&event=push :target: https://github.com/tlm-adjoint/tlm_adjoint/actions/workflows/test-base.yml :alt: Base tests status

.. image:: https://github.com/tlm-adjoint/tlm_adjoint/actions/workflows/test-fenics.yml/badge.svg?branch=main&event=push
  :target: https://github.com/tlm-adjoint/tlm_adjoint/actions/workflows/test-fenics.yml
  :alt: FEniCS tests status

.. image:: https://github.com/tlm-adjoint/tlm_adjoint/actions/workflows/test-firedrake.yml/badge.svg?branch=main&event=push
  :target: https://github.com/tlm-adjoint/tlm_adjoint/actions/workflows/test-firedrake.yml
  :alt: Firedrake tests status

:License: .. image:: https://img.shields.io/badge/license-GNU--LGPL--v3-green :target: https://github.com/tlm-adjoint/tlm_adjoint/blob/main/LICENSE :alt: GNU LGPL version 3