About Elemental

Elemental supports a wide collection of sequential and distributed-memory operations, including support for dense and sparse-direct linear algebra, Linear, Quadratic and Second-Order Cone Programming, and lattice reduction. Furthermore, it supports such functionality for real and complex single-precision, double-precision, “double-double”, “quad-double”, quad-precision, and arbitrary-precision floating-point arithmetic.

The C++11 API is by far the most complete, but a large percentage of the library is also exposed to C and Python interfaces. Please see the README for an up-to-date list of unique functionality.

The development of Elemental has led to a number of research articles and is incorporated into a variety of scientific (e.g., libSkylark, PETSc, and CVXPY) and industrial projects (e.g., within Finite Element companies).


The vast majority of Elemental is licensed under the 2-clause BSD License, but small pieces are under various other licenses. Please see the debian/copyright file for more details.

About these pages

This website was created by Jack Poulson by checking out a copy of fenics-web and slowly replacing FEniCS-specific content with the appropriate Elemental content. The modified source code can be found here.