C++ Interval Arithmetic Programming Reference HomeContentsPreviousNextIndex


Glossary

affirmative relation
An order relation other than certainly, possibly, or set not equal. Affirmative relations affirm something, such as a < b.
affirmative relational functions
An affirmative relational function is an element of the set: {<, , =, , >}.
anti-affirmative relation
An anti-affirmative relation is a statement about what cannot be true. The order relation is the only anti-affirmative relation in C++.
anti-affirmative relational function
The C++ != operator implements the anti-affirmative relation. The certainly, possible, and set functions for interval arguments are denoted cne, pne, and sne, respectively.
assignment statement
An interval assignment statement is a C++ statement having the form: V = expression. The left-hand side of the assignment statement is the interval variable or array element V.
certainly true
relational function
See relational functions: certainly true.
closed interval
A closed interval includes its endpoints. A closed interval is a closed set. The interval [2, 3] = {z | 2 z 3} is closed, because its endpoints are included. The interval (2, 3) = {z | 2 < z < 3} is open, because its endpoints are not included. Interval arithmetic, as implemented in C++, only deals with closed intervals.
closed mathematical system
In a closed mathematical system, there can be no undefined operator-operand combinations. All defined operations on elements of a closed system must produce elements of the system. The real number system is not closed, because division by zero is undefined in this system.
closed set
A closed set contains all limit or accumulation points in the set. That is, given the set, S, and sequences, , the closure of S is , where denotes an accumulation or limit point of the sequence {sj}.
The set of real numbers is the open set {z | - < z < +}, because it does not include - and +. The set of extended real numbers, , is closed.
closure-composition equality
Given the expressions f, g, and h, with
,
the closure-composition equality states that
.
The closure of at the point x0 is equal to the composition of its component's closures, and .
closure of expression
The closure of the expression f of n-variables, evaluated over the set is denoted , and for is defined:
For .
The accumulation points, xj, of all sequences, { }, are elements of the set, X0. The closure of f is the set of all possible accumulation points of f given the conditions on the right-hand side of the above defining expression are satisfied.
is defined for all .
connected set
The connected set of numbers between and including two values, a b, contains all the values between and including a and b.
composite expression
Forming a new expression, f, (the composite expression) from the given expressions, g and h by the rule f({ }) = g(h({ })) for all singleton sets, { } = {x1 {xn} in the domain of h for which h is in the domain of g. Singleton set arguments connote the fact that expressions can be either functions or relations.
containment constraint
The containment constraint on the interval evaluation, f([x]), of the expression, f, at the degenerate interval, [x], is:
f([x]) cset(f,{x}),
where cset(f,{x}) denotes the containment set of all possible values that f([x]) must contain. Because the containment set, cset(x ÷ y, {(1, 0)}) = {-, +}, [1] / [0] = hull({-, +}) = [-, +]. See also containment set.
containment failure
A containment failure is a failure to satisfy the containment constraint. For example, a containment failure results if [1]/[0] is defined to be [empty]. This can be seen by considering the interval expression
for X=[0] and Y, given . The containment set of the first expression is [0]. However, if [1]/[0] is defined to be [empty], the second expression is also [empty]. This is a containment failure.
containment set
The containment set, cset(h, {x}), of the expression h is the smallest set that does not violate the containment constraint when h is used as a component of any composition, f({x}) = g(h({x}), {x}).
For h(x, y) = x ÷ y,
cset(h, {(+, +)}) = [0, +].
See also cset(expression, set).
containment set closure identity
Given any expression f({x}) = f({x1} {xn}) of n-variables and the point, x0, then cset(f, {x0}) = f({x0}), the closure of f at the point, x0.
containment set equivalent
Two expressions are containment-set equivalent if their containment sets are everywhere identical.
containment set evaluation theorem
Let eval(f, {x}) denote the code-list evaluation of the expression f, using individual composition closures to compute the value of every sub-expression, whether it is the value of an operation, function, or relation. Given the expression, f({x}) = f({x1} {xn}), whether f is a function or a relation, then for all , cset(f, {x0}) eval(f, {x0}).
cset(expression, set)
The notation, cset(expression, set), is used to symbolically represent the containment set of an expression evaluated over a set of arguments. For example, for the expression, f(x, y) = xy, the containment constraint that the interval expression [0] × [+] must satisfy is
[0] × [+] cset(x × y, {(0,+)}) = [-, +].
degenerate interval
A degenerate interval is a zero-width interval. A degenerate interval is a singleton set, the only element of which is a point. In most cases, a degenerate interval can be thought of as a point. For example, the interval [2, 2] is degenerate, and the interval [2, 3] is not.
directed rounding
Directed rounding is rounding in a particular direction. In the context of interval arithmetic, rounding up is towards +, and rounding down is towards -. The direction of rounding is symbolized by the arrows, and . Therefore, with 5-digit arithmetic, 2.00001 = 2.0001. Directed rounding is used to implement interval arithmetic on computers so that the containment constraint is never violated.
disjoint interval
Two disjoint intervals have no elements in common. The intervals [2, 3] and [4, 5] are disjoint. The intersection of two disjoint intervals is the empty interval.
empty interval
The empty interval, [empty], is the interval with no members. The empty interval naturally occurs as the intersection of two disjoint intervals. For example, [2, 3]  [4,5] = [empty].
empty set
The empty set, , is the set with no members. The empty set naturally occurs as the intersection of two disjoint sets. For example, {2, 3} {4, 5} = .
ev(SRIC)
The notation ev(SRIC) is used to denote the external value defined by a SRIC. For example, ev("[0.1]") = 1/10, in spite of the fact that a non-degenerate interval approximation of 0.1 must be used, because the constant 0.1 is not machine representable. See also string representation of an interval constant (SRIC).
exception
In the IEEE 754 floating-point standard, an exception occurs when an attempt is made to perform an undefined operation, such as division by zero.
exchangeable expression
Two expressions are exchangeable if they are containment-set equivalent (their containment sets are everywhere identical).
extended interval
The term extended interval refers to intervals whose endpoints can be extended real numbers, including - and +. For completeness, the empty interval is also included in the set of extended real intervals.
external representation
The external representation of a C++ data item is the character string used to define it during input data conversion, or the character string used to display it after output data conversion.
external value
The external value of a SRIC is the mathematical value defined by the SRIC. The external value of a SRIC might not be the same as the SRIC's internal approximation, which, in C++, is the only defined value of the SRIC. See also ev(SRIC).
hull
See interval hull.
infimum
(plural, infima)
The infimum of a set of numbers is the set's greatest lower bound. This is either the smallest number in the set or the largest number that is less than all the numbers in the set. The infimum, inf([a, b]), of the interval constant [a, b] is a.
interval algorithm
An interval algorithm is a sequence of operations used to compute an interval result.
internal approximation
In the C++ interval class, an interval constant is represented using a string. The string representation of an interval constant (or SRIC) has an internal approximation, which is the sharp internal approximation of the SRIC's external value. The external value is an interval constant. See also string representation of an interval constant (SRIC)
interval arithmetic
Interval arithmetic is the system of arithmetic used to compute with intervals.
interval box
An interval box is a parallelepiped with sides parallel to the n-dimensional Cartesian coordinate axes. An interval box is conveniently represented using an n-dimensional interval vector, X = (X1, . . ., Xn)T.
interval constant
An interval constant is the closed connected set: [a, b] ={z | a z b} defined by the pair of numbers, a b.
interval constant's external value
See external value.
interval
constant's internal approximation
See internal approximation.
interval hull
The interval hull function, , on a pair of intervals , is the smallest interval that contains both X and Y (also represented as ). For example,
[2, 3] [5, 6] = [2, 6].
interval-specific function
In the C++ interval class, an interval-specific function is an interval function that is not an interval version of a standard C++ function. For example, wid, mid, inf, and sup, are interval-specific functions.
interval width
Interval width, w([a, b]) = b - a.
left endpoint
The left endpoint of an interval is the same as its infimum or lower bound.
literal constant
No literal constant construct for user-defined objects is provided in C++ classes. Therefore, a string representation of a literal constant (or SRIC) is used instead. See also string representation of an interval constant (SRIC).
lower bound
See infimum (plural, infima).
mantissa
When written in scientific notation, a number consists of a mantissa or significand and an exponent power of 10.
multiple-use expression (MUE)
A multiple-use expression (MUE) is an expression in which at least one independent variable appears more than once.
narrow-width interval
Let the interval [a, b] be an approximation of the value . If w[ab] = a, is small, [a, b] is a narrow-width interval. The narrower the width of the interval [a, b], the more accurately [a, b] approximates . See also sharp interval result.
opaque data type
An opaque data type leaves the structure of internal approximations unspecified. interval data items are opaque. Therefore, programmers cannot count on interval data items being internally represented in any particular way. The intrinsic functions inf and sup provide access to the components of an interval. The interval constructor can be used to manually construct any valid interval.
point
A point (as opposed to an interval), is a number. A point in n-dimensional space, is represented using an n-dimensional vector, x = (x1, . . . , xn)T. A point and a degenerate interval, or interval vector, can be thought of as the same. Strictly, any interval is a set, the elements of which are points.
possibly true relational functions
See relational functions: possibly true.
quality of implementation
Quality of implementation, is a phrase used to characterize properties of compiler support for intervals. Narrow width is a new quality of implementation opportunity provided by intrinsic compiler support for interval data types.
radix conversion
Radix conversion is the process of converting back and forth between external decimal numbers and internal binary numbers. Radix conversion takes place in formatted and list-directed input/output. Because the same numbers are not always representable in the binary and decimal number systems, guaranteeing containment requires directed rounding during radix conversion.
relational functions: certainly true
The certainly true relational functions are {clt, cle, ceq, cne, cge, cgt}. Certainly true relational functions are true if the relation in question is true for all elements in the operand intervals. That is cop ([a, b], [c, d]) = true if op(xy) = true for all .
For example, clt([a, b], [c, d]) evaluates to true if b < c.
relational functions: possibly true
The possibly true relational functions are {plt, ple, peq, pne, pge, pgt}. Possibly true relational functions are true if the relation in question is true for any elements in operand intervals. For example, plt([a, b], [c, d]) if a < d.
relational functions: set
The set relational functions are {slt, sle, seq, sne, sge, sgt}. Set relational functions are true if the relation in question is true for the endpoints of the intervals. For example, seq([a, b], [c, d]) evaluates to true if (a = c) and (b = d).
right endpoint
See supremum (plural, suprema).
set theoretic
Set theoretic is the means of or pertaining to the algebra of sets.
sharp interval result
A sharp interval result has a width that is as narrow as possible. A sharp interval result is equal to the hull of the expression's containment. Given the limitations imposed by a particular finite precision arithmetic, a sharp interval result is the narrowest possible finite precision interval that contains the expression's containment set.
single-number
input/output
Single-number input/output, uses the single-number external representation for an interval, in which the interval [-1, +1]uld is implicitly added to the last displayed digit. The subscript uld is an acronym for unit in the last digit. For example 0.12300 represents the interval 0.12300 + [-1, +1]uld = [0.12299, 0.12301].
single-number interval data conversion
Single-number interval data conversion is used to read and display external intervals using the single-number representation. See single-number input/output.
single-use expression (SUE)
A single-use expression (SUE) is an expression in which each variable only occurs once. For example
is a single use expression, whereas
is not.
string representation of an interval constant (SRIC)
In C++, it is possible to define variables of a class type, but not literal constants. So that a literal interval constant can be represented, the C++ interval class uses a string to represent an interval constant. A string representation of an interval constant (SRIC), such as "[0.1,0.2]", is the character string that represents a literal interval constant. See Section 2.1.1 String Representation of an Interval Constant (SRIC).
SRIC's external value
In the C++ interval class, a literal interval constant is represented using a string. This is referred to as the string representation of an interval constant, or SRIC. The external value of a SRIC, or ev(SRIC), is the exact mathematical value the SRIC represents. For example, the SRIC "[0.1]" has the external value: ev("[0.1]") = 1/10. See also string representation of an interval constant (SRIC).
SRIC's internal approximation
In the C++ interval class, a literal interval constant is represented using a string. This is referred to as the string representation of an interval constant, or SRIC. The internal approximation of a SRIC, is the sharp machine representable interval that contains the SRIC's external value. For example, the internal approximation of the SRIC "[0.1]" is the narrowest possible machine representable interval that contains the SRIC's external value, which, in this case, is ev("[0.1]") = 1/10. See also string representation of an interval constant (SRIC).
supremum
(plural, suprema)
The supremum of a set of numbers is the set's least upper bound, which is either the largest number in the set or the smallest number that is greater than all the numbers in the set. The supremum, sup([a, b]), of the interval constant [a, b] is b.
unit in the last digit (uld)
In single number input/output, one unit in the last digit (uld) is added to and subtracted from the last displayed digit to implicitly construct an interval.
unit in the last place (ulp)
One unit in the last place (ulp) of an internal machine number is the smallest possible increment or decrement that can be made using the machine's arithmetic. Therefore, if the width of a computed interval is 1-ulp, this is the narrowest possible non-degenerate interval with a given type.
upper bound
See supremum (plural, suprema).
valid interval result
A valid interval result, [a, b] must satisfy two requirements:

  • a b
  • [a, b] must not violate the containment constraint

Sun Microsystems, Inc.
Copyright information. All rights reserved.
Feedback
Library   |   Contents   |   Previous   |   Next   |   Index