IntervalArithmetic

Namespace

JXG.Math.IntervalArithmetic namespace. Interval arithmetic is a technique used to mitigate rounding and measurement errors in mathematical computation by computing function bounds. Instead of representing a value as a single number, interval arithmetic represents each value as a range.

For example, we wish to calculate the area of a rectangle from direct measurements using a standard meter stick with an uncertainty of 0.0005 m (half the “least count measurement” of 1 mm). We measure one side nominally as L=1, so 0.9995 ≤ L ≤ 1.0005, the other nominally as W=2 so the interval is [1.9995, 2.0005].

let L = JXG.Math.IntervalArithmetic.Interval(0.9995, 1.0005)
let W = JXG.Math.IntervalArithmetic.Interval(1.9995, 2.0005)

let A = JXG.Math.IntervalArithmetic.mul(L, W)

console.log('area:', A) // {hi: 2.0015002500000003, lo: 1.99850025}
Methods

Own

(static) abs(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1072

(static) acos(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1251

(static) acot(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1265

(static) add(x, y)

Addition

Parameters

Name Type Description
x JXG.Math.Interval | Number
y JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 337

(static) asin(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1237

(static) atan(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1276

(static) cos(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1154

(static) cosh(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1298

(static) difference(x, y)

Difference of overlapping intervals x and y

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1026

(static) div(x, y)

Division

Parameters

Name Type Description
x JXG.Math.Interval | Number
y JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 475

(private, static) divNegative(x, y)

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 668

(private, static) divNonZero(x, y)

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 603

(private, static) divPositive(x, y)

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 644

(private, static) divZero(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 691

(static) equal(x, y)

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

Boolean

Details

Source
math/ia.js, line 1331

(static) exp(x)

Parameters

Name Type Description
x JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 905

(static) fmod(x, y)

x mod y: x - n * y

Parameters

Name Type Description
x JXG.Math.Interval | Number
y JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 707

(static) geq(x, y)

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

Boolean

Details

Source
math/ia.js, line 1416

(static) gt(x, y)

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

Boolean

Details

Source
math/ia.js, line 1380

(static) hasInterval(x, y)

Test if interval x contains interval y.

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

Boolean

Details

Source
math/ia.js, line 574

(static) hasValue(i, value)

Test if interval contains a specific value.

Parameters

Name Type Description
i JXG.Math.Interval
value Number

Returns

Boolean

Details

Source
math/ia.js, line 561

(static) hull(x, y)

Hull of intervals x and y

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 973

(static) intersection(x, y)

Intersection of intervals x and y

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 994

(static) intervalsOverlap(x, y)

Test if intervals x and y have non-zero intersection.

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

Boolean

Details

Source
math/ia.js, line 587

(static) isEmpty(i)

Test if interval is empty set.

Parameters

Name Type Description
i JXG.Math.Interval

Returns

Boolean

Details

Source
math/ia.js, line 533

(static) isWhole(i)

Test if interval is (-Infinity, Infinity).

Parameters

Name Type Description
i JXG.Math.Interval

Returns

Boolean

Details

Source
math/ia.js, line 542

(static) leq(x, y)

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

Boolean

Details

Source
math/ia.js, line 1398

(static) ln(x)

Natural log, alias for JXG.Math.IntervalArithmetic#log.

Parameters

Name Type Description
x JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 937

(static) log(x)

Natural log

Parameters

Name Type Description
x JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 920

(static) log10(x)

Logarithm to base 10.

Parameters

Name Type Description
x JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 948

(static) log2(x)

Logarithm to base 2.

Parameters

Name Type Description
x JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 960

(static) lt(x, y)

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

Boolean

Details

Source
math/ia.js, line 1362

(static) max(x, y)

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1093

(static) min(x, y)

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1113

(static) mul(x, y)

Multiplication

Parameters

Name Type Description
x JXG.Math.Interval | Number
y JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 371

(static) multiplicativeInverse(x)

1 / x

Parameters

Name Type Description
x JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 734

(static) negative(x)

Return -x

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 517

(static) notEqual(x, y)

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

Boolean

Details

Source
math/ia.js, line 1350

(static) nthRoot(x, n)

x1/n

Parameters

Name Type Description
x JXG.Math.Interval | Number
n Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 849

(static) positive(x)

Return +x (i.e. identity)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 507

(static) pow(x, power)

xpower

Parameters

Name Type Description
x JXG.Math.Interval | Number
power JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 767

(static) sin(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1201

(static) sinh(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1287

(static) sqrt(x)

sqrt(x)

Parameters

Name Type Description
x JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 836

(static) sub(x, y)

Subtraction

Parameters

Name Type Description
x JXG.Math.Interval | Number
y JXG.Math.Interval | Number

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 354

(static) tan(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1212

(static) tanh(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1315

(static) union(x, y)

Union of overlapping intervals x and y

Parameters

Name Type Description
x JXG.Math.Interval
y JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1013

(static) width(x)

Parameters

Name Type Description
x JXG.Math.Interval

Returns

JXG.Math.Interval

Details

Source
math/ia.js, line 1061

(static) zeroIn(i)

Test if interval contains 0.

Parameters

Name Type Description
i JXG.Math.Interval

Returns

Boolean

Details

Source
math/ia.js, line 551

Inherited

none

Details

IntervalArithmetic

Source
math/ia.js, line 287