1 Introduction

Interval analysis is a branch of numerical analysis that was born in the 1960’s. It consists of computing with intervals of reals instead of reals, providing a framework for handling uncertainties and verified computations (see e.g. [2, 16, 21, 23] for a survey). Interval analysis is a key ingredient for numerical constraint satisfaction (see e.g. [14]) and global optimization (see e.g. [8]). Global optimization solvers like Gloptlab [5] and COCONUT [28, 29] rely heavily on interval analysis to guarantee rigorous solutions, even non-rigorous solvers like BARON [27] and \(\alpha \) -Branch and bound [1] use rigorous computations in some steps of the search.

Applications of interval analysis comprise packing problems [30], robotics [7, 20], localization and map building [12, 13], and the protein folding problem [19].

In practice, interval arithmetic must be implemented using outward rounding in order to assure that the result of an interval calculation always contains the result of the corresponding real valued operation evaluated for each value(s) of the used interval(s). Interval arithmetic has been implemented in almost every programming language which is relevant for scientific computing, see for example Intlab [26] for Matlab, Filib++ [22] for C/C++, Interval [15] for Fortran and MathInterval [6] for Java.

Extended interval arithmetic [8, 16, 25] allows operations on intervals where the bounds can be \(\pm \infty \). It gives the possibility of performing interval division even when the denominator interval contains zero. For example, assume that we are interested in rigorous bounds for \(\mathbf{x}= \frac{[2, 3]}{[-1, 1]}\). Applying the division rule presented in [25] gives \((-\infty , -2]\) and \([2, \infty )\). The operation above must be interpreted as follows: The resulting quotient of \(\frac{a}{b}\) where \(a \in [2, 3]\) and \(b \in [-1, 1] \backslash 0\) belongs to the set \((-\infty , -2] \cup [2, \infty )\).

This example shows the problem of interval arithmetic both from a theoretical and a computational point of view. For the theory of intervals it is an issue since the result of an elementary operation involving two intervals does not belong necessarily to the set of intervalsFootnote 1 while for computations it is a problem since the interval division operator requires special treatment.

This paper extends the concept of interval arithmetic to interval unions. An interval union is a set of closed and disjoint intervals where the bounds of the extreme intervals can be \(\pm \infty \). During the paper we demonstrate that interval unions generalize intervals and allow among others to represent the result of interval division in a natural way.

We show that the interval Newton method for univariate functions can be reformulated using interval union arithmetic. Our numerical experiments demonstrate that this new method, called interval union Newton method, produces much better results than the traditional approach.

Interval unions are also useful in algorithms for finding rigorous bounds on the solution set of interval linear systems. We give an example where the Gaussian elimination algorithm employed using interval union arithmetic gives a rigorous bound for an interval linear system that is not regular. Moreover, we show that the interval union Gauss–Seidel procedure can be used in the multivariate interval Newton method in order to produce multiple gaps instead of only one as suggested by Hansen [8].

Some of the theoretical results of interval analysis remain valid when we are dealing with interval unions. That is the case, e.g., for the fundamental theorem of interval arithmetic, and therefore the natural extension of real functions to interval unions is similar to the interval case. On the other hand, some inclusion results like the interval mean value theorem do not hold for interval unions, not even for the univariate case. During the paper it is shown that a large part of the interval union arithmetic can be easily implemented if we have an interval arithmetic library at our disposal.

A closely related concept to interval unions is that of multi-intervals, introduced by Yakovlev [32]. According to [31], they are defined as a union of closed intervals that are not necessarily disjoint, making them slightly more general from the interval unions of the present paper. Multi-interval arithmetic is (a not separately accessible) part of the publicly available software Unicalc [3, 24] for solving constraint satisfaction problems and nonlinear systems of equations. Another variant are the discontinuous intervals by Hyvönen [10]. A discontinuous interval is the disjoint union of closed, half-open, or open intervals. For applications of discontinous intervals, see [11].

In Sect. 2 we present the basics of interval arithmetic. The section is mainly a revision of the traditional case in the extended context. Section 3 describes the generalization from intervals to interval unions, where the basic interval union operations are defined, isotonicity property shown, the fundamental theorem of interval union arithmetic is proven. In addition, in this section, hull and component-wise operations are also defined.

In Sect. 4 the interval union Newton method for univariate functions is presented. Similar as for the interval Newton method the aim is to enclose all roots of \(f(x) \in R\) subject to \(x \in X\) where both, R and X are interval unions. We show that the definition of Newton methods can be made through component-wise operations and compare our new approach with the traditional interval Newton algorithm in a set of 32 problems. Our experiment shows that interval union arithmetic can improve Newton methods significantly in the univariate case.

Finally in Sect. 5, interval union linear systems are studied and shown that the interval Gaussian elimination and Gauss–Seidel algorithms can be extended from intervals to interval unions. The advantages of replacing interval operations by interval unions in linear systems are demonstrated by performing tests on examples in low dimension.

1.1 Notation

We mostly follow [18] for the notation of interval arithmetic. Throughout this paper \({\mathbb {R}}^{m\times n}\) denotes the vector space of all \(m\times n\) matrices A with real entries \(A_{ik}\) (\(i=1,\ldots ,m,~k=1,\ldots ,n\)), and \({\mathbb {R}}^n={\mathbb {R}}^{n\times 1}\) denotes the vector space of all column vectors v of length n and entries \(v_{i}\) (\(i = 1,\ldots , n\)). For vectors and matrices, the relations \(=\), \(\ne \), <, >, \(\le \), \(\ge \) and the absolute value |A| of the matrix A are interpreted component-wise.

We write \(A^T\) to represent the transpose of a matrix A and \(A^{-T}\) is short for \((A^{T})^{-1}\). The ith row vector of a matrix A is denoted by \(A_{i:}\) and the jth column vector by \(A_{:j}\). For the \(n \times n\) matrix A, \({\mathrm{diag}}(A)\) denotes the n-dimensional vector with \({\mathrm{diag}}(A)_i=A_{ii}\).

The number of elements of the index set N is given by |N|. Let \(I \subseteq \{1, \ldots , m \}\) and \(J \subseteq \{1, \ldots , n \}\) be index sets and let \(n_I:=|I|\), \(n_J:=|J|\). For the n-dimensional vector x, \(x_J\) denotes the \(n_J\)-dimensional vector built from the components of x selected by the index set J. For the \(m \times n\) matrix A, the expression \(A_{I:}\) denotes the \(n_I \times n\) matrix built from the rows of A selected by the index sets I. Similarly, \(A_{:J}\) denotes the \(m \times n_J\) matrix built from the columns of A selected by the index sets J.

2 Interval arithmetic

This section presents the basics of interval arithmetic. A comprehensive approach to this topic is given by [23]. We are mainly interested in extended interval arithmetic. i.e, when division by intervals containing 0 is allowed. Good references to extended interval arithmetic are [8] and [17].

Let \(\underline{a}, \overline{a} \in {\mathbb {R}}\) with \(\underline{a} \le \overline{a}\) then \(\mathbf{a}=[\underline{a}, \overline{a}]\) denotes a real interval with \(\inf (\mathbf{a}) =\min (\mathbf{a}) = \underline{a}\) and \(\sup (\mathbf{a}) =\max (\mathbf{a}) = \overline{a}\). The set of nonempty compact real intervals is denoted by

$$\begin{aligned} {\mathbb {I}}{\mathbb {R}}:=\{[\underline{a}, \overline{a}] \mid \underline{a} \le \overline{a},~ \underline{a}, \overline{a} \in {\mathbb {R}}\}. \end{aligned}$$

We extend the definition of real intervals by permitting the bounds of intervals to be one of the ideal points \(-\infty \) and \(\infty \) and define \(\overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) as the set of closed real intervals. We write

$$\begin{aligned} \overline{{{\mathbb {I}}}{{\mathbb {R}}}}:= \{ [\underline{a}, \overline{a}] \cap {\mathbb {R}}\mid \underline{a} \le \overline{a}, ~ \underline{a}, \overline{a} \in {\mathbb {R}}\cup \{-\infty , \infty \} \}, \end{aligned}$$

The width of the interval \(\AA \in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\setminus \{\emptyset \}\) is given by \({\mathrm{wid}}(\mathbf{a}):=\overline{a}-\underline{a}\), its mignitude by

$$\begin{aligned} \left\langle \mathbf{a} \right\rangle :=\left\{ \begin{array}{ll} \min (|\underline{a}|, |\overline{a}|) &{}\quad \text{ if } 0 \notin [\underline{a}, \overline{a}] ,\\ 0 &{}\quad \text{ otherwise }. \end{array}\right. \end{aligned}$$

and its magnitude by \(|~\!\AA |~\!:= \max (|\underline{a}|, |\overline{a}|)\). The midpoint of \(\AA \in {{\mathbb {I}}}{{\mathbb {R}}}\) is \({\check{\mathbf{a}}}:={\mathrm{mid}}(\mathbf{a}):=( \underline{a} + \overline{a})/2\) and the radius of \(\AA \in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) is \(\hat{\mathbf{a}}:= {\mathrm{rad}}(\mathbf{a}):=( \underline{a}-\overline{a})/2\). For \(\AA \in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) there is no natural definition of a midpoint. Moreover, if \({\check{\mathbf{a}}}\) is well defined then \(a \in \AA \Leftrightarrow |a - {\check{\mathbf{a}}} | \le {\hat{\mathbf{a}}}\) and we say that \({\text {midrad}}({\check{\mathbf{a}}}, \hat{\mathbf{a}})\) is the midrad representation of interval \(\mathbf{a}\). For a set S the smallest box containing S is called the interval hull of S and denoted by . An interval is called thin or degenerate if \({\mathrm{wid}}(\mathbf{a}) = 0\).

The inclusion relations are given as

$$\begin{aligned} \mathbf{a}\subset \mathbf{b}\Longleftrightarrow \underline{b}< \underline{a} \wedge \overline{a} < \overline{b},\quad \mathbf{a}\subseteq \mathbf{b}\Longleftrightarrow \underline{b} \le \underline{a} \wedge \overline{a} \le \overline{b}. \end{aligned}$$

An interval vector \(\mathbf{x}=[\underline{x},\overline{x}]\) or box is the Cartesian product of the closed real intervals \(\mathbf{x}_i:=[\underline{x}_i, \overline{x}_i] \in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\). We write \(\overline{{\mathbb {I}}{\mathbb {R}}}^{n}\) to denote the set of all n-dimensional boxes. We also define the interval matrix \(\mathbf{A}= [\underline{A}, \overline{A}]\) in a similar way and \(\overline{{\mathbb {I}}{\mathbb {R}}}^{m \times n}\) denotes the set of all \(m \times n\) interval matrices. Operations defined for intervals (like width, midpoint, radius, mignitude and magnitude) are defined component-wise when applied to boxes or matrices.

Let \(\mathbf{a},\mathbf{b}\in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\). The elementary real operations \(\circ \in \{+,-,/,*,\widehat{\;}\,\}\) are extended to the interval arguments \(\mathbf{a}\), \(\mathbf{b}\) by defining the result of an elementary interval operation to be the set of real numbers which results from combining any two numbers contained in \(\mathbf{a}\) and in \(\mathbf{b}\). Formally,

$$\begin{aligned} \mathbf{a}\circ _\bullet \mathbf{b}:=\{a \circ b \mid a \in \mathbf{a},~ b \in \mathbf{b}~\hbox {and }a\circ b\hbox { is defined} \}. \end{aligned}$$

This leads to operations on \(\overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) defined by . The elementary operations are inclusion isotonic. That means:

$$\begin{aligned} \mathbf{a}\subset \mathbf{a}', \mathbf{b}\subset \mathbf{b}' ~~~\Rightarrow ~~~\mathbf{a}\circ \mathbf{b}\in \mathbf{a}' \circ \mathbf{b}' \quad \text{ for } \text{ all } \circ \in \{+,-,/,*,\widehat{\;}\,\}. \end{aligned}$$

For \(\mathbf{a},\mathbf{b}\in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) we get that

$$\begin{aligned} \mathbf{a}/_\bullet \mathbf{b}:= \left\{ \begin{array}{ll} \mathbf{a}\cdot [1/\overline{b},1/\underline{b}] &{}\quad \text{ if } 0\notin \mathbf{b}, \\ {(}-\infty ,+\infty ) &{} \quad \text{ if } 0\in \mathbf{a}\wedge 0\in \mathbf{b}, \\ {[}\overline{a}/\underline{b},+\infty ) &{}\quad \text{ if } \overline{a}<0 \wedge \underline{b}< \overline{b} = 0,\\ {(}-\infty ,\overline{a}/\overline{b}] \cup {[}\overline{a}/\underline{b},+\infty ) &{}\quad \text{ if } \overline{a}<0 \wedge \underline{b}< 0< \overline{b},*\\ {(}-\infty ,\overline{a}/\overline{b}] &{}\quad \text{ if } \overline{a}<0 \wedge 0 = \underline{b}< \overline{b},\\ {(}-\infty ,\underline{a}/\underline{b}] &{}\quad \text{ if } 0<\underline{a} \wedge \underline{b}< \overline{b} = 0,\\ {(}-\infty ,\underline{a}/\underline{b}] \cup {[}\underline{a}/\overline{b},+\infty ) &{}\quad \text{ if } 0<\underline{a} \wedge \underline{b}< 0< \overline{b},*\\ {[}\underline{a}/\overline{b},+\infty ) &{}\quad \text{ if } 0<\underline{a} \wedge 0 = \underline{b} < \overline{b},\\ \emptyset &{} \quad \text{ if } 0\notin \mathbf{a}\wedge \underline{b}=\overline{b}=0. \end{array}\right. \end{aligned}$$
(1)

As one can see in the cases marked with \(*\), the result is not a single interval but the union of two disjoint ones. As shown in [25] the division defined by (1) is inclusion isotonic (also see [17]).

Let \(\mathbf{x}\in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}^n\) and \(f:D\subseteq {\mathbb {R}}^n\rightarrow {\mathbb {R}}\). We define \({\mathrm{rg\bullet }}(f(\mathbf{x}))\) to be the set

$$\begin{aligned} {\mathrm{rg\bullet }}(f(\mathbf{x})):=\{f(x)\mid x\in \mathbf{x}\cap D\}, \end{aligned}$$

and call it the range of f over the box \(\mathbf{x}\). We extend the range to a function on \(\overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) by , also called the range of f.

We say that a function \(\mathbf{f}: \overline{{{\mathbb {I}}}{{\mathbb {R}}}}^n \rightarrow \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) is inclusion isotonic if \(\mathbf{x}\subseteq \mathbf{y}\Rightarrow \mathbf{f}(\mathbf{x}) \subseteq \mathbf{f}(\mathbf{y})\). We already established that elementary interval operations are inclusion isotonic and it is also possible to construct interval functions with the isotonicity property for standard functions like exponential, logarithmic and trigonometric, see for example [26] or [6]. Moreover, it is easy to prove that the composition of inclusion isotonic functions is also inclusion isotonic. Formally we have

Proposition 1

If \(\mathbf{g}: \overline{{{\mathbb {I}}}{{\mathbb {R}}}}^{m} \rightarrow \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) and \(\mathbf{f}: \overline{{{\mathbb {I}}}{{\mathbb {R}}}}^{n} \rightarrow \overline{{{\mathbb {I}}}{{\mathbb {R}}}}^{m}\) are inclusion isotonic functions then g(f(x)) is inclusion isotonic.

The interval function \(\mathbf{f}: \overline{{{\mathbb {I}}}{{\mathbb {R}}}}^n \rightarrow \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) is an interval extension of a function \(f:D \subseteq {\mathbb {R}}^n\rightarrow {\mathbb {R}}\) if

$$\begin{aligned} \mathbf{f}(x) = f(x) \quad \text{ for } x \in D \hbox {, and } f(x) \in \mathbf{f}(\mathbf{x}) \quad \text{ for } \text{ all } x \in \mathbf{x}\subseteq D. \end{aligned}$$

If f admits a closed form and can be expressed in terms of elementary operations and standard functions we call the interval function \(\mathbf{f}\) given by replacing every real operation with its interval counterpart the natural extension. Using these definitions we can formulate the fundamental theorem of interval analysis and prove it as in [21]:

Proposition 2

(Fundamental theorem of interval analysis) If \(\mathbf{f}\) is inclusion isotonic and is an interval extension of \(f: {\mathbb {R}}^{n} \rightarrow {\mathbb {R}}\) then \({\mathrm{rg}}(f(\mathbf{x})) \subseteq \mathbf{f}(\mathbf{x})\).

Interval arithmetic also allows to prove a general version of the mean value theorem for multivariate functions, see [23]:

Proposition 3

(Interval mean value theorem) Let \(F: {\mathbb {R}}^{n} \rightarrow {\mathbb {R}}^{n}\) be a differentiable function defined on a box \(\mathbf{x}\subset {\mathbb {R}}^{n}\). If \(\mathbf{F}\) is an interval extension of F, \(\mathbf{J}\) an interval extension of the Jacobian of F and \(z \in \mathbf{x}\) then

$$\begin{aligned} F(x) \in F(z) + \mathbf{J}(\mathbf{x})(x - z) \subseteq F(z) + \mathbf{J}(\mathbf{x})(\mathbf{x}- z), \quad \forall x \in \mathbf{x}. \end{aligned}$$

Proposition 3 leads to the following Taylor extension, see [23].

Corollary 1

(Taylor expansion) Let \(f: {\mathbb {R}}^{n} \rightarrow {\mathbb {R}}\) be a differentiable function defined in a box \(\mathbf{x}\subset {\mathbb {R}}^{n}\). If \(z \in \mathbf{x}\), \(\mathbf{f}\) is an interval extension of f and \(\mathbf{g}\) the interval extension of \(\nabla f\) then

$$\begin{aligned} f(x) \in f(z) + \mathbf{g}(\mathbf{x})^T(x - z) \subseteq f(z) + \mathbf{g}(\mathbf{x})^T(\mathbf{x}- z), \quad \forall x \in \mathbf{x}. \end{aligned}$$

We define the set

$$\begin{aligned} f_{k\bullet }^{-1}(\mathbf{x},\mathbf{y}):=\{z_k\in \mathbf{x}_k\mid \exists z_1,\ldots ,z_{k-1},z_{k+1},\ldots ,z_n:z\in D \cap \mathbf{x}\wedge f(z)\in \mathbf{y}\} \end{aligned}$$

and call it the kth partial inverse image of f on \(\mathbf{y}\) and for its interval hull we write

3 Interval unions

3.1 Motivation

The well known interval Newton iteration

$$\begin{aligned} \mathbf{x}^{(k+1)}:= N(\mathbf{x}^k) \cap \mathbf{x}^k,\quad N(\mathbf{x})={\check{\mathbf{x}}}-\frac{\mathbf{f}({\check{\mathbf{x}}})}{\mathbf{f}'(\mathbf{x})},\quad k = 0,1,2,\ldots . \end{aligned}$$
(2)

is the interval variant of Newton’s method for finding the roots of a function f in a box x. If (2) is applied to an arbitrary univariate function \(f:{\mathbb {R}}\rightarrow {\mathbb {R}}\) and the starting interval \(\mathbf{x}_0\), the interval Newton method splits and contracts \(\mathbf{x}_0\) into several intervals enclosing the zeros of f over \(\mathbf{x}_0\).

By (1) the division operator applied to two intervals \(\mathbf{a},\mathbf{b}\in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) in the cases marked by a \(*\) do not map into \(\overline{{{\mathbb {I}}}{{\mathbb {R}}}}\). To solve this issue one can either define \(/:\overline{{{\mathbb {I}}}{{\mathbb {R}}}}\times \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\setminus \{0\} \rightarrow \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) or for the marked cases one could take the interval hull of the two resulting intervals. However, keeping the two disjoint intervals in the marked cases is the reason why (2) works properly if \(0 \in \mathbf{f}'(\mathbf{x})\). Therefore, it is obvious to define a structure where the division operator and therefore the interval Newton method is defined in a consistent and natural way. It serves as a motivation to introduce interval unions and define operations similar to the interval versions.

3.2 Definition

Definition 1

Throughout this paper, interval unions are denoted by bold calligraphic letters. An interval union \(\mathscr {u}\) of length \(l(\mathscr {u}):=k\) is a finite set of k disjoint intervals. Since for all disjoint intervals the natural ordering exists we denote the elements of \(\mathscr {u}\) by \(\mathbf{u}_i\) and write

$$\begin{aligned} \mathscr {u}=(\mathbf{u}_1, \ldots , \mathbf{u}_k)\quad \text {with}\quad \begin{array}{ll} \mathbf{u}_i \in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}&{}\quad \forall ~ i = 1, \ldots , k,\\ \overline{\mathbf{u}}_{i} < \underline{\mathbf{u}}_{i+1} &{}\quad \forall ~ i = 1, \ldots , k-1. \end{array} \end{aligned}$$
(3)

The set of all interval unions of length \(\le k\) is denoted by \(\mathcal {U}_k\) and \({{\mathcal {U}}}:=\bigcup _{k \ge 0} {{\mathcal {U}}}_k\) is the set of all interval unions. In addition to this \({{\mathcal {U}}}_0=\emptyset \) and we identify \({{\mathcal {U}}}_1\) with \(\overline{{{\mathbb {I}}}{{\mathbb {R}}}}\).

Obviously \({{\mathcal {U}}}_k \subseteq {{\mathcal {U}}}_m \subseteq {{\mathcal {U}}}\) if \(k \le m\).

Definition 2

Let \(\mathscr {u}:=(\mathbf{u}_1, \ldots , \mathbf{u}_k)\in {{\mathcal {U}}}\) be an interval union. We will identify \(\mathscr {u}\) with the subset \(\bigcup _{i=1}^k \mathbf{u}_i\) of \({\mathbb {R}}\) that \(\mathscr {u}\) represents, so for a real number x we say

$$\begin{aligned} x \in \mathscr {u}\Leftrightarrow \text{ there } \text{ exists } \text{ a } 1\le i\le k \text{ such } \text{ that } x \in \mathbf{u}_i. \end{aligned}$$

Similarly, for the interval \(\mathbf{x}\)

$$\begin{aligned} \mathbf{x}\subseteq \mathscr {u}\Leftrightarrow \text{ there } \text{ exists } \text{ a } 1\le i\le k \text{ such } \text{ that } \mathbf{x}\subseteq \mathbf{u}_i. \end{aligned}$$

Finally, for another interval union \(\mathscr {v}\)

$$\begin{aligned} \mathscr {v}\subseteq \mathscr {u}\Leftrightarrow \text{ for } \text{ all } \varvec{v}\in \mathscr {v} \text{ there } \text{ exists } \text{ a } 1\le i\le k \text{ such } \text{ that } \varvec{v}\subseteq \mathbf{u}_i. \end{aligned}$$

Definition 3

Let S be a finite set of intervals, the union creator \({{\mathcal {U}}}(S)\) is defined as the smallest interval union \(\mathscr {u}\) that satisfies \(\mathbf{a}\subseteq \mathscr {u}\) for all \(\mathbf{a}\in S\).

Lemma 1

Let S be a set of intervals, the union creator is inclusion isotonic:

$$\begin{aligned} S \subseteq S' \Longrightarrow {{\mathcal {U}}}(S) \subseteq {{\mathcal {U}}}(S'). \end{aligned}$$

Proof

Follows directly from the definition. \(\square \)

Lemma 2

The interval hull of an union \(\mathscr {u}\in {{\mathcal {U}}}\) is given by

Proof

Follows directly from Definition 1. \(\square \)

Definition 4

An interval union vector or box of dimension n is the cartesian product of n interval unions. We define \({{\mathcal {U}}}_k^n\) and \({{\mathcal {U}}}^n\) as the set of all interval union vectors of dimension n and denote interval union boxes by lower case bold calligraphic letters like \(\mathscr {x}\) or \(\mathscr {y}\). In a similar way we define interval union matrices as \(n \times m\) arrays of interval unions. We introduce \({{\mathcal {U}}}_k^{n\times m}\) and \({{\mathcal {U}}}^{n\times m}\) as the sets of interval union matrices of size \(n\times m\) with the usual definition of the operations. Interval union matrices are given by capital bold calligraphic letters like \(\mathscr {A}\) or \(\mathscr {B}\).

The interval union vector \(\mathscr {u}\in {{\mathcal {U}}}\) regarded as a subset of \({\mathbb {R}}^n\) is always a finite set of boxes. More specifically, if \(\mathscr {u}_j\) has length \(k_j\) we get the \(\prod _{j=1}^n k_j\) disjoint boxes \(\prod _{j=1}^n \mathbf{u}_{j,\ell _j}\), \(1\le \ell _j\le k_j\). We write for \(\mathbf{u}\in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}^n\) that \(\mathbf{u}\in \mathscr {u}\) iff \(\mathbf{u}\) is one of these boxes.

Note that storing this set as an interval union vector requires just \(\sum _{j=1}^n k_j\) intervals which is a clear advantage over storing all the individual boxes, especially in higher dimensions.

If \(\mathscr {u}\in {{\mathcal {U}}}_{k} {\setminus }\{\emptyset \}\) we define the magnitude and mignitude of the interval union respectively by

$$\begin{aligned} |\mathscr {u}|:= \max (|\mathbf{u}_{1}|,\ldots , |\mathbf{u}_{k}|) = \max (|\underline{\mathbf{u}}_{1}|, |\overline{\mathbf{u}}_{k}|) \end{aligned}$$

and

$$\begin{aligned} \left\langle \mathscr {u} \right\rangle := \min (\left\langle \mathbf{u}_{1} \right\rangle ,\ldots , \left\langle \mathbf{u}_{k} \right\rangle ). \end{aligned}$$

We also define for \(\mathscr {u}\in {{\mathcal {U}}}_{k} {\setminus }\{\emptyset \}\) the maximum, minimum and maximum width of interval unions by

$$\begin{aligned} \max (\mathscr {u}):= \overline{\mathbf{u}}_{k}, \qquad \min (\mathscr {u}):= \underline{\mathbf{u}}_{1} \end{aligned}$$

and

$$\begin{aligned} \max {\mathrm{wid}}(\mathscr {u}):= \max ({\mathrm{wid}}(\mathbf{u}_{1}),\ldots , {\mathrm{wid}}(\mathbf{u}_{k})) \end{aligned}$$

Given the interval union \(\mathscr {u}\in {{\mathcal {U}}}_{k}\) and a point \(x \in {\mathbb {R}}\) we define the projection of x as follows

$$\begin{aligned} {\mathrm{proj}}(x, \mathscr {u}) := \left\{ \begin{array}{rcl} x &{}\quad \text{ if } &{} x \in \mathscr {u}\\ \overline{\mathbf{u}}_{i} &{}\quad \text{ if } &{} x \in {]} \overline{\mathbf{u}}_{i}, \underline{\mathbf{u}}_{i+1}{[} \text{ and } x - \overline{\mathbf{u}}_{i}< \underline{\mathbf{u}}_{i+1} - x,\\ \underline{\mathbf{u}}_{i+1} &{}\quad \text{ if } &{} x \in {]}\overline{\mathbf{u}}_{i}, \underline{\mathbf{u}}_{i+1}{[} \text{ and } x - \overline{\mathbf{u}}_{i} \ge \underline{\mathbf{u}}_{i+1} - x,\\ \overline{\mathbf{u}}_{k} &{}\quad \text{ if } &{} x > \overline{\mathbf{u}}_{k},\\ \underline{\mathbf{u}}_{1} &{}\quad \text{ if } &{} x < \underline{\mathbf{u}}_{1}.\\ \end{array}\right. \end{aligned}$$

Some functions defined for intervals do not extend naturally to interval unions. For such functions we present different definitions that can be useful in several contexts. Let \(\mathscr {u}\in {{\mathcal {U}}}_{k}{\setminus }\{\emptyset \}\) be an interval union, we denote the component-wise midpoint and radius respectively by \({\check{\mathscr {u}}}_{c} := ({\check{\mathbf{u}}}_{1},\ldots , {\check{\mathbf{u}}}_{k})\) and \({\hat{\mathscr {u}}}_{c} := ({\hat{\mathbf{u}}}_{1},\ldots , {\hat{\mathbf{u}}}_{k})\) whenever \(-\infty< \underline{\mathbf{u}}_{1} \le \overline{\mathbf{u}}_{k} < \infty \). We denote the component-wise width and magnitude of \(\mathscr {u}\) by \({\mathrm{wid}}(\mathscr {u})_{c} := ({\mathrm{wid}}(\mathbf{u}_{1}),\ldots , {\mathrm{wid}}(\mathbf{u}_{k}))\) and \(|\mathscr {u}|_{c} := (|\mathbf{u}_{1}|,\ldots , |\mathbf{u}_{k}|)\) respectively. In some applications we also need to define operations over the hull of \(\mathscr {u}\). In such cases we add a subscript h to identify the hull operation. For example the hull mid-point operator and hull width of \(\mathscr {u}\) are given by and .

3.3 Maximum length and filling gaps

The motivation from Sect. 3.1 hints at a problem which can arise when considering interval unions, since during iterative evaluations the number of intervals inside an union can grow uncontrollably. This can be easily anticipated if considering the task of finding zeros of a function having an infinite number of zeros in the starting box via the interval Newton method. Actually, this problem arises in several other interval methods where intervals unions could prove quite useful. We propose to solve the problem by restricting the maximum length of unions and by defining gap filling strategies.

Definition 5

Let \(\mathscr {u}\in {{\mathcal {U}}}\) be an interval union and let \(\mathbf{u}_{i}\), \(\mathbf{u}_{i+1}\) \(\in \) \(\mathscr {u}\). The open interval \(\mathbf{g}_i\) between the intervals \(\mathbf{u}_{i}\) and \(\mathbf{u}_{i+1}\) is called the ith gap of \(\mathscr {u}\) and is defined as

$$\begin{aligned} \mathbf{g}_i=(\overline{\mathbf{u}}_{i},~\underline{\mathbf{u}}_{i+1}). \end{aligned}$$
(4)

Definition 6

A gap collection \(\hat{\mathscr {v}}\) of length k is a set of k disjoint open real intervals. We will write

$$\begin{aligned} \hat{\mathscr {v}}=\langle \hat{\varvec{v}}_{1},\dots ,\hat{\varvec{v}}_{k}\rangle \quad \text {with}\quad \begin{array}{ll} \varvec{v}_i={]}\underline{v}_{i},\overline{v}_{i}{[} &{} \quad \forall ~ i = 1, \ldots , k,\;\; \underline{v}_{i}<\overline{v}_{i}\in {\mathbb {R}},\\ \overline{v}_{i} \le \underline{v}_{i+1} &{}\quad \forall ~ i = 1, \ldots , k-1. \end{array} \end{aligned}$$

We denote by \({\widehat{{{\mathcal {U}}}}}_{k}\) the set of all gap collections of size \(\le k\) and by \({\widehat{{{\mathcal {U}}}}}:=\bigcup _{i\in {\mathbb {N}}}{\widehat{{{\mathcal {U}}}}}_{i}\) the set of all gap collections.

We will again identify \({\hat{\mathscr {v}}} \in {\widehat{{{\mathcal {U}}}}}\) with the set \(\bigcup _{\hat{\varvec{v}}\in {\hat{\mathscr {v}}}}{\hat{\varvec{v}}}\subseteq {\mathbb {R}}\) and write \(x\in {\hat{\mathscr {v}}}\), \(\mathbf{x}\subseteq {\hat{\mathscr {v}}}\), and \({\hat{\mathscr {w}}} \subseteq \hat{\mathscr {v}}\) for \(x\in {\mathbb {R}}^{n}\), \(\mathbf{x}\in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\), and \(\mathscr {w}\in {\widehat{{{\mathcal {U}}}}}\).

Lemma 3

Let \(\mathscr {u}\) be an interval union of length k, and let \(\hat{\mathscr {u}}=\langle \mathbf{g}_{1},\ldots , \mathbf{g}_{k-1}\rangle \) be the sequence of all gaps of \(\mathscr {u}\). Then \({\hat{\mathscr {u}}} \in {\widehat{{{\mathcal {U}}}}}_{k-1}\), i.e., \({\mathrm{wid}}(\mathbf{g}_i)>0\) holds for all \(\mathbf{g}_i \in {\hat{\mathscr {u}}}\). Therefore, \(\mathscr {u}\mapsto {\hat{\mathscr {u}}}\) defines a map \({{\mathcal {U}}}_{k}\rightarrow {\widehat{{{\mathcal {U}}}}}_{k-1}\).

Proof

The result follows from Definition 5 and the strict inequality in (3). \(\square \)

Lemma 4

Let \(\mathscr {u}\in {{\mathcal {U}}}_{k}\) and \(\mathbf{x}\in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\).

  1. 1.

    .

  2. 2.

    The mapping \(\hat{\;}\) is bijective .

Definition 7

Let \(\mathscr {u}\in {{\mathcal {U}}}_{k}{\setminus }{{\mathcal {U}}}_{1}\) and \(\mathscr {g}\subseteq {\hat{\mathscr {u}}}\) be a set of gaps of \(\mathscr {u}\). We define the gap filling \({{\mathcal {F}}}(\mathscr {u},\mathscr {g}) \in {{\mathcal {U}}}_{k-|\mathscr {g}|}\) as the unique interval union with \({\widehat{{{\mathcal {F}}}}}(\mathscr {u},\mathscr {g})={\hat{\mathscr {u}}} {\setminus } \mathscr {g}\) and , i.e., we fill all the gaps from \(\mathscr {g}\) in \(\mathscr {u}\).

We write \({{\mathcal {F}}}(\mathscr {u},\mathbf{g})\) for \(\mathscr {g}=\{\mathbf{g}\}\) and \({{\mathcal {F}}}(\mathscr {u},\mathbf{g}_{1},\ldots ,\mathbf{g}_{\ell })\) for \(\mathscr {g}=\{\mathbf{g}_{1},\ldots ,\mathbf{g}_{\ell }\}\).

If \(\mathbf{g}_{i}\) is the ith gap of \(\mathscr {u}\) we get \({{\mathcal {F}}}(\mathscr {u},\mathbf{g}_{i})\) by setting \(\overline{u}_i := \overline{u}_{i+1}\) and removing the interval \(\mathbf{u}_{i+1}\) from \(\mathscr {u}\).

Lemma 5

For \(\mathscr {u}\in {{\mathcal {U}}}\) and \(\mathscr {g}\subseteq {\hat{\mathscr {u}}}\) we have

$$\begin{aligned} \mathscr {u}\subset {{\mathcal {F}}}(\mathscr {u},\mathscr {g}). \end{aligned}$$
(5)

Proof

If \(\mathscr {g}=\{\mathbf{g}_{i}\}\), by (3), \(\overline{u}_i < \underline{u}_{i+1}\) therefore \(\mathbf{u}_i \cup \mathbf{u}_{i+1} \subset [\underline{u}_i, \overline{u}_{i+1}]\), proving (5). Since \({{\mathcal {F}}}(\mathscr {u},\mathscr {g})={{\mathcal {F}}}(\mathscr {u}, \mathscr {g}{\setminus }\{\mathbf{g}\})\) the general case follows by induction on the size of \(\mathscr {g}\). \(\square \)

Now we will introduce the concept of gap ordering to determine which gap to fill first. Usually, the width of the gap plays a part in that ordering (sometimes also a relative width with respect to the position of the interval along the real axis), and also the position of the gap might be interesting. Since we do not want to fix this ordering for developing the theory we will just assume that we are given a linear order \(\unlhd \) on the set of all open intervals of \({\mathbb {R}}\) with the property that for arbitrary \(\mathbf{x}\in {{\mathbb {I}}}{{\mathbb {R}}}\) every collection of disjoint open intervals contained in \(\mathbf{x}\) has a maximal element w.r.t. \(\unlhd \). For example, two possible linear orders are given below.

Example 1

We say that \(\mathbf{g}_i \lhd \mathbf{g}_j\) if at least one of the following criteria is attained: (i) \({\text {wid}}(\mathbf{g}_i) < {\text {wid}}(\mathbf{g}_j)\), (ii) \(\left\langle \mathbf{u}_i \right\rangle > \left\langle \mathbf{u}_j \right\rangle \) or (iii) \(\underline{\mathbf{u}_1} < \underline{\mathbf{u}_2}\). Formally, we have

$$\begin{aligned} \mathbf{g}_i\lhd \mathbf{g}_j \Leftrightarrow \left( {\text {wid}}(\mathbf{g}_i) < {\text {wid}}(\mathbf{g}_j) \right) \vee \left( {\text {wid}}(\mathbf{g}_i) = {\text {wid}}(\mathbf{g}_j) \wedge C(\mathbf{u}_{i}, \mathbf{u}_{j}) \right) \end{aligned}$$

where \(\mathbf{g}_i=(\overline{\mathbf{u}}_{i},~\underline{\mathbf{u}}_{i+1})\) is given by Definition 4 and

$$\begin{aligned} C(\mathbf{u}_{1}, \mathbf{u}_{2}) \Leftrightarrow (\left\langle \mathbf{u}_1 \right\rangle > \left\langle \mathbf{u}_2 \right\rangle \vee (\left\langle \mathbf{u}_1 \right\rangle = \left\langle \mathbf{u}_2 \right\rangle \wedge \underline{\mathbf{u}_1} < \underline{\mathbf{u}_2})) \end{aligned}$$

Example 2

$$\begin{aligned} \mathbf{g}_i\lhd \mathbf{g}_j \Leftrightarrow \left( \frac{ {\text {wid}}(\mathbf{g}_i) }{ \overline{\mathbf{u}}_{i} + \underline{\mathbf{u}}_{i} } < \frac{ {\text {wid}}(\mathbf{g}_j) }{ \overline{\mathbf{u}}_{j} + \underline{\mathbf{u}}_{j} } \right) \vee \left( \frac{ {\text {wid}}(\mathbf{g}_i) }{ \overline{\mathbf{u}}_{i} + \underline{\mathbf{u}}_{i} } = \frac{ {\text {wid}}(\mathbf{g}_j) }{ \overline{\mathbf{u}}_{j} + \underline{\mathbf{u}}_{j} } \wedge C(\mathbf{u}_{i}, \mathbf{u}_{j}) \right) \end{aligned}$$

where \(C(\mathbf{u}_{1}, \mathbf{u}_{2})\) is the same as in the example above.

We must take care in both examples to avoid comparisons of type \(\infty < \infty \) when evaluating the width. In practice we use \(\min ({\mathrm{wid}}(\mathbf{g}), M)\) for fixed M very large instead of \({\mathrm{wid}}(\mathbf{g})\).

Definition 8

The index set of the n smallest gaps of \(\mathscr {u}\) (w.r.t. \(\unlhd \)) is defined by

$$\begin{aligned} {{\mathcal {G}}}_{n}^{S}(\mathscr {u}) \subseteq \{1, \ldots , k-1\},~|{{\mathcal {G}}}^{S}|=n, \text{ such } \text{ that } \text{ if } i \in {{\mathcal {G}}}^{S} \text{ then } \mathbf{g}_{i}\lhd \mathbf{g}_j \text{ for } j \notin {{\mathcal {G}}}^{S}. \end{aligned}$$

Similarly, the index set of the n largest gaps of \(\mathscr {u}\) (w.r.t. \(\unlhd \)) is defined by

$$\begin{aligned} {{\mathcal {G}}}_{n}^{L}(\mathscr {u}) \subseteq \{1, \ldots , k-1\},~|{{\mathcal {G}}}^{L}|=n, \text{ such } \text{ that } \text{ if } i \in {{\mathcal {G}}}^{L} \text{ then } \mathbf{g}_{i}\rhd \mathbf{g}_j \text{ for } j \notin {{\mathcal {G}}}^{L}. \end{aligned}$$

For \(r\in \{L,S\}\) we denote by \({{\mathfrak {g}}}_{n}^{r}(\mathscr {u}):=\{\mathbf{g}_{i}\in \hat{\mathscr {u}}\mid i\in {{\mathcal {G}}}_{n}^{r}(\mathscr {u})\}\) the set of smallest respectively largest gaps of \(\mathscr {u}\). For convenience we define \({{\mathfrak {g}}}_{n}^{r}(\mathscr {u})={\hat{\mathscr {u}}}\) if \(n\ge l(\mathscr {u})\) and \({{\mathfrak {g}}}_{n}^{r}(\mathscr {u})=\emptyset \) if \(n\le 0\).

Definition 9

The length restriction mapping \(\Gamma _{k}:{{\mathcal {U}}}\rightarrow {{\mathcal {U}}}_{k}\) is given by \(\Gamma _{k}(\mathscr {u}) := {{\mathcal {F}}}(\mathscr {u},{{\mathcal {G}}}^{S}_{l(\mathscr {u})-k}(\mathscr {u}))\), i.e., we fill the \(l(\mathscr {u})-k\) smallest gaps of \(\mathscr {u}\), and we do not change \(\mathscr {u}\) if \(l(\mathscr {u})\le k\).

Defining the interval union hull of a set M of real numbers is not straightforward. Unfortunately, there is nothing like the smallest interval union of length k containing M. For bounded sets M we can get something like uniqueness by filling all but the largest gaps in M. If the set is unbounded, e.g., \(M={(}{-}\infty ,0{]}\cup \bigcup _{j=-\infty }^{\infty }[2^{2j},2^{2j+1}]\), there may be gaps of arbitrary size. In the following definition, we will resolve that problem by fixing a bounded region \(\mathbf{x}\) and filling all gaps that are not contained in \(\mathbf{x}\). If M is bounded we can always choose .

Definition 10

Fix \(\mathbf{x}\in {{\mathbb {I}}}{{\mathbb {R}}}\) and \({\mathbb {N}}\ni k>1\), and let \(M\subseteq {\mathbb {R}}\) and \(\overline{M}\) its topological closure. Then \(M^{c}:=\mathbf{x}{\setminus }\overline{M}\) is a countable (possibly finite) union of open intervals. Let \(\widehat{M}^{c}\) be the set of these intervals, and \({\hat{\mathscr {u}}} \in {\widehat{{{\mathcal {U}}}}}_{k-1}\) the subset of the \(k-1\) largest elements of \({\widehat{M}}^{c}\). We define the interval union hull \({{\mathcal {U}}}_{k,\mathbf{x}}(M)\) of length k of M with respect to \(\mathbf{x}\) as the unique interval union in with \(\widehat{{{\mathcal {U}}}_{k, \mathbf{x}}}(M)={\hat{\mathscr {u}}}\).

3.4 Arithmetic for interval unions

In this section, similarly to interval arithmetic, basic set and elementary operations as well as properties like inclusion isotonicity are defined and explained for interval unions. Most of the theory translates nicely from intervals to interval unions, but some properties do not: e.g., due to the lack of convexity it is not possible to prove a mean value theorem for interval unions.

Definition 11

Let \(\mathbf{x}\in {{\mathbb {I}}}{{\mathbb {R}}}\) be an interval, \(\mathscr {u}:=(\mathbf{u}_1, \ldots , \mathbf{u}_k)\) and \(\mathscr {s}:=(\mathbf{s}_1, \ldots \mathbf{s}_t)\) interval unions. Define the index set J as \(J:=\{i \in \{1, \ldots , k\} \mid \mathbf{u}_i \cap \mathbf{x}\ne \emptyset \}\) and for \(J \ne \emptyset \) also define \(\underline{J}:= \min (J)\) and \(\overline{J}:= \max (J)\).

(i) The union operation for \(\mathscr {u}\) and \(\mathbf{x}\) is defined as \(\mathscr {u}\cup \mathbf{x}:= {{\mathcal {U}}}(\mathscr {u}\cup \{\mathbf{x}\})\). Obviously, we have

$$\begin{aligned} \mathscr {u}\cup \mathbf{x}= \left\{ \begin{array}{ll} (\mathbf{u}_1, \ldots , \mathbf{u}_{i}, \mathbf{x}, \mathbf{u}_{i+1}, \ldots \mathbf{u}_k) \text{ where } \overline{u}_i< \underline{x} \text{ and } \overline{x} < \underline{u}_{i+1} &{} \text{ if } J = \emptyset \\ (\mathbf{u}_1, \ldots , \mathbf{u}_{\underline{J} -1}, [\min (\underline{u}_{\underline{J}},\underline{x}),\max (\overline{u}_{\overline{J}},\overline{x})], \mathbf{u}_{\overline{J} +1}, \ldots \mathbf{u}_k) &{} \text{ otherwise. } \\ \end{array}\right. \end{aligned}$$
(6)

(i\('\)) The union operation for \(\mathscr {u}\) and \(\mathscr {s}\) is defined by

$$\begin{aligned} \mathscr {u}\cup \mathscr {s}:= \mathscr {u}\cup \mathbf{s}_1 \cup \cdots \cup \mathbf{s}_t. \end{aligned}$$
(7)

(ii) The intersection operation for \(\mathscr {u}\) and \(\mathbf{x}\) is defined as \(\mathscr {u}\cap \mathbf{x}:= {{\mathcal {U}}}(\{\mathbf{u}_1\cap \mathbf{x},\ldots ,\mathbf{u}_k\cap \mathbf{x}\})\). We have

$$\begin{aligned} \mathscr {u}\cap \mathbf{x}= \left\{ \begin{array}{ll} \emptyset &{}\quad \text{ if } J = \emptyset \\ ([\max (\underline{u}_{j},\underline{x}),\min (\overline{u}_{j},\overline{x})]) &{} \quad \text{ if } J = \{j\} \\ ([\max (\underline{u}_{\underline{J}},\underline{x}),\overline{u}_{\underline{J}}], \mathbf{u}_{\underline{J}+1}, \ldots , \mathbf{u}_{\overline{J}-1}, [\underline{u}_{\overline{J}},\min (\overline{u}_{\overline{J}},\overline{x})]) &{} \text{ otherwise. } \\ \end{array}\right. \end{aligned}$$
(8)

(ii\('\)) The intersection operation for \(\mathscr {u}\) and S is defined by

$$\begin{aligned} \mathscr {u}\cap \mathscr {s}:= (\mathscr {u}\cap \mathbf{s}_1) \cup \cdots \cup (\mathscr {u}\cap \mathbf{s}_t). \end{aligned}$$
(9)

Note that there is a slight ambiguity in the notation, as \(\mathscr {u}\cup \mathscr {s}\) can also denote the union of the two sets of intervals \(\mathscr {u}\) and \(\mathscr {s}\). However, there will be no confusion between these two concepts, as the same real set is represented.

Lemma 6

Let \(\mathbf{x}\in {{\mathbb {I}}}{{\mathbb {R}}}\) be an interval, \(\mathscr {u}:=(\mathbf{u}_1, \ldots , \mathbf{u}_k)\), \(\mathscr {s}:=(\mathbf{s}_1, \ldots \mathbf{s}_t)\) interval unions.

(i):

For the union operation defined by (6) we have \(x \in \mathscr {u}\cup \mathbf{x}\) iff \(x \in \mathscr {u}\) or \(x \in \mathbf{x}\).

(i′):

For the union operation defined by (7) we have \(x \in \mathscr {u}\cup \mathscr {s}\) iff \(x \in \mathscr {u}\) or \(x \in \mathscr {s}\).

(ii):

For the intersection operation defined by (8) we have \(x \in \mathscr {u}\cap \mathbf{x}\) iff \(x \in \mathscr {u}\) and \(x \in \mathbf{x}\).

(ii′):

For the intersection operation defined by (9) we have \(x \in \mathscr {u}\cap \mathscr {s}\) iff \(x \in \mathscr {u}\) and \(x \in \mathscr {s}\).

Definition 12

Let \(\mathbf{x}\in {{\mathbb {I}}}{{\mathbb {R}}}\) be an interval, \(\mathscr {u}:=(\mathbf{u}_1, \ldots , \mathbf{u}_k)\) and \(\mathscr {s}:=(\mathbf{s}_1, \ldots \mathbf{s}_t)\) interval unions and let \(\circ \in \{+,-,/,*,\widehat{\;}\,\}\) be an elementary interval operation defined in Sect. 2.

(i) The elementary interval union operation corresponding to \(\circ \) applied to \(\mathscr {u}\) and \(\mathbf{x}\) is given by

$$\begin{aligned} \mathscr {u}\circ \mathbf{x}:={{\mathcal {U}}}(\{\mathbf{u}_1 \circ _\bullet \mathbf{x}, \ldots , \mathbf{u}_k \circ _\bullet \mathbf{x}\}) \end{aligned}$$

(i\('\)) The elementary interval union operation corresponding to \(\circ \) applied to \(\mathscr {u}\) and \(\mathscr {s}\) is given by

$$\begin{aligned} \mathscr {u}\circ \mathscr {s}:={{\mathcal {U}}}(\{\mathscr {u}\circ \mathbf{s}_1, \ldots , \mathscr {u}\circ \mathbf{s}_t\}) \end{aligned}$$

Note that for the interval division operator (1) the above definition gives a natural embedding of the problematic cases into the set of interval unions: for arbitrary \(\mathbf{a},\mathbf{b}\in \overline{{{\mathbb {I}}}{{\mathbb {R}}}}\) we have

$$\begin{aligned} \left( {{\mathcal {U}}}(\{\mathbf{a}\}) / \mathbf{b}\right) \in {{\mathcal {U}}}. \end{aligned}$$

Lemma 7

Let \(\mathscr {u}:=(\mathbf{u}_1, \ldots , \mathbf{u}_k)\) and \(\mathscr {s}:=(\mathbf{s}_1, \ldots \mathbf{s}_t)\) be interval unions then the elementary interval union operations \(\circ \in \{+,-,/,*,\widehat{\;}\,\}\) defined by Definition 12 are inclusion isotonic:

$$\begin{aligned} \mathscr {u}\subseteq \mathscr {u}' \quad \text{ and }\quad \mathscr {s}\subseteq \mathscr {s}' \Longrightarrow \mathscr {u}\circ \mathscr {s}\subseteq \mathscr {u}' \circ \mathscr {s}' \text{ for } \text{ all } \{+,-,/,*,\widehat{\;}\,\}. \end{aligned}$$

Proof

The union creator \({{\mathcal {U}}}\) is inclusion isotonic by Lemma 1. Interval operations are inclusion isotonic by Sect. 2, therefore the composition of them is also inclusion isotonic. \(\square \)

In addition to the usual definition of elementary operations we also introduce component-wise operations that will be useful in the context of interval union linear systems.

Definition 13

Let \(\mathscr {u}:=(\mathbf{u}_1, \ldots , \mathbf{u}_k)\) and \(\mathscr {s}:=(\mathbf{s}_1, \ldots \mathbf{s}_k)\) be interval unions of the same length and let \(\circ \in \{+,-,/,*\}\) then the component-wise interval union operation corresponding to \(\circ \) applied to \(\mathscr {u}\) and \(\mathscr {s}\) is given by

$$\begin{aligned} \mathscr {u}\circ _{c} \mathscr {s}:= \mathbf{u}_{1} \circ \mathbf{s}_{1} \cup \cdots \cup \mathbf{u}_{k} \circ \mathbf{s}_{k}. \end{aligned}$$

In the following we will fix a “cutoff” \(\mathscr {c}\in {\mathbb {R}}\) for filling the gaps as described before in Definition 10.

Definition 14

Let \(\mathscr {u}\in {{\mathcal {U}}}^n\) be an interval union vector and \(\mathscr {s}\in {{\mathcal {U}}}\) an interval union, and let \(f:D\subseteq {\mathbb {R}}^n\rightarrow {\mathbb {R}}\). For fixed \({\mathcal {l}}>1\) we define the range of length \({\mathcal {l}}\) of f over \(\mathscr {u}\) (w.r.t. \(\mathbf{x}\)) as

$$\begin{aligned} {{\mathrm{rg}}}_{{\mathcal {l}}}(f(\mathscr {u})) := {{\mathcal {U}}}_{\mathcal l,\mathbf{x}}(\{{\mathrm{rg\bullet }} (f(\mathbf{u}))\mid \mathbf{u}\in \mathscr {u}\}) \end{aligned}$$
(10)

and the kth partial inverse image of length \({\mathcal {l}}\) of f on \(\mathscr {u}\) and \(\mathscr {s}\) as

$$\begin{aligned} f_{{\mathcal {l}},k}^{-1}(\mathscr {u},\mathscr {s}):={{\mathcal {U}}}_{\mathcal l,\mathbf{x}}(\{f_{k\bullet }^{-1}(\varvec{v},\mathbf{s})\mid \varvec{v}\in V,\mathbf{s}\in \mathscr {s}\}). \end{aligned}$$
(11)

As in the interval case, we call a function \(\mathbf{f}: {{\mathcal {U}}}^n \rightarrow {{\mathcal {U}}}\) inclusion isotone if \(\mathscr {u}' \subseteq \mathscr {u}\Rightarrow \mathbf{f}(\mathscr {u}') \subseteq \mathbf{f}(\mathscr {u})\). Moreover, we say \(\mathbf{f}: {{\mathcal {U}}}^n \rightarrow {{\mathcal {U}}}\) is the interval union extension of a function \(f: D \subseteq {\mathbb {R}}^{n} \Rightarrow {\mathbb {R}}\) in \(\mathscr {u}\in {{\mathcal {U}}}^{n}\) if

$$\begin{aligned} \mathbf{f}(x) = f(x) \quad \text{ for } x \in D \cap \mathscr {u}\hbox {, and } ~ f(x) \in \mathbf{f}(\mathscr {u}) \quad \text{ for } \text{ all } x \in D \cap \mathscr {u}. \end{aligned}$$

We also refer to interval union extensions only as extensions when there is no possibility of misunderstandings. As in the interval case we can define a natural interval union extension for functions composed of elementary operations and standard function only by replacing real operations by their interval union counterparts. The following proposition states that the fundamental theorem of interval analysis can be naturally extended to interval unions.

Proposition 4

If \(\mathbf{f}\) is inclusion isotonic and the interval union extension of \(f: {\mathbb {R}}^{n} \rightarrow {\mathbb {R}}\) then \(f_{rg}(\mathscr {u}) \subseteq \mathbf{f}(\mathscr {u})\).

Proof

immediately from the application of the fundamental theorem of interval analysis to every component \(\mathbf{u}_{i}\) of \(\mathscr {u}= (\mathbf{u}_{1},\ldots , \mathbf{u}_{k})\). \(\square \)

On the other hand, due to the lack of convexity when working with interval unions we are not able to prove the interval union mean value theorem. For example, consider \(f(x) = x^{2}\) and the interval union \(\mathscr {u}= ([-3, -1], [1, 3])\). If we take \(x = -2 \in [-3,-1]\) and \(y = 2 \in [1,3]\) then there is no \(\xi \in \mathscr {u}\) such that \(4 = 4 -8\xi \), and hence the statement fails even for univariate functions.

4 Interval union Newton method

In this section we consider the problem of rigorously enclosing all solutions of

$$\begin{aligned} f(x) \in \mathscr {r},\quad x \in \mathscr {x}\end{aligned}$$
(12)

where \(f: {\mathbb {R}}\rightarrow {\mathbb {R}}\) is a differentiable function. In Sect. 4.1 we review the interval Newton method for the case where \(\mathscr {r}\) is set to be zero and \(\mathscr {x}\) is a closed and bounded interval. In Sect. 4.2 we formulate the interval union Newton operator. Numerical experiments comparing both approaches are presented in Sect. 4.3.

4.1 Interval Newton method

Let \(\mathbf{x}\) be a bounded interval and \(f: {\mathbb {R}}\rightarrow {\mathbb {R}}\) a differentiable function. We are interested in enclosing all solutions of

$$\begin{aligned} f(x) = 0,\quad x \in \mathbf{x}. \end{aligned}$$
(13)

Interval Newton methods to solve this problem are based on the interval mean value theorem applied to (13). Formally, if \(y \in \mathbf{x}\) such that \(f(y) = 0\) then

$$\begin{aligned} 0 = f(y) \in \mathbf{f}(x) + \mathbf{f}'(\mathbf{x})(y - x) \end{aligned}$$

for any fixed \(x \in \mathbf{x}\). Therefore, the solution set of the problem can be given as

$$\begin{aligned} {{\mathcal {S}}}_{x} := \{y \in \mathbf{x}\mid \exists f^{*} \in \mathbf{f}(x) \text{ and } g^{*} \in \mathbf{f}'(\mathbf{x}) \text{ such } \text{ that } f^{*} + g^{*}(y - x) = 0\} \end{aligned}$$
(14)

regardless of the choice of x. The usual interval Newton method fixes x as the midpoint of \(\mathbf{x}\) and generates a sequence of nested intervals such that

$$\begin{aligned} \mathbf{x}_{0} \supseteq \mathbf{x}_{1} \supseteq \cdots \supseteq {{\mathcal {S}}}_{x}, \end{aligned}$$

where

$$\begin{aligned} \mathbf{x}^{(k+1)} = N(\mathbf{x}^k) \cap \mathbf{x}^k,\quad k = 0,1,2, \ldots \end{aligned}$$

The operator \(N(\mathbf{x})\) is called interval Newton function and is given by

$$\begin{aligned} N(\mathbf{x})={\check{\mathbf{x}}}-\frac{\mathbf{f}({\check{\mathbf{x}}})}{\mathbf{f}'(\mathbf{x})}. \end{aligned}$$
(15)

Algorithms based on the interval Newton method can be divided into two groups depending on whether or not they rely on extended division, i.e. splitting intervals after the division into the two unconnected result intervals. Some authors like Moore [21] and Alefeld [2] only apply the interval Newton operator to boxes where \(0 \notin \mathbf{f}'(\mathbf{x})\). More sophisticated algorithms like those proposed by Kearfott [17] and Hansen [8] allow division by intervals containing zero and process each box resulting from the division separately.

The simplest interval Newton method with extended division for enclosing all solutions of (13) is given in Algorithm 1. The algorithm takes the interval \(\mathbf{x}\) and applies the interval Newton operator to it. If the resulting intervals are not empty or too thin then they are split, an interval to be processed is chosen and the iteration continues. The proof of finiteness and rigorousness of the interval Newton algorithm is given in [17]. For multivariate versions of this algorithm see [8, 9].

figure a

The list of intervals \({{\mathcal {C}}}\) returned by the algorithm need not be disjoint. Moreover, it is possible that the algorithm saves an interval \(\mathbf{x}\) in \({{\mathcal {C}}}\) even when it contains no root of f. The only guarantee we have is that when \(y \in \mathbf{x}\) satisfies \(f(y) = 0\) then \(y \in \mathbf{x}_i \subseteq {{\mathcal {C}}}\) for some i.

4.2 Interval union Newton method

Let \(\mathscr {x}\) and \(\mathscr {r}\) be interval unions with p and q elements respectively. Applying the interval mean value theorem to each pair of intervals in \(\mathscr {x}\) and \(\mathscr {r}\) gives the solution set of (12)

$$\begin{aligned} {{\mathcal {S}}}:= \bigcup _{\begin{array}{c} 1<i<p \\ 1<j<q \end{array}} {{\mathcal {S}}}_{x}(\mathbf{x}_{i}, \mathbf{r}_{j}) \end{aligned}$$

where

$$\begin{aligned} {{\mathcal {S}}}_{x}(\mathbf{x}, \mathbf{r}) := \{y \in \mathbf{x}\mid \exists r \in \mathbf{r},~ f^{*} \in \mathbf{f}(x) \text{ and } g^{*} \in \mathbf{f}'(\mathbf{x}) \text{ such } \text{ that } f^{*} + g^{*}(y - x) = r\} \end{aligned}$$

for any fixed \(x \in \mathbf{x}\). Therefore, we can solve (12) by applying Algorithm 1 \(p\times q\) times. However, the interval union arithmetic provides a more natural approach, without the need of running multiple instances of the same algorithm. Let \(\mathscr {u}^{k} = (\mathbf{u}^{k}_{1},\ldots ,\mathbf{u}^{k}_{n})\) be an interval union, f a differentiable function and \(\mathbf{f}\) and \(\mathbf{f}'\) interval union extensions of f and of its derivative \(f'\). The interval union Newton iteration is given by

$$\begin{aligned} \mathscr {u}^{k+1} := (N(\mathbf{u}^{k}_{1}) \cap \mathbf{u}^{k}_{1},\ldots , N(\mathbf{u}^{k}_{n}) \cap \mathbf{u}^{k}_{n}) \end{aligned}$$
(16)

where \(N(\mathbf{x})\) is the interval Newton function. Note that the interval union Newton iteration is rigorous since it is a component-wise application of the interval mean value theorem. Algorithm 2 uses (16) to enclose all solutions of (12). It also needs the auxiliary function checkAndRemove which is given in Algorithm 3. In the next section we perform numerical experiments to compare the performance of Algorithm 1 with Algorithm 2.

figure b
figure c

4.3 Numerical experiments

We compare interval and interval union Newton methods for univariate functions using a Java implementation that is part of JGloptlab [6]. We used 32 test functions listed in Table 1 most of them taken from [4]. For each function we consider the natural extensions for both f and \(f'\). In our implementation, we have followed the pseudo-codes of Algorithms 1 and 2 precisely, without any additional acceleration or optimization.

For each function \(f_i\) we seek the enclosure of all solutions \(f_i(x) = 0\) where \(x \in \mathbf{x}\) and \(\mathbf{x}\) is a bounded interval. The narrow component tolerance \(\epsilon \) is set to \(10^{-7}\) and the maximum number of function evaluations is set to 100,000. If we are unable to reduce the width of every component of the solution set below \(\epsilon \) before the maximum number of function evaluations is reached we relax the tolerance parameter by a factor of 10 and restart the process. Table 1 shows the test functions while Tables 2 and 3 present the results of the experiment. A supplementary table comparing other aspects of both algorithms can be found in http://www.mat.univie.ac.at/~dferi/research/UnionsTests.

Table 1 The test functions \(f_{1}\)\(f_{32}\) and the corresponding initial bounds for the variable x

The test results are given for both the interval Newton (Algorithm 1 in column INewton) and for the interval union Newton (Algorithm 2 in column IUNewton). In particular, Table 2 shows for each test function (func) the number of boxes possibly containing solutions found (Sol), the number of function evaluations needed to enclose all solutions (FunEv) and the narrow component tolerance \(\epsilon \) (Wid) used.

Table 2 Comparison between the interval and the interval union Newton methods
Table 3 Comparison between the interval and the interval union Newton methods

It is clear from that interval union arithmetic significantly increases the efficiency of the Newton method. Table 2 shows that both the number of function evaluations and the number of boxes possibly containing solutions is smaller when using the interval union Newton method. Moreover, the tolerance achieved with the interval union method is, in every case, at least as small as the tolerance achieved with interval Newton method. Table 3 shows that the interval union Newton method is faster than the interval approach in 37 % of instances and requires less storage memory in 53 % of cases.

5 Systems of interval union equations

This section extends the concept of interval linear systems to interval unions. The algorithms used to solve interval linear systems can be naturally adapted to the interval union case with a few modifications. The basic definitions of interval union linear systems are given in Sect. 5.1, the Gaussian elimination and the Gauss–Seidel algorithm are discussed in Sect. 5.2, finally in Sect. 5.3 some examples are given to demonstrate the usefulness of the interval union approach.

5.1 Basics

Let \(\mathscr {A}\in {{\mathcal {U}}}^{n\times n}\) be an interval union matrix and \(\mathscr {b}\in {{\mathcal {U}}}^{n}\) an interval union vector. An interval union linear system of equations is the family of linear systems given by

$$\begin{aligned} {\tilde{A}} x = {\tilde{b}} \quad \text{ for } \text{ all } {\tilde{A}} \in \mathscr {A}\hbox { and } {\tilde{b}} \in \mathscr {b}. \end{aligned}$$
(17)

The solution set of interval union linear systems is the union of solution sets from every combination of interval matrices and vectors contained in \(\mathscr {A}\) and \(\mathscr {b}\), formally we have

Definition 15

The set \({{\mathcal {S}}}:= \{ x \in {\mathbb {R}}^{n} \mid {\tilde{A}} x = {\tilde{b}} \hbox { for some } {\tilde{A}} \in \mathscr {A}\hbox { and } {\tilde{b}} \in \mathscr {b}\}\) is the solution set of (17).

If \(\mathscr {A}\in {{\mathcal {U}}}_{1}^{n\times n}\) and \(\mathscr {b}\in {{\mathcal {U}}}_{1}^{n}\) then problem (17) reduces to a typical interval linear system. Finding the interval hull of the solution set is \(NP-\)Hard for general interval linear systems and therefore it is also \(NP-\)Hard to find the interval hull of \({{\mathcal {S}}}\).

We say that a square interval matrix \(\mathbf{A}\) is regular if every matrix \(A \in \mathbf{A}\) is non-singular. In the same way, the interval union matrix \(\mathscr {A}\) is regular if every real matrix \(A \in \mathbf{A}\) with \(\mathbf{A}\in \mathscr {A}\) is non-singular. The interval matrix \(\mathbf{A}\in {{\mathcal {U}}}_{1}^{n \times n}\) is diagonally dominant if

$$\begin{aligned} \left\langle \mathbf{a}_{ii} \right\rangle \ge \sum _{\begin{array}{c} 1<i<p \\ 1<j<q \end{array}} |\mathbf{a}_{ij}|,\quad \text{ for } \text{ all } i = 1,\ldots , n. \end{aligned}$$
(18)

The interval union matrix \(\mathscr {A}\) is diagonally dominant if relation (18) remains valid when we replace interval operations with interval union operations.

In general, algorithms for solving interval linear systems of equations benefit greatly from preconditioning. We say that the interval linear system \(\mathbf{A}' x = \mathbf{b}'\) is preconditioned if

$$\begin{aligned} \mathbf{A}' = M \mathbf{A}, \quad \mathbf{b}' = M \mathbf{b}\end{aligned}$$

where M is a real matrix. Typically \(M = \check{\mathbf{A}}^{-1}\) is chosen, but some authors suggests better strategies for choosing M, see for example [17]. Similarly, algorithms for solving interval union linear systems may also take advantage of preconditioning, however, the choice of the preconditioning matrix is harder than in the interval case. The study of this topic will be addressed in a future work.

5.2 Algorithms

Let \(\mathscr {A}\) be an interval union matrix and \(\mathscr {b}\) an interval union vector. We present two methods to enclose the solution set \({{\mathcal {S}}}\) given by Definition 15. The algorithms discussed here can be easily generalized to the case where \(\mathscr {A}\) is not square.

Interval Gaussian elimination, as described in [17], is obtained by just replacing real operations with interval ones in the Gaussian elimination algorithm. The interval version of the algorithm also allows to perform partial or full pivoting using the mignitude for element comparison. As proved in [17], the fundamental theorem of interval arithmetic guarantees that if \(\mathbf{x}\) is the interval vector obtained with interval Gaussian elimination then \({{\mathcal {S}}}\subseteq \mathbf{x}\). Since the fundamental theorem of interval union arithmetic is already proved, the same conclusion holds if we replace all real operations with interval union counterparts in the Gaussian elimination. Moreover, the definition of the mignitude for interval unions allows the same pivoting strategies as in the interval case.

Consider \(\mathscr {A}\) and \(\mathscr {b}\) of the form

$$\begin{aligned} \mathscr {A}= \left( \begin{array}{ll} \mathscr {a}_{11}&{}\quad \mathscr {a}_{12} \\ \mathscr {a}_{21} &{}\quad \mathscr {a}_{22}\\ \end{array} \right) \quad \hbox {and}\quad \mathscr {b}= \left( \begin{array}{c} \mathscr {b}_{1} \\ \mathscr {b}_{2} \\ \end{array} \right) . \end{aligned}$$
(19)

The interval union Gaussian elimination with backward substitution and without pivoting gives

$$\begin{aligned} \mathscr {q}= \frac{-\mathscr {a}_{21}}{\mathscr {a}_{11}}, \quad \mathscr {x}_{2} = \frac{\mathscr {b}_{2} + \mathscr {b}_{1} \mathscr {q}}{\mathscr {a}_{22} + \mathscr {a}_{12}\mathscr {q}}, \quad \mathscr {x}_{1} = \frac{\mathscr {b}_{1} - \mathscr {a}_{12}\mathscr {x}_{2}}{\mathscr {a}_{11}}. \end{aligned}$$

It is trivial to generalize the Gaussian elimination to higher dimensions, but the two dimensional case is good enough to show some interesting properties of the Gaussian elimination applied to interval union systems.

Let us first assume that every entry of (19) is an interval instead of an interval union. In this case, if \(0 \in \mathscr {a}_{11}\) then the interval Gaussian elimination will fail even with extended division. However, as demonstrated on Example 3 below, using interval union arithmetic we may obtain useful bounds for \(\mathscr {x}_{1}\) and \(\mathscr {x}_{2}\) even if \(0 \in \mathscr {a}_{11}\).

Even for systems with \(0 \notin \mathscr {a}_{11}\) the union Gaussian elimination may give us sharper bounds for \(\mathscr {x}_{1}\) and \(\mathscr {x}_{2}\) than the interval Gauss–Seidel algorithm. This is demonstrated on Example 4 below, where by using interval union Gaussian elimination we obtain bounds almost as sharp as solving several interval linear sub-systems separately.

During the interval Newton method, in each iteration, we have to solve an interval linear system of form \(\mathbf{A}(\mathbf{x}- x) = \mathbf{b}\) where \(\mathbf{x}\) is the box currently processed, \(\mathbf{A}\) is the interval matrix given by evaluating the Jacobian of the function f over \(\mathbf{x}\) and \(\mathbf{b}\) is usually set to \(-\mathbf{f}(x)\). The usual approach this system is the interval Gauss–Seidel algorithm that is based on the so called Gauss–Seidel operator

$$\begin{aligned} \mathbf{x}_{i}^{k+1} = \mathbf{x}_{i}^{k} \cap \mathbf{y}_{i},\quad i = 1 \ldots n, \end{aligned}$$
(20)

where

$$\begin{aligned} \mathbf{y}_{i} = {\check{\mathbf{x}}}_{i} + \frac{\mathbf{r}_{i}}{\mathbf{a}_{ii}},\quad \mathbf{r}_{i} = \mathbf{b}_{i} - \sum _{\begin{array}{c} j = 1 \\ j \ne i \end{array}}^{n} \mathbf{a}_{ij}(\mathbf{x}_{j} - \check{\mathbf{x}}_{j}), \end{aligned}$$

The interval Gauss–Seidel algorithm applies Eq. (20) as long the bounds of the processed box are improved. In practice, we iterate as long as the difference between the largest widths of \(\mathbf{x}^{k+1}\) and \(\mathbf{x}^{k}\) is bigger than a given tolerance \(\epsilon \), see Algorithm 4.

figure d

Note that Algorithm 4 does not update the variables \(x_{i}\) when \(0 \in \mathbf{a}_{ii}\). When this happens several authors (see [8, 17]) suggest a second step of the Gauss–Seidel algorithm which is based on the extended interval division (1). The second step consists of applying Eq. (20) to all indices i for which \(0 \in \mathbf{a}_{ii}\) and then save the largest gap produced by the interval division. Then two boxes that are identical in every entry except for the one with the largest gap are returned.

Based on Algorithm 4 the interval union version of the Gauss–Seidel elimination can be formulated, where the interval union version of the Gauss–Seidel operator (20) is applied to every equation. The interval union Gauss–Seidel procedure differs from Algorithm 4 in steps 1, 5 and 16. Steps 1 and 16 must be modified to use the component-wise interval union midpoint instead of the interval midpoint, since this is necessary in order to guarantee that the interval union fundamental theorem holds for \(\mathbf{r}_{i}\).

As a natural consequence, Algorithm 4 with interval unions returns an interval union vector which stores not only the boxes with the largest gap but all gaps. This simple modifications can lead to significant improvements over the interval Newton procedures for multivariate functions.

5.3 Examples

We conclude the section by showing some advantages of using interval union arithmetic to solve interval or interval union linear systems.

Example 3

Let \(\mathbf{A}\) and \(\mathbf{b}\) be an interval matrix and an interval vector given by

$$\begin{aligned} {\mathbf {A}} = \left( \begin{array}{ll} {[}3.5, 4.5] &{}\quad [1.0, 2.0] \\ {[}1.0, 2.0] &{} \quad [-0.5, 0.5] \\ \end{array} \right) \quad \hbox {and}\quad {\mathbf {b}} = \left( \begin{array}{c} {[}1.0, 2.0] \\ {[}1.5, 2.0] \\ \end{array} \right) . \end{aligned}$$

The interval Gaussian elimination will fail to enclose the solution set of \(\mathbf{A}x = \mathbf{b}\) even with preconditioning. The function verifylss of \(\textit{Intlab}\) [26] also fails and return \([-\infty , \infty ]^{2}\) as solution. If intervals are replaced by interval unions in the standard Gaussian elimination, even without preconditioning we obtain the solution

$$\begin{aligned} x \in \mathscr {u}= & {} (\{ (-\infty , 0.204082], [0.270531, \infty ) \}, \nonumber \\&\{ (-\infty , -0.217391], [1.28571, \infty ) \}). \end{aligned}$$
(21)

Now as (21) suggests (and shown in Fig. 1, left) \({{\mathcal {S}}}\) may be split into two disjoint sets, and we see that the Gaussian elimination with interval unions provided useful information about \({{\mathcal {S}}}\) even though \(\mathbf{A}\) is not regular.

Example 4

Now let \(\mathscr {A}\) be an interval union matrix and \(\mathbf{b}\) an interval vector given by

$$\begin{aligned} \mathscr {A}= \left( \begin{array}{ll} \{[-5, -3], [4, 5] \}&{}\quad [0.5, 1.0] \\ {[}0.5, 1.0] &{}\quad \{ [-3, -2], [2, 3]\}\\ \end{array} \right) \quad \hbox {and}\quad {\mathbf {b}} = \left( \begin{array}{c} {[}1.0, 2.0] \\ {[}1.5, 2.0] \\ \end{array} \right) . \end{aligned}$$

The solution set of \(\mathscr {A}x = \mathbf{b}\) is the union of each interval linear system \(\mathbf{A}_{i} x = \mathbf{b}\) for \(i = 1, \ldots , 4\). Figure 1, right shows the result of applying the interval union Gaussian elimination and the interval union Gauss–Seidel algorithm to \(\mathscr {A}x = \mathbf{b}\) as well as the interval hull of each interval linear system. Note again that the Gauss–Seidel procedure overestimates the bounds of the interval hull while Gaussian elimination give us a sharp enclosure of the four sets. The reason for this is that every interval matrix \(\mathbf{A}\in \mathscr {A}\) is regular and diagonally dominant. Our final example shows how the multivariate interval Newton method can benefit from interval union analysis.

Fig. 1
figure 1

Left solution set of Example 3 in the box \([-10, 10]^{2}\). The solution obtained by the interval Gauss–Seidel is given in the solid box. The solution obtained by the interval union Gaussian elimination is given by dashed boxes. Right solution set of Example 4 in the box \([-10, 10]^{2}\). Gauss–Seidel solution is given in the outer solid box, Gaussian elimination is represented by dashed boxes. The solution set of each interval system and its interval hull is given by the inner solid boxes

Example 5

Assume that we want to enclose the solution set of

$$\begin{aligned} x_{1}^{2} + x_{2}^{2} - 1 = 0,\quad x_{1}^{2} - x_{2} = 0,\quad x:=\left( \begin{array}{ll}x_1&\quad x_2\end{array}\right) ^T \in ([0, 0.9482],~ [-1.2502, 0])^T. \end{aligned}$$

We use the Gauss–Seidel algorithm applied to the interval Newton operator and precondition the Jacobian matrix by the inverse of its midpoint as described by Hansen [8]. It gives

$$\begin{aligned} x \in \mathbf{x}' = ([0,0.9482],\quad [-1.2502, -0.8486])^T \end{aligned}$$

and

$$\begin{aligned} x \in \mathbf{x}'' = ([0,0.9482],\quad [ -0.2896, 0.0000])^T. \end{aligned}$$

Despite the significant improvement in the resulting box, the result is still not optimal. Applying the interval union Gauss–Seidel algorithm we have

$$\begin{aligned} x \in \mathscr {u}= \left( \{[0, 0.1933], [0.825, 0.9482]\},\quad \{[-1.2502, -0.8486], [-0.2896, 0] \}\right) ^T \end{aligned}$$

Using the interval Gauss–Seidel algorithm we have achieved a 45 % contraction of the search domain. On the other hand, applying the interval union procedure we reduced the bounds of both variables, and achieved a 81 % contraction of the search domain.