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*y
creates an interval such that for anyu
andv
with contains?(x
,u
) and contains?(y
,v
) it holds contains?(x*y,u*v).
- *: (Integer, %) -> %
z*x
creates the interval[z * inf x, z * sup x]
.
- *: (PositiveInteger, %) -> %
z*x
creates the interval[z * inf x, z * sup x]
.
- *: (R, %) -> %
r*x
creates the interval[r * inf x, r * sup x]
.
- +: (%, %) -> %
x+y
creates the interval[inf x + inf y, sup x + sup y]
. x+y creates an interval such that for anyu
andv
with contains?(x
,u
) and contains?(y
,v
) it holds contains?(x+y,u+v).
- +: (%, R) -> %
x+r
creates the interval[inf x + r, sup x + x]
.
- -: % -> %
-x
creates the interval[- sup x, - inf x]
.
- -: (%, %) -> %
x-y
creates the intervalx+(-y)
.
- /: (%, %) -> % if R has Field
x/y
returns x*inv(y
). If positive?(x
) and positive?(y
), then this is equal to interval(inf(x
)/sup(y
),sup(x
)/inf(y
)).
- =: (%, %) -> %
x=y
returnstrue
iff inf(x
)=inf(y
) and sup(x
)=sup(y
).- =: (%, %) -> Boolean
from BasicType
- ^: (%, NonNegativeInteger) -> %
x^n
returns interval(1,1) ifx
is not zero andn=0
. Otherwise it creates an interval such that for anyu
andv
with contains?(x
,u
) it holds contains?(x^n
,u^n).
- ^: (%, PositiveInteger) -> %
x^n
creates an interval such that for anyu
andv
with contains?(x
,u
) it holds contains?(x^n
,u^n).
- abs: % -> %
abs(x)
returns the tightest interval such that for allr
with 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)
returnstrue
ifinf(x)<=inf(y)
andsup(y)<=sup(x)
andfalse
otherwise.
- contains?: (%, R) -> Boolean
contains?(x,r)
returnstrue
ifinf(x)<=r<=sup(x)
andfalse
otherwise.
- error?: % -> Boolean
error?(x)
returnstrue
if 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<=y
and $[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)
returnstrue
if every element ofu
is negative,false
otherwise.
- one?: % -> Boolean
one?(x)
returnstrue
if x=interval(1,1).
- positive?: % -> Boolean
positive?(x)
returnstrue
if every element ofu
is positive,false
otherwise.
- 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)
returnstrue
if every element inx
can be inverted, i.e. if not contains?(x
,0).
- width: % -> R
width(x)
returnssup(x) - inf(x)
.
- zero?: % -> Boolean
zero?(x)
returnstrue
if x=interval(0,0).