versionLicense: MITBuild StatusCoveragebibtex citationzenodo doi


This package contains routines to perform numerical linear algebra using interval arithmetic. This can be used both for rigorous computations and uncertainty propagation.

An first overview of the package was given at JuliaCon 2021, the slides are available here.



The package is still under active development and things evolve quickly (or at least should)

  • enclosure of the solution of interval linear systems
  • exact characterization of the solution set of interval linear systems using Oettli-Präger
  • verified solution of floating point linear systems
  • enclosure of eigenvalues of interval matrices
  • verified computation of eigenvalues and eigenvectors of floating point matrices


Open a Julia session and enter

using Pkg; Pkg.add("IntervalLinearAlgebra")

this will download the package and all the necessary dependencies for you. Next you can import the package with

using IntervalLinearAlgebra

and you are ready to go.


using IntervalLinearAlgebra, LazySets, Plots

A = [2..4 -1..1; -1..1 2..4]
b = [-2..2, -1..1]

Xenclose = solve(A, b)
polytopes = solve(A, b, LinearOettliPrager())

plot(UnionSetArray(polytopes), ratio=1, label="solution set", legend=:top)
plot!(IntervalBox(Xenclose), label="enclosure")



If you use this package in your work, please cite it as

author = {
            Luca Feranti and
            Marcelo Forets and
            David P. Sanders
title  = {IntervalLinearAlgebra.jl: linear algebra done rigorously},
month  = {9},
year   = {2021},
doi    = {10.5281/zenodo.5363563},
url    = {}