AIntervalCategory RΒΆ
ainterval.spad line 74 [edit on github]
R: OrderedRing
AIntervalCategory(R) exports operations that can be done with intervals. Although these operations should be similar to the arithmetic operations of a Ring, we do not export Ring, since the ring axioms are not fulfilled.
- 0: %
0 is interval(0,0).
- 1: %
1 is interval(1,1).
- *: (%, %) -> %
x*ycreates an interval such that for anyuandvwith contains?(x,u) and contains?(y,v) it holds contains?(x*y,u*v).
- *: (Integer, %) -> %
z*xcreates the interval[z * inf x, z * sup x].
- *: (PositiveInteger, %) -> %
z*xcreates the interval[z * inf x, z * sup x].
- *: (R, %) -> %
r*xcreates the interval[r * inf x, r * sup x].
- +: (%, %) -> %
x+ycreates the interval[inf x + inf y, sup x + sup y]. x+y creates an interval such that for anyuandvwith contains?(x,u) and contains?(y,v) it holds contains?(x+y,u+v).
- +: (%, R) -> %
x+rcreates the interval[inf x + r, sup x + x].
- -: % -> %
-xcreates the interval[- sup x, - inf x].
- -: (%, %) -> %
x-ycreates the intervalx+(-y).
- /: (%, %) -> % if R has Field
x/yreturns x*inv(y). If positive?(x) and positive?(y), then this is equal to interval(inf(x)/sup(y),sup(x)/inf(y)).
- =: (%, %) -> %
x=yreturnstrueiff inf(x)=inf(y) and sup(x)=sup(y).- =: (%, %) -> Boolean
from BasicType
- ^: (%, NonNegativeInteger) -> %
x^nreturns interval(1,1) ifxis not zero andn=0. Otherwise it creates an interval such that for anyuandvwith contains?(x,u) it holds contains?(x^n,u^n).
- ^: (%, PositiveInteger) -> %
x^ncreates an interval such that for anyuandvwith contains?(x,u) it holds contains?(x^n,u^n).
- abs: % -> %
abs(x)returns the tightest interval such that for allrwith contains?(x,r) it holds contains?(abs(x),abs(r)).
- coerce: % -> List R
coerce(x)returns [inf(x),sup(x)].- coerce: % -> OutputForm
from CoercibleTo OutputForm
- contains?: (%, %) -> Boolean
contains?(x,y)returnstrueifinf(x)<=inf(y)andsup(y)<=sup(x)andfalseotherwise.
- contains?: (%, R) -> Boolean
contains?(x,r)returnstrueifinf(x)<=r<=sup(x)andfalseotherwise.
- error?: % -> Boolean
error?(x)returnstrueif the lower bound is bigger than the upper bound. That can happen it such an interval is created by the qinterval function.
- inf: % -> R
inf(x)returns the infinum ofx.
- interval: (R, R) -> %
interval(x,y)creates a new interval[x,y], ifx<=yand $[y,x], ify<x.
- inv: % -> % if R has Field
inv(x)returns interval(1/sup(x),1/inf(x)) if not contains?(x,0). It is an error, if the interval contains 0.
- latex: % -> String
from SetCategory
- negative?: % -> Boolean
negative?(u)returnstrueif every element ofuis negative,falseotherwise.
- one?: % -> Boolean
one?(x)returnstrueif x=interval(1,1).
- positive?: % -> Boolean
positive?(x)returnstrueif every element ofuis positive,falseotherwise.
- qinterval: (R, R) -> %
qinterval(inf,sup)creates a new interval without checking the ordering on the elements.
- sup: % -> R
sup(x)returns the supremum ofx.
- unit?: % -> Boolean if R has Field
unit?(x)returnstrueif every element inxcan be inverted, i.e. if not contains?(x,0).
- width: % -> R
width(x)returnssup(x) - inf(x).
- zero?: % -> Boolean
zero?(x)returnstrueif x=interval(0,0).