#jsDisabledContent { display:none; } My Account |  Register |  Help

# Fourier-Motzkin elimination

Article Id: WHEBN0009204667
Reproduction Date:

 Title: Fourier-Motzkin elimination Author: World Heritage Encyclopedia Language: English Subject: Inequality (mathematics) Collection: Publisher: World Heritage Encyclopedia Publication Date:

### Fourier-Motzkin elimination

Fourier–Motzkin elimination, also known as the FME method, is a mathematical algorithm for eliminating variables from a system of linear inequalities. It can look both for real and (in some cases) for integer solutions.

The operation is named after Joseph Fourier and Theodore Motzkin.

## Elimination

Elimination (or ∃-elimination) of variables V from a system of relations (here, linear inequalities) consists of creating another system of the same kind, but without a subset of variables V, such that both systems have the same solutions over the remaining variables.

If one eliminates all variables from a system of linear inequalities, then one obtains a system of constant inequalities, which can be trivially decided to be true or false, such that this system has solutions (is true) if and only if the original system has solutions. As a consequence, elimination of all variables can be used to detect whether a system of inequalities has solutions or not.

Consider a system $S$ of $n$ inequalities with $r$ variables $x_1$ to $x_r$, with $x_r$ the variable to eliminate. The linear inequalities in the system can be grouped into three classes, depending on the sign (positive, negative or null) of the coefficient for $x_r$:

• those inequalities that are of the form $x_r \geq b_i-\sum_\left\{k=1\right\}^\left\{r-1\right\} a_\left\{ik\right\} x_k$; denote these by $x_r \geq A_j\left(x_1, \dots, x_\left\{r-1\right\}\right)$, for $j$ ranging from 1 to $n_A$ where $n_A$ is the number of such inequalities;
• those inequalities that are of the form $x_r \leq b_i-\sum_\left\{k=1\right\}^\left\{r-1\right\} a_\left\{ik\right\} x_k$; denote these by $x_r \leq B_j\left(x_1, \dots, x_\left\{r-1\right\}\right)$, for $j$ ranging from 1 to $n_B$ where $n_B$ is the number of such inequalities;
• those inequalities in which $x_r$ plays no role, grouped into a single conjunction $\phi$.

The original system is thus equivalent to $\max\left(A_1\left(x_1, \dots, x_\left\{r-1\right\}\right), \dots, A_\left\{n_A\right\}\left(x_1, \dots, x_\left\{r-1\right\}\right)\right) \leq x_r \leq \min\left(B_1\left(x_1, \dots, x_\left\{r-1\right\}\right), \dots, B_\left\{n_B\right\}\left(x_1, \dots, x_\left\{r-1\right\}\right)\right) \wedge \phi$.

Elimination consists in producing a system equivalent to $\exists x_r~S$. Obviously, this formula is equivalent to $\max\left(A_1\left(x_1, \dots, x_\left\{r-1\right\}\right), \dots, A_\left\{n_A\right\}\left(x_1, \dots, x_\left\{r-1\right\}\right)\right) \leq \min\left(B_1\left(x_1, \dots, x_\left\{r-1\right\}\right), \dots, B_\left\{n_B\right\}\left(x_1, \dots, x_\left\{r-1\right\}\right)\right) \wedge \phi$.

The inequality $\max\left(A_1\left(x_1, \dots, x_\left\{r-1\right\}\right), \dots, A_\left\{n_A\right\}\left(x_1, \dots, x_\left\{r-1\right\}\right)\right) \leq \min\left(B_1\left(x_1, \dots, x_\left\{r-1\right\}\right), \dots, B_\left\{n_B\right\}\left(x_1, \dots, x_\left\{r-1\right\}\right)\right)$ is equivalent to $n_A n_B$ inequalities $A_i\left(x_1, \dots, x_\left\{r-1\right\}\right) \leq B_j\left(x_1, \dots, x_\left\{r-1\right\}\right)$, for $1 \leq i \leq n_A$ and $1 \leq j \leq n_B$.

We have therefore transformed the original system into another system where $x_r$ is eliminated. Note that the output system has $\left(n-n_A-n_B\right)+n_A n_B$ inequalities. In particular, if $n_A = n_B = n/2$, then the number of output inequalities is $n^2/4$.

## Complexity

Running an elimination step over $n$ inequalities can result in at most $n^2/4$ inequalities in the output, thus running $d$ successive steps can result in at most $4\left(n/4\right)^\left\{2^d\right\}$, a double exponential complexity. This is due to the algorithm producing many unnecessary constraints (constraints that are implied by other constraints). The number of necessary constraints grows as a single exponential.[1] Unnecessary constraints may be detected using linear programming.

• Real closed field: the cylindrical algebraic decomposition algorithm performs quantifier elimination over polynomial inequalities, not just linear

## References

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.

Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.