Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Interval arithmetic

From Wikipedia, the free encyclopedia
Method for bounding the errors of numerical computations
This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages)
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Interval arithmetic" – news ·newspapers ·books ·scholar ·JSTOR
(January 2020) (Learn how and when to remove this message)
This article'stone or style may not reflect theencyclopedic tone used on Wikipedia. See Wikipedia'sguide to writing better articles for suggestions.(February 2020) (Learn how and when to remove this message)
(Learn how and when to remove this message)

Tolerance function (turquoise) and interval-valued approximation (red)

Interval arithmetic (also known asinterval mathematics;interval analysis orinterval computation) is a mathematical technique used to mitigaterounding andmeasurement errors inmathematical computation by computing functionbounds.Numerical methods involving intervalarithmetic can guarantee relatively reliable and mathematically correct results. Instead of representing a value as a single number, interval arithmetic or interval mathematics represents each value as arange of possibilities.

Mathematically, instead of working with an uncertainreal-valued variablex{\displaystyle x}, interval arithmetic works with an interval[a,b]{\displaystyle [a,b]} that defines the range of values thatx{\displaystyle x} can have. In other words, any value of the variablex{\displaystyle x} lies in the closed interval betweena{\displaystyle a} andb{\displaystyle b}. A functionf{\displaystyle f}, when applied tox{\displaystyle x}, produces an interval[c,d]{\displaystyle [c,d]} which includes all the possible values forf(x){\displaystyle f(x)} for allx[a,b]{\displaystyle x\in [a,b]}.

Interval arithmetic is suitable for a variety of purposes; the most common use is in scientific works, particularly when the calculations are handled by software, where it is used to keep track ofrounding errors in calculations and of uncertainties in the knowledge of the exact values of physical and technical parameters. The latter often arise from measurement errors and tolerances for components or due to limits on computational accuracy. Interval arithmetic also helps find guaranteed solutions to equations (such asdifferential equations) andoptimization problems.

Introduction

[edit]

The main objective of intervalarithmetic is to provide a simple way of calculatingupper and lower bounds of a function's range in one or more variables. These endpoints are not necessarily the truesupremum orinfimum of a range since the precise calculation of those values can be difficult or impossible; the bounds only need to contain the function's range as a subset.

This treatment is typically limited to real intervals, so quantities in the form

[a,b]={xRaxb},{\displaystyle [a,b]=\{x\in \mathbb {R} \mid a\leq x\leq b\},}

wherea={\displaystyle a={-\infty }} andb={\displaystyle b={\infty }} are allowed. With one ofa{\displaystyle a},b{\displaystyle b} infinite, the interval would be an unbounded interval; with both infinite, the interval would be the extended real number line. Since a real numberr{\displaystyle r} can be interpreted as the interval[r,r],{\displaystyle [r,r],} intervals and real numbers can be freely combined.

Example

[edit]
Body mass index for a person 1.80 m tall in relation to body weightm (in kilograms)

Consider the calculation of a person'sbody mass index (BMI). BMI is calculated as a person's body weight in kilograms divided by the square of their height in meters. Suppose a person uses a scale that has a precision of one kilogram, where intermediate values cannot be discerned, and the true weight is rounded to the nearest whole number. For example, 79.6 kg and 80.3 kg are indistinguishable, as the scale can only display values to the nearest kilogram. It is unlikely that when the scale reads 80 kg, the person has a weight ofexactly 80.0 kg. Thus, the scale displaying 80 kg indicates a weight between 79.5 kg and 80.5 kg, or the interval[79.5,80.5){\displaystyle [79.5,80.5)}.

The BMI of a man who weighs 80 kg and is 1.80m tall is approximately 24.7. A weight of 79.5 kg and the same height yields a BMI of 24.537, while a weight of 80.5 kg yields 24.846. Since the body mass is continuous and always increasing for all values within the specified weight interval, the true BMI must lie within the interval[24.537,24.846]{\displaystyle [24.537,24.846]}. Since the entire interval is less than 25, which is the cutoff between normal and excessive weight, it can be concluded with certainty that the man is of normal weight.

The error in this example does not affect the conclusion (normal weight), but this is not generally true. If the man were slightly heavier, the BMI's range may include the cutoff value of 25. In such a case, the scale's precision would be insufficient to make a definitive conclusion.

The range of BMI examples could be reported as[24.5,24.9]{\displaystyle [24.5,24.9]} since this interval is a superset of the calculated interval. The range could not, however, be reported as[24.6,24.8]{\displaystyle [24.6,24.8]}, as the interval does not contain possible BMI values.

Multiple intervals

[edit]
Body mass index for different weights in relation to height L (in meters)

Height and body weight both affect the value of the BMI. Though the example above only considered variation in weight, height is also subject to uncertainty. Height measurements in meters are usually rounded to the nearest centimeter: a recorded measurement of 1.79 meters represents a height in the interval[1.785,1.795){\displaystyle [1.785,1.795)}. Since the BMI uniformly increases with respect to weight and decreases with respect to height, the error interval can be calculated by substituting the lowest and highest values of each interval, and then selecting the lowest and highest results as boundaries. The BMI must therefore exist in the interval

[79.5,80.5)[1.785,1.795)2[24.673,25.266].{\displaystyle {\frac {[79.5,80.5)}{[1.785,1.795)^{2}}}\subseteq [24.673,25.266].}

In this case, the man may have normal weight or be overweight; the weight and height measurements were insufficiently precise to make a definitive conclusion.

Interval operators

[edit]

A binary operation{\displaystyle \star } on two intervals, such as addition or multiplication is defined by

[x1,x2][y1,y2]={xy|x[x1,x2]y[y1,y2]}.{\displaystyle [x_{1},x_{2}]{\,\star \,}[y_{1},y_{2}]=\{x\star y\,|\,x\in [x_{1},x_{2}]\,\land \,y\in [y_{1},y_{2}]\}.}

In other words, it is the set of all possible values ofxy{\displaystyle x\star y}, wherex{\displaystyle x} andy{\displaystyle y} are in their corresponding intervals. If{\displaystyle \star } ismonotone for each operand on the intervals, which is the case for the four basic arithmetic operations (except division when the denominator contains0{\displaystyle 0}), the extreme values occur at the endpoints of the operand intervals. Writing out all combinations, one way of stating this is

[x1,x2][y1,y2]=[min{x1y1,x1y2,x2y1,x2y2},max{x1y1,x1y2,x2y1,x2y2}],{\displaystyle [x_{1},x_{2}]\star [y_{1},y_{2}]=\left[\min\{x_{1}\star y_{1},x_{1}\star y_{2},x_{2}\star y_{1},x_{2}\star y_{2}\},\max\{x_{1}\star y_{1},x_{1}\star y_{2},x_{2}\star y_{1},x_{2}\star y_{2}\}\right],}

provided thatxy{\displaystyle x\star y} is defined for allx[x1,x2]{\displaystyle x\in [x_{1},x_{2}]} andy[y1,y2]{\displaystyle y\in [y_{1},y_{2}]}.

For practical applications, this can be simplified further:

The last case loses useful information about the exclusion of(1/y1,1/y2){\displaystyle (1/y_{1},1/y_{2})}. Thus, it is common to work with[,1y1]{\displaystyle \left[-\infty ,{\tfrac {1}{y_{1}}}\right]} and[1y2,]{\displaystyle \left[{\tfrac {1}{y_{2}}},\infty \right]} as separate intervals. More generally, when working with discontinuous functions, it is sometimes useful to do the calculation with so-calledmulti-intervals of the formi[ai,bi].{\textstyle \bigcup _{i}\left[a_{i},b_{i}\right].} The correspondingmulti-interval arithmetic maintains a set of (usually disjoint) intervals and also provides for overlapping intervals to unite.[1]

Multiplication of positive intervals

Interval multiplication often only requires two multiplications. Ifx1{\displaystyle x_{1}},y1{\displaystyle y_{1}} are nonnegative,

[x1,x2][y1,y2]=[x1y1,x2y2], if x1,y10.{\displaystyle [x_{1},x_{2}]\cdot [y_{1},y_{2}]=[x_{1}\cdot y_{1},x_{2}\cdot y_{2}],\qquad {\text{ if }}x_{1},y_{1}\geq 0.}

The multiplication can be interpreted as the area of a rectangle with varying edges. The result interval covers all possible areas, from the smallest to the largest.

With the help of these definitions, it is already possible to calculate the range of simple functions, such asf(a,b,x)=ax+b.{\displaystyle f(a,b,x)=a\cdot x+b.} For example, ifa=[1,2]{\displaystyle a=[1,2]},b=[5,7]{\displaystyle b=[5,7]} andx=[2,3]{\displaystyle x=[2,3]}:

f(a,b,x)=([1,2][2,3])+[5,7]=[12,23]+[5,7]=[7,13].{\displaystyle f(a,b,x)=([1,2]\cdot [2,3])+[5,7]=[1\cdot 2,2\cdot 3]+[5,7]=[7,13].}

Notation

[edit]

To shorten the notation of intervals, brackets can be used.

[x][x1,x2]{\displaystyle [x]\equiv [x_{1},x_{2}]} can be used to represent an interval. Note that in such a compact notation,[x]{\displaystyle [x]} should not be confused between a single-point interval[x1,x1]{\displaystyle [x_{1},x_{1}]} and a general interval. For the set of all intervals, we can use

[R]:={[x1,x2]|x1x2 and x1,x2R{,}}{\displaystyle [\mathbb {R} ]:=\left\{\,[x_{1},x_{2}]\,|\,x_{1}\leq x_{2}{\text{ and }}x_{1},x_{2}\in \mathbb {R} \cup \{-\infty ,\infty \}\right\}}

as an abbreviation. For a vector of intervals([x]1,,[x]n)[R]n{\displaystyle \left([x]_{1},\ldots ,[x]_{n}\right)\in [\mathbb {R} ]^{n}} we can use a bold font:[x]{\displaystyle [\mathbf {x} ]}.

Elementary functions

[edit]
Values of a monotonic function

Interval functions beyond the four basic operators may also be defined.

Formonotonic functions in one variable, the range of values is simple to compute. Iff:RR{\displaystyle f:\mathbb {R} \to \mathbb {R} } is monotonically increasing (resp. decreasing) in the interval[x1,x2],{\displaystyle [x_{1},x_{2}],} then for ally1,y2[x1,x2]{\displaystyle y_{1},y_{2}\in [x_{1},x_{2}]} such thaty1<y2,{\displaystyle y_{1}<y_{2},}f(y1)f(y2){\displaystyle f(y_{1})\leq f(y_{2})} (resp.f(y2)f(y1){\displaystyle f(y_{2})\leq f(y_{1})}).

The range corresponding to the interval[y1,y2][x1,x2]{\displaystyle [y_{1},y_{2}]\subseteq [x_{1},x_{2}]} can be therefore calculated by applying the function to its endpoints:

f([y1,y2])=[min{f(y1),f(y2)},max{f(y1),f(y2)}].{\displaystyle f([y_{1},y_{2}])=\left[\min \left\{f(y_{1}),f(y_{2})\right\},\max \left\{f(y_{1}),f(y_{2})\right\}\right].}

From this, the following basic features for interval functions can easily be defined:

For even powers, the range of values being considered is important and needs to be dealt with before doing any multiplication. For example,xn{\displaystyle x^{n}} forx[1,1]{\displaystyle x\in [-1,1]} should produce the interval[0,1]{\displaystyle [0,1]} whenn=2,4,6,.{\displaystyle n=2,4,6,\ldots .} But if[1,1]n{\displaystyle [-1,1]^{n}} is taken by repeating interval multiplication of form[1,1][1,1][1,1]{\displaystyle [-1,1]\cdot [-1,1]\cdot \cdots \cdot [-1,1]} then the result is[1,1],{\displaystyle [-1,1],} wider than necessary.

More generally one can say that, for piecewise monotonic functions, it is sufficient to consider the endpointsx1{\displaystyle x_{1}},x2{\displaystyle x_{2}}of an interval, together with the so-calledcritical points within the interval, being those points where the monotonicity of the function changes direction. For thesine andcosine functions, the critical points are at(12+n)π{\displaystyle \left({\tfrac {1}{2}}+n\right)\pi } ornπ{\displaystyle n\pi } fornZ{\displaystyle n\in \mathbb {Z} }, respectively. Thus, only up to five points within an interval need to be considered, as the resulting interval is[1,1]{\displaystyle [-1,1]} if the interval includes at least two extrema. For sine and cosine, only the endpoints need full evaluation, as the critical points lead to easily pre-calculated values—namely −1, 0, and 1.

Interval extensions of general functions

[edit]

In general, it may not be easy to find such a simple description of the output interval for many functions. But it may still be possible to extend functions to interval arithmetic. Iff:RnR{\displaystyle f:\mathbb {R} ^{n}\to \mathbb {R} } is a function from a real vector to a real number, then[f]:[R]n[R]{\displaystyle [f]:[\mathbb {R} ]^{n}\to [\mathbb {R} ]} is called aninterval extension off{\displaystyle f} if

[f]([x]){f(y)y[x]}.{\displaystyle [f]([\mathbf {x} ])\supseteq \{f(\mathbf {y} )\mid \mathbf {y} \in [\mathbf {x} ]\}.}

This definition of the interval extension does not give a precise result. For example, both[f]([x1,x2])=[ex1,ex2]{\displaystyle [f]([x_{1},x_{2}])=[e^{x_{1}},e^{x_{2}}]} and[g]([x1,x2])=[,]{\displaystyle [g]([x_{1},x_{2}])=[{-\infty },{\infty }]} are allowable extensions of the exponential function. Tighter extensions are desirable, though the relative costs of calculation and imprecision should be considered; in this case,[f]{\displaystyle [f]} should be chosen as it gives the tightest possible result.

Given a real expression, itsnatural interval extension is achieved by using the interval extensions of each of its subexpressions, functions, and operators.

TheTaylor interval extension (of degreek{\displaystyle k} ) is ak+1{\displaystyle k+1} times differentiable functionf{\displaystyle f} defined by

[f]([x]):=f(y)+i=1k1i!Dif(y)([x]y)i+[r]([x],[x],y),{\displaystyle [f]([\mathbf {x} ]):=f(\mathbf {y} )+\sum _{i=1}^{k}{\frac {1}{i!}}\mathrm {D} ^{i}f(\mathbf {y} )\cdot ([\mathbf {x} ]-\mathbf {y} )^{i}+[r]([\mathbf {x} ],[\mathbf {x} ],\mathbf {y} ),}

for somey[x]{\displaystyle \mathbf {y} \in [\mathbf {x} ]}, whereDif(y){\displaystyle \mathrm {D} ^{i}f(\mathbf {y} )} is thei{\displaystyle i}-th order differential off{\displaystyle f} at the pointy{\displaystyle \mathbf {y} } and[r]{\displaystyle [r]} is an interval extension of theTaylor remainder.

r(x,ξ,y)=1(k+1)!Dk+1f(ξ)(xy)k+1.{\displaystyle r(\mathbf {x} ,\xi ,\mathbf {y} )={\frac {1}{(k+1)!}}\mathrm {D} ^{k+1}f(\xi )\cdot (\mathbf {x} -\mathbf {y} )^{k+1}.}
Mean value form

The vectorξ{\displaystyle \xi } lies betweenx{\displaystyle \mathbf {x} } andy{\displaystyle \mathbf {y} } withx,y[x]{\displaystyle \mathbf {x} ,\mathbf {y} \in [\mathbf {x} ]},ξ{\displaystyle \xi } is protected by[x]{\displaystyle [\mathbf {x} ]}.Usually one choosesy{\displaystyle \mathbf {y} } to be the midpoint of the interval and uses the natural interval extension to assess the remainder.

The special case of the Taylor interval extension of degreek=0{\displaystyle k=0} is also referred to as themean value form.

Complex interval arithmetic

[edit]

An interval can be defined as a set of points within a specified distance of the center, and this definition can be extended from real numbers tocomplex numbers.[2] Another extension defines intervals as rectangles in the complex plane. As is the case with computing with real numbers, computing with complex numbers involves uncertain data. So, given the fact that an interval number is a real closed interval and a complex number is an ordered pair ofreal numbers, there is no reason to limit the application of interval arithmetic to the measure of uncertainties in computations with real numbers.[3] Interval arithmetic can thus be extended, via complex interval numbers, to determine regions of uncertainty in computing with complex numbers. One can either define complex interval arithmetic using rectangles or using disks, both with their respective advantages and disadvantages.[3]

The basic algebraic operations for real interval numbers (real closed intervals) can be extended to complex numbers. It is therefore not surprising that complex interval arithmetic is similar to, but not the same as, ordinary complex arithmetic.[3] It can be shown that, as is the case with real interval arithmetic, there is no distributivity between the addition and multiplication of complex interval numbers except for certain special cases, and inverse elements do not always exist for complex interval numbers.[3] Two other useful properties of ordinary complex arithmetic fail to hold in complex interval arithmetic: the additive and multiplicative properties, of ordinary complex conjugates, do not hold for complex interval conjugates.[3]

Interval arithmetic can be extended, in an analogous manner, to other multidimensionalnumber systems such asquaternions andoctonions, but with the expense that we have to sacrifice other useful properties of ordinary arithmetic.[3]

Interval methods

[edit]
This sectionneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources in this section. Unsourced material may be challenged and removed.(February 2018) (Learn how and when to remove this message)

The methods of classical numerical analysis cannot be transferred one-to-one into interval-valued algorithms, as dependencies between numerical values are usually not taken into account.

Rounded interval arithmetic

[edit]
Outer bounds at different level of rounding

To work effectively in a real-life implementation, intervals must be compatible with floating point computing. The earlier operations were based on exact arithmetic, but in general fast numerical solution methods may not be available for it. The range of values of the functionf(x,y)=x+y{\displaystyle f(x,y)=x+y}forx[0.1,0.8]{\displaystyle x\in [0.1,0.8]} andy[0.06,0.08]{\displaystyle y\in [0.06,0.08]} are for example[0.16,0.88]{\displaystyle [0.16,0.88]}. Where the same calculation is done with single-digit precision, the result would normally be[0.2,0.9]{\displaystyle [0.2,0.9]}. But[0.2,0.9][0.16,0.88]{\displaystyle [0.2,0.9]\not \supseteq [0.16,0.88]},so this approach would contradict the basic principles of interval arithmetic, as a part of the domain off([0.1,0.8],[0.06,0.08]){\displaystyle f([0.1,0.8],[0.06,0.08])} would be lost. Instead, the outward rounded solution[0.1,0.9]{\displaystyle [0.1,0.9]} is used.

The standardIEEE 754 for binary floating-point arithmetic also sets out procedures for the implementation of rounding. An IEEE 754 compliant system allows programmers to round to the nearest floating-point number; alternatives are rounding towards 0 (truncating), rounding toward positive infinity (i.e., up), or rounding towards negative infinity (i.e., down).

The requiredexternal rounding for interval arithmetic can thus be achieved by changing the rounding settings of the processor in the calculation of the upper limit (up) and lower limit (down). Alternatively, an appropriate small interval[ε1,ε2]{\displaystyle [\varepsilon _{1},\varepsilon _{2}]} can be added.

Dependency problem

[edit]
Approximate estimate of the value range

The so-called "dependency" problem is a major obstacle to the application of interval arithmetic. Although interval methods can determine the range of elementary arithmetic operations and functions very accurately, this is not always true with more complicated functions. If an interval occurs several times in a calculation using parameters, and each occurrence is taken independently, then this can lead to an unwanted expansion of the resulting intervals.

Treating each occurrence of a variable independently

As an illustration, take the functionf{\displaystyle f} defined byf(x)=x2+x.{\displaystyle f(x)=x^{2}+x.} The values of this function over the interval[1,1]{\displaystyle [-1,1]} are[14,2].{\displaystyle \left[-{\tfrac {1}{4}},2\right].} As the natural interval extension, it is calculated as:

[1,1]2+[1,1]=[0,1]+[1,1]=[1,2],{\displaystyle [-1,1]^{2}+[-1,1]=[0,1]+[-1,1]=[-1,2],}

which is slightly larger; we have instead calculated theinfimum and supremum of the functionh(x,y)=x2+y{\displaystyle h(x,y)=x^{2}+y} overx,y[1,1].{\displaystyle x,y\in [-1,1].} There is a better expression off{\displaystyle f} in which the variablex{\displaystyle x} only appears once, namely by rewritingf(x)=x2+x{\displaystyle f(x)=x^{2}+x} as addition and squaring in thequadratic.

f(x)=(x+12)214.{\displaystyle f(x)=\left(x+{\frac {1}{2}}\right)^{2}-{\frac {1}{4}}.}

So the suitable interval calculation is

([1,1]+12)214=[12,32]214=[0,94]14=[14,2]{\displaystyle \left([-1,1]+{\frac {1}{2}}\right)^{2}-{\frac {1}{4}}=\left[-{\frac {1}{2}},{\frac {3}{2}}\right]^{2}-{\frac {1}{4}}=\left[0,{\frac {9}{4}}\right]-{\frac {1}{4}}=\left[-{\frac {1}{4}},2\right]}

and gives the correct values.

In general, it can be shown that the exact range of values can be achieved, if each variable appears only once and iff{\displaystyle f} is continuous inside the box. However, not every function can be rewritten this way.

Wrapping effect

The dependency of the problem causing over-estimation of the value range can go as far as covering a large range, preventing more meaningful conclusions.

An additional increase in the range stems from the solution of areas that do not take the form of an interval vector. The solution set of the linear system

{x=py=pp[1,1]{\displaystyle {\begin{cases}x=p\\y=p\end{cases}}\qquad p\in [-1,1]}

is precisely the line between the points(1,1){\displaystyle (-1,-1)} and(1,1).{\displaystyle (1,1).} Using interval methods results in the unit square,[1,1]×[1,1].{\displaystyle [-1,1]\times [-1,1].} This is known as thewrapping effect.

Linear interval systems

[edit]

A linear interval system consists of a matrix interval extension[A][R]n×m{\displaystyle [\mathbf {A} ]\in [\mathbb {R} ]^{n\times m}} and an interval vector[b][R]n{\displaystyle [\mathbf {b} ]\in [\mathbb {R} ]^{n}}. We want the smallest cuboid[x][R]m{\displaystyle [\mathbf {x} ]\in [\mathbb {R} ]^{m}}, for all vectorsxRm{\displaystyle \mathbf {x} \in \mathbb {R} ^{m}} which there is a pair(A,b){\displaystyle (\mathbf {A} ,\mathbf {b} )} withA[A]{\displaystyle \mathbf {A} \in [\mathbf {A} ]} andb[b]{\displaystyle \mathbf {b} \in [\mathbf {b} ]} satisfying.

Ax=b{\displaystyle \mathbf {A} \cdot \mathbf {x} =\mathbf {b} }.

For quadratic systems – in other words, forn=m{\displaystyle n=m} – there can be such an interval vector[x]{\displaystyle [\mathbf {x} ]}, which covers all possible solutions, found simply with the interval Gauss method. This replaces the numerical operations, in that the linear algebra method known asGaussian elimination becomes its interval version. However, since this method uses the interval entities[A]{\displaystyle [\mathbf {A} ]} and[b]{\displaystyle [\mathbf {b} ]} repeatedly in the calculation, it can produce poor results for some problems. Hence using the result of the interval-valued Gauss only provides first rough estimates, since although it contains the entire solution set, it also has a large area outside it.

A rough solution[x]{\displaystyle [\mathbf {x} ]} can often be improved by an interval version of theGauss–Seidel method.The motivation for this is that thei{\displaystyle i}-th row of the interval extension of the linear equation.

([a11][a1n][an1][ann])(x1xn)=([b1][bn]){\displaystyle {\begin{pmatrix}{[a_{11}]}&\cdots &{[a_{1n}]}\\\vdots &\ddots &\vdots \\{[a_{n1}]}&\cdots &{[a_{nn}]}\end{pmatrix}}\cdot {\begin{pmatrix}{x_{1}}\\\vdots \\{x_{n}}\end{pmatrix}}={\begin{pmatrix}{[b_{1}]}\\\vdots \\{[b_{n}]}\end{pmatrix}}}

can be determined by the variablexi{\displaystyle x_{i}} if the division1/[aii]{\displaystyle 1/[a_{ii}]} is allowed. It is therefore simultaneously.

xj[xj]{\displaystyle x_{j}\in [x_{j}]} andxj[bi]kj[aik][xk][aii]{\displaystyle x_{j}\in {\frac {[b_{i}]-\sum \limits _{k\not =j}[a_{ik}]\cdot [x_{k}]}{[a_{ii}]}}}.

So we can now replace[xj]{\displaystyle [x_{j}]} by

[xj][bi]kj[aik][xk][aii]{\displaystyle [x_{j}]\cap {\frac {[b_{i}]-\sum \limits _{k\not =j}[a_{ik}]\cdot [x_{k}]}{[a_{ii}]}}},

and so the vector[x]{\displaystyle [\mathbf {x} ]} by each element.Since the procedure is more efficient for adiagonally dominant matrix, instead of the system[A]x=[b],{\displaystyle [\mathbf {A} ]\cdot \mathbf {x} =[\mathbf {b} ]{\mbox{,}}} one can often try multiplying it by an appropriate rational matrixM{\displaystyle \mathbf {M} } with the resulting matrix equation.

(M[A])x=M[b]{\displaystyle (\mathbf {M} \cdot [\mathbf {A} ])\cdot \mathbf {x} =\mathbf {M} \cdot [\mathbf {b} ]}

left to solve. If one chooses, for example,M=A1{\displaystyle \mathbf {M} =\mathbf {A} ^{-1}} for the central matrixA[A]{\displaystyle \mathbf {A} \in [\mathbf {A} ]}, thenM[A]{\displaystyle \mathbf {M} \cdot [\mathbf {A} ]} is outer extension of the identity matrix.

These methods only work well if the widths of the intervals occurring are sufficiently small. For wider intervals, it can be useful to use an interval-linear system on finite (albeit large) real number equivalent linear systems. If all the matricesA[A]{\displaystyle \mathbf {A} \in [\mathbf {A} ]} are invertible, it is sufficient to consider all possible combinations (upper and lower) of the endpoints occurring in the intervals. The resulting problems can be resolved using conventional numerical methods. Interval arithmetic is still used to determine rounding errors.

This is only suitable for systems of smaller dimension, since with a fully occupiedn×n{\displaystyle n\times n} matrix,2n2{\displaystyle 2^{n^{2}}} real matrices need to be inverted, with2n{\displaystyle 2^{n}} vectors for the right-hand side. This approach was developed by Jiri Rohn and is still being developed.[4]

Interval Newton method

[edit]
Reduction of the search area in the interval Newton step in "thick" functions.

An interval variant ofNewton's method for finding the zeros in an interval vector[x]{\displaystyle [\mathbf {x} ]} can be derived from the average value extension.[5] For an unknown vectorz[x]{\displaystyle \mathbf {z} \in [\mathbf {x} ]} applied toy[x]{\displaystyle \mathbf {y} \in [\mathbf {x} ]}, gives.

f(z)f(y)+[Jf]([x])(zy){\displaystyle f(\mathbf {z} )\in f(\mathbf {y} )+[J_{f}](\mathbf {[x]} )\cdot (\mathbf {z} -\mathbf {y} )}.

For a zeroz{\displaystyle \mathbf {z} }, that isf(z)=0{\displaystyle f(z)=0}, and thus, must satisfy.

f(y)+[Jf]([x])(zy)=0{\displaystyle f(\mathbf {y} )+[J_{f}](\mathbf {[x]} )\cdot (\mathbf {z} -\mathbf {y} )=0}.

This is equivalent tozy[Jf]([x])1f(y){\displaystyle \mathbf {z} \in \mathbf {y} -[J_{f}](\mathbf {[x]} )^{-1}\cdot f(\mathbf {y} )}.An outer estimate of[Jf]([x])1f(y)){\displaystyle [J_{f}](\mathbf {[x]} )^{-1}\cdot f(\mathbf {y} ))} can be determined using linear methods.

In each step of the interval Newton method, an approximate starting value[x][R]n{\displaystyle [\mathbf {x} ]\in [\mathbb {R} ]^{n}} is replaced by[x](y[Jf]([x])1f(y)){\displaystyle [\mathbf {x} ]\cap \left(\mathbf {y} -[J_{f}](\mathbf {[x]} )^{-1}\cdot f(\mathbf {y} )\right)} and so the result can be improved. In contrast to traditional methods, the interval method approaches the result by containing the zeros. This guarantees that the result produces all zeros in the initial range. Conversely, it proves that no zeros off{\displaystyle f} were in the initial range[x]{\displaystyle [\mathbf {x} ]} if a Newton step produces the empty set.

The method converges on all zeros in the starting region. Division by zero can lead to the separation of distinct zeros, though the separation may not be complete; it can be complemented by thebisection method.

As an example, consider the functionf(x)=x22{\displaystyle f(x)=x^{2}-2}, the starting range[x]=[2,2]{\displaystyle [x]=[-2,2]}, and the pointy=0{\displaystyle y=0}. We then haveJf(x)=2x{\displaystyle J_{f}(x)=2\,x} and the first Newton step gives.

[2,2](012[2,2](02))=[2,2]([,0.5][0.5,])=[2,0.5][0.5,2]{\displaystyle [-2,2]\cap \left(0-{\frac {1}{2\cdot [-2,2]}}(0-2)\right)=[-2,2]\cap {\Big (}[{-\infty },{-0.5}]\cup [{0.5},{\infty }]{\Big )}=[{-2},{-0.5}]\cup [{0.5},{2}]}.

More Newton steps are used separately onx[2,0.5]{\displaystyle x\in [{-2},{-0.5}]} and[0.5,2]{\displaystyle [{0.5},{2}]}. These converge to arbitrarily small intervals around2{\displaystyle -{\sqrt {2}}} and+2{\displaystyle +{\sqrt {2}}}.

The Interval Newton method can also be used withthick functions such asg(x)=x2[2,3]{\displaystyle g(x)=x^{2}-[2,3]}, which would in any case have interval results. The result then produces intervals containing[3,2][2,3]{\displaystyle \left[-{\sqrt {3}},-{\sqrt {2}}\right]\cup \left[{\sqrt {2}},{\sqrt {3}}\right]}.

Bisection and covers

[edit]
Rough estimate (turquoise) and improved estimates through "mincing" (red)

The various interval methods deliver conservative results as dependencies between the sizes of different interval extensions are not taken into account. However, the dependency problem becomes less significant for narrower intervals.

Covering an interval vector[x]{\displaystyle [\mathbf {x} ]} by smaller boxes[x1],,[xk],{\displaystyle [\mathbf {x} _{1}],\ldots ,[\mathbf {x} _{k}],} so that

[x]=i=1k[xi],{\displaystyle [\mathbf {x} ]=\bigcup _{i=1}^{k}[\mathbf {x} _{i}],}

is then valid for the range of values.

f([x])=i=1kf([xi]).{\displaystyle f([\mathbf {x} ])=\bigcup _{i=1}^{k}f([\mathbf {x} _{i}]).}

So, for the interval extensions described above the following holds:

[f]([x])i=1k[f]([xi]).{\displaystyle [f]([\mathbf {x} ])\supseteq \bigcup _{i=1}^{k}[f]([\mathbf {x} _{i}]).}

Since[f]([x]){\displaystyle [f]([\mathbf {x} ])} is often a genuinesuperset of the right-hand side, this usually leads to an improved estimate.

Such a cover can be generated by thebisection method such as thick elements[xi1,xi2]{\displaystyle [x_{i1},x_{i2}]} of the interval vector[x]=([x11,x12],,[xn1,xn2]){\displaystyle [\mathbf {x} ]=([x_{11},x_{12}],\ldots ,[x_{n1},x_{n2}])} by splitting in the center into the two intervals[xi1,12(xi1+xi2)]{\displaystyle \left[x_{i1},{\tfrac {1}{2}}(x_{i1}+x_{i2})\right]} and[12(xi1+xi2),xi2].{\displaystyle \left[{\tfrac {1}{2}}(x_{i1}+x_{i2}),x_{i2}\right].} If the result is still not suitable then further gradual subdivision is possible. A cover of2r{\displaystyle 2^{r}} intervals results fromr{\displaystyle r} divisions of vector elements, substantially increasing the computation costs.

With very wide intervals, it can be helpful to split all intervals into several subintervals with a constant (and smaller) width, a method known asmincing. This then avoids the calculations for intermediate bisection steps. Both methods are only suitable for problems of low dimension.

Application

[edit]

Interval arithmetic can be used in various areas (such asset inversion,motion planning,set estimation, or stability analysis) to treat estimates with no exact numerical value.[6]

Rounding error analysis

[edit]

Interval arithmetic is used with error analysis, to control rounding errors arising from each calculation. The advantage of interval arithmetic is that after each operation there is an interval that reliably includes the true result. The distance between the interval boundaries gives the current calculation of rounding errors directly:

Error =abs(ab){\displaystyle \mathrm {abs} (a-b)} for a given interval[a,b]{\displaystyle [a,b]}.

Interval analysis adds to rather than substituting for traditional methods for error reduction, such aspivoting.

Tolerance analysis

[edit]

Parameters for which no exact figures can be allocated often arise during the simulation of technical and physical processes. The production process of technical components allows certain tolerances, so some parameters fluctuate within intervals. In addition, many fundamental constants are not known precisely.[1]

If the behavior of such a system affected by tolerances satisfies, for example,f(x,p)=0{\displaystyle f(\mathbf {x} ,\mathbf {p} )=0}, forp[p]{\displaystyle \mathbf {p} \in [\mathbf {p} ]} and unknownx{\displaystyle \mathbf {x} } then the set of possible solutions.

{x|p[p],f(x,p)=0}{\displaystyle \{\mathbf {x} \,|\,\exists \mathbf {p} \in [\mathbf {p} ],f(\mathbf {x} ,\mathbf {p} )=0\}},

can be found by interval methods. This provides an alternative to traditionalpropagation of error analysis. Unlike point methods, such asMonte Carlo simulation, interval arithmetic methodology ensures that no part of the solution area can be overlooked. However, the result is always a worst-case analysis for the distribution of error, as other probability-based distributions are not considered.

Fuzzy interval arithmetic

[edit]
Approximation of thenormal distribution by a sequence of intervals

Interval arithmetic can also be used with affiliation functions for fuzzy quantities as they are used infuzzy logic. Apart from the strict statementsx[x]{\displaystyle x\in [x]} andx[x]{\displaystyle x\not \in [x]}, intermediate values are also possible, to which real numbersμ[0,1]{\displaystyle \mu \in [0,1]} are assigned.μ=1{\displaystyle \mu =1} corresponds to definite membership whileμ=0{\displaystyle \mu =0} is non-membership. A distribution function assigns uncertainty, which can be understood as a further interval.

Forfuzzy arithmetic[7] only a finite number of discrete affiliation stagesμi[0,1]{\displaystyle \mu _{i}\in [0,1]} are considered. The form of such a distribution for an indistinct value can then be represented by a sequence of intervals.

[x(1)][x(2)][x(k)].{\displaystyle \left[x^{(1)}\right]\supset \left[x^{(2)}\right]\supset \cdots \supset \left[x^{(k)}\right].}

The interval[x(i)]{\displaystyle \left[x^{(i)}\right]} corresponds exactly to the fluctuation range for the stageμi.{\displaystyle \mu _{i}.}

The appropriate distribution for a functionf(x1,,xn){\displaystyle f(x_{1},\ldots ,x_{n})} concerning indistinct valuesx1,,xn{\displaystyle x_{1},\ldots ,x_{n}} and the corresponding sequences.

[x1(1)][x1(k)],,[xn(1)][xn(k)]{\displaystyle \left[x_{1}^{(1)}\right]\supset \cdots \supset \left[x_{1}^{(k)}\right],\ldots ,\left[x_{n}^{(1)}\right]\supset \cdots \supset \left[x_{n}^{(k)}\right]}

can be approximated by the sequence.

[y(1)][y(k)],{\displaystyle \left[y^{(1)}\right]\supset \cdots \supset \left[y^{(k)}\right],}

where

[y(i)]=f([x1(i)],[xn(i)]){\displaystyle \left[y^{(i)}\right]=f\left(\left[x_{1}^{(i)}\right],\ldots \left[x_{n}^{(i)}\right]\right)}

and can be calculated by interval methods. The value[y(1)]{\displaystyle \left[y^{(1)}\right]} corresponds to the result of an interval calculation.

Computer-assisted proof

[edit]

Warwick Tucker used interval arithmetic in order to solve the 14th ofSmale's problems, that is, to show that theLorenz attractor is astrange attractor.[8]Thomas Hales used interval arithmetic in order to solve theKepler conjecture.

History

[edit]

Interval arithmetic is not a completely new phenomenon in mathematics; it has appeared several times under different names in the course of history. For example,Archimedes calculated lower and upper bounds 223/71 <π < 22/7 in the 3rd century BC. Actual calculation with intervals has neither been as popular as other numerical techniques nor been completely forgotten.

Rules for calculating with intervals and other subsets of the real numbers were published in a 1931 work by Rosalind Cicely Young.[9] Arithmetic work on range numbers to improve the reliability of digital systems was then published in a 1951 textbook on linear algebra byPaul S. Dwyer [de];[10] intervals were used to measure rounding errors associated with floating-point numbers. A comprehensive paper on interval algebra in numerical analysis was published by Teruo Sunaga (1958).[11]

The birth of modern interval arithmetic was marked by the appearance of the bookInterval Analysis byRamon E. Moore in 1966.[12][13] He had the idea in spring 1958, and a year later he published an article about computer interval arithmetic.[14] Its merit was that starting with a simple principle, it provided a general method for automated error analysis, not just errors resulting from rounding.

Independently in 1956,Mieczyslaw Warmus suggested formulae for calculations with intervals,[15] though Moore found the first non-trivial applications.

In the following twenty years, German groups of researchers carried out pioneering work aroundUlrich W. Kulisch[16][17] andGötz Alefeld [de][18] at theUniversity of Karlsruhe and later also at theBergische University of Wuppertal.For example,Karl Nickel [de] explored more effective implementations, while improved containment procedures for the solution set of systems of equations were due to Arnold Neumaier among others. In the 1960s,Eldon R. Hansen dealt with interval extensions for linear equations and then provided crucial contributions to global optimization, including what is now known as Hansen's method, perhaps the most widely used interval algorithm.[5] Classical methods in this often have the problem of determining the largest (or smallest) global value, but could only find a local optimum and could not find better values; Helmut Ratschek and Jon George Rokne developedbranch and bound methods, which until then had only applied to integer values, by using intervals to provide applications for continuous values.

In 1988, Rudolf Lohner developedFortran-based software for reliable solutions for initial value problems usingordinary differential equations.[19]

The journalReliable Computing (originallyInterval Computations) has been published since the 1990s, dedicated to the reliability of computer-aided computations. As lead editor, R. Baker Kearfott, in addition to his work on global optimization, has contributed significantly to the unification of notation and terminology used in interval arithmetic.[20]

In recent years work has concentrated in particular on the estimation ofpreimages of parameterized functions and to robust control theory by the COPRIN working group ofINRIA inSophia Antipolis in France.[21]

Implementations

[edit]

There are many software packages that permit the development of numerical applications using interval arithmetic.[22] These are usually provided in the form of program libraries. There are alsoC++ and Fortrancompilers that handle interval data types and suitable operations as a language extension, so interval arithmetic is supported directly.

Since 1967,Extensions for Scientific Computation (XSC) have been developed in theUniversity of Karlsruhe for variousprogramming languages, such as C++, Fortran, andPascal.[23] The first platform was aZuseZ23, for which a new interval data type with appropriate elementary operators was made available. There followed in 1976,Pascal-SC, a Pascal variant on aZilog Z80 that it made possible to create fast, complicated routines for automated result verification. Then came theFortran 77-based ACRITH-XSC for theSystem/370 architecture (FORTRAN-SC), which was later delivered by IBM. Starting from 1991 one could produce code forC compilers withPascal-XSC; a year later the C++ class library supported C-XSC on many different computer systems. In 1997, all XSC variants were made available under theGNU General Public License. At the beginning of 2000, C-XSC 2.0 was released under the leadership of the working group for scientific computation at theBergische University of Wuppertal to correspond to the improved C++ standard.

Another C++-class library was created in 1993 at theHamburg University of Technology calledProfil/BIAS (Programmer's Runtime Optimized Fast Interval Library, Basic Interval Arithmetic), which made the usual interval operations more user-friendly. It emphasized the efficient use of hardware, portability, and independence of a particular presentation of intervals.

TheBoost collection of C++ libraries contains a template class for intervals. Its authors are aiming to have interval arithmetic in the standard C++ language.[24]

TheFrink programming language has an implementation of interval arithmetic that handlesarbitrary-precision numbers. Programs written in Frink can use intervals without rewriting or recompilation.

GAOL[25] is another C++ interval arithmetic library that is unique in that it offers the relational interval operators used in intervalconstraint programming.

The Moore library[26] is an efficient implementation of interval arithmetic in C++. It provides intervals with endpoints of arbitrary precision and is based on theconcepts feature of C++.

TheJulia programming language[27] has an implementation of interval arithmetics along with high-level features, such asroot-finding (for both real and complex-valued functions) and intervalconstraint programming, via the ValidatedNumerics.jl package.[28]

In addition, computer algebra systems, such asEuler Mathematical Toolbox,FriCAS,Maple,Mathematica,Maxima[29] andMuPAD, can handle intervals. AMatlab extensionIntlab[30] builds onBLAS routines, and the toolbox b4m makes a Profil/BIAS interface.[30][31]

A library for the functional languageOCaml was written in assembly language and C.[32]

IEEE 1788 standard

[edit]

A standard for interval arithmetic, IEEE Std 1788-2015, has been approved in June 2015.[33] Two reference implementations are freely available.[34] These have been developed by members of the standard's working group: The libieeep1788[35] library for C++, and the interval package[36] forGNU Octave.

A minimal subset of the standard, IEEE Std 1788.1-2017, has been approved in December 2017 and published in February 2018. It should be easier to implement and may speed production of implementations.[37]

Conferences and workshops

[edit]

Several international conferences or workshops take place every year in the world. The main conference is probably SCAN (International Symposium on Scientific Computing, Computer Arithmetic, and Verified Numerical Computation), but there is also SWIM (Small Workshop on Interval Methods), PPAM (International Conference on Parallel Processing and Applied Mathematics), REC (International Workshop on Reliable Engineering Computing).

See also

[edit]

References

[edit]
  1. ^abDreyer, Alexander (2003).Interval Analysis of Analog Circuits with Component Tolerances. Aachen, Germany:Shaker Verlag. p. 15.ISBN 3-8322-4555-3.
  2. ^Complex interval arithmetic and its applications,Miodrag S. Petković, Ljiljana D. Petković,Wiley-VCH, 1998,ISBN 978-3-527-40134-5
  3. ^abcdefHend Dawood (2011).Theories of Interval Arithmetic: Mathematical Foundations and Applications. Saarbrücken: LAP LAMBERT Academic Publishing.ISBN 978-3-8465-0154-2.
  4. ^"Jiri Rohn, List of publications". Archived fromthe original on 2008-11-23. Retrieved2008-05-26.
  5. ^abWalster, G. William;Hansen, Eldon Robert (2004).Global Optimization using Interval Analysis (2nd ed.). New York, USA: Marcel Dekker.ISBN 0-8247-4059-9.
  6. ^Jaulin, Luc; Kieffer, Michel; Didrit, Olivier; Walter, Eric (2001).Applied Interval Analysis. Berlin: Springer.ISBN 1-85233-219-0.
  7. ^Application of Fuzzy Arithmetic to Quantifying the Effects of Uncertain Model Parameters, Michael Hanss,University of Stuttgart
  8. ^Tucker, Warwick (1999). The Lorenz attractor exists. Comptes Rendus de l'Académie des Sciences-Series I-Mathematics, 328(12), 1197-1202.
  9. ^Young, Rosalind Cicely (1931). The algebra of many-valued quantities. Mathematische Annalen, 104(1), 260-290. (NB. A doctoral candidate at theUniversity of Cambridge.)
  10. ^Dwyer, Paul Sumner (1951). Linear computations. Oxford, England: Wiley. (University of Michigan)
  11. ^Sunaga, Teruo (1958). "Theory of interval algebra and its application to numerical analysis".RAAG Memoirs (2):29–46.
  12. ^Moore, Ramon Edgar (1966).Interval Analysis. Englewood Cliff, New Jersey, USA:Prentice-Hall.ISBN 0-13-476853-1.
  13. ^Cloud, Michael J.;Moore, Ramon Edgar; Kearfott, R. Baker (2009).Introduction to Interval Analysis. Philadelphia:Society for Industrial and Applied Mathematics (SIAM).ISBN 978-0-89871-669-6.
  14. ^Hansen, Eldon Robert (2001-08-13)."Publications Related to Early Interval Work of R. E. Moore". University of Louisiana at Lafayette Press. Retrieved2015-06-29.
  15. ^Precursory papers on interval analysis byMieczyslaw WarmusArchived 2008-04-18 at theWayback Machine
  16. ^Kulisch, Ulrich W. (1989).Wissenschaftliches Rechnen mit Ergebnisverifikation. Eine Einführung (in German). Wiesbaden:Vieweg-Verlag.ISBN 3-528-08943-1.
  17. ^Kulisch, Ulrich W. (1969). "Grundzüge der Intervallrechnung". In Laugwitz, Detlef (ed.).Jahrbuch Überblicke Mathematik (in German). Vol. 2. Mannheim, Germany:Bibliographisches Institut. pp. 51–98.
  18. ^Alefeld, Götz[in German]; Herzberger, Jürgen (1974).Einführung in die Intervallrechnung. Reihe Informatik (in German). Vol. 12. Mannheim, Wien, Zürich:B.I.-Wissenschaftsverlag.ISBN 3-411-01466-0.
  19. ^Bounds for ordinary differential equations of Rudolf LohnerArchived 11 May 2018 at theWayback Machine (in German)
  20. ^Bibliography of R. Baker Kearfott,University of Louisiana at Lafayette
  21. ^Introductory Film (mpeg) of theCOPRIN teams ofINRIA,Sophia Antipolis
  22. ^Software for Interval ComputationsArchived 2006-03-02 at theWayback Machine collected byVladik Kreinovich,University of Texas at El Paso.
  23. ^History of XSC-LanguagesArchived 2007-09-29 at theWayback Machine
  24. ^A Proposal to add Interval Arithmetic to the C++ Standard Library
  25. ^Gaol is Not Just Another Interval Arithmetic Library
  26. ^Moore: Interval Arithmetic in Modern C++
  27. ^The Julia programming language
  28. ^ValidatedNumerics.jl
  29. ^[1] Interval Arithmetic for Maxima: A Brief Summary by Richard J. Fateman.]
  30. ^ab"Intlab INTerval LABoratory". Archived fromthe original on 2020-01-30. Retrieved2012-11-07.
  31. ^b4m
  32. ^Alliot, Jean-Marc; Gotteland, Jean-Baptiste; Vanaret, Charlie; Durand, Nicolas; Gianazza, David (2012).Implementing an interval computation library for OCaml on x86/amd64 architectures. 17th ACM SIGPLAN International Conference on Functional Programming.
  33. ^IEEE Standard for Interval Arithmetic
  34. ^Nathalie Revol (2015). The (near-)future IEEE 1788 standard for interval arithmetic,slides // SWIM 2015: 8th Small Workshop in Interval Methods. Prague, 9–11 June 2015
  35. ^C++ implementation of the preliminary IEEE P1788 standard for interval arithmetic
  36. ^GNU Octave interval package
  37. ^"IEEE Std 1788.1-2017 - IEEE Standard for Interval Arithmetic (Simplified)".IEEE Standard. IEEE Standards Association. 2017. Archived fromthe original on 2018-02-07. Retrieved2018-02-06.

Further reading

[edit]

External links

[edit]
Uninterpreted
Numeric
Pointer
Text
Composite
Other
Related
topics
Retrieved from "https://en.wikipedia.org/w/index.php?title=Interval_arithmetic&oldid=1286994214"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp