AIntervalCategory RΒΆ
ainterval.spad line 8 [edit on github]
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: % if R has SemiRing and R has OrderedMonoid or R has SemiRng and % has AbelianMonoid and R has OrderedSemiGroup or R has OrderedAbelianMonoid
0 is interval(0,0).
- 1: % if R has SemiRing and R has OrderedMonoid
from MagmaWithUnit
- *: (%, %) -> % if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup
x*ycreates an interval such that for any elementsuandvwith contains?(x,u) and contains?(y,v) it holds contains?(x*y,u*v).
- *: (Integer, %) -> % if R has OrderedAbelianGroup or R has SemiRing and R has OrderedMonoid and % has AbelianGroup or R has SemiRng and R has OrderedSemiGroup and % has AbelianGroup
z*xcreates interval(z* infx,z* supx).- *: (NonNegativeInteger, %) -> % if R has SemiRng and % has AbelianMonoid and R has OrderedSemiGroup or R has OrderedAbelianMonoid or R has SemiRing and R has OrderedMonoid
from AbelianMonoid
- *: (PositiveInteger, %) -> %
z*xcreates the interval[z * inf x, z * sup x].
- *: (R, %) -> % if R has SemiRng and R has OrderedSemiGroup
r*xcreates the interval(r* infx,r* supx).
- +: (%, %) -> %
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 + r].
- -: % -> % if R has OrderedAbelianGroup or R has SemiRing and R has OrderedMonoid and % has AbelianGroup or R has SemiRng and R has OrderedSemiGroup and % has AbelianGroup
-xcreates the interval[- sup x, - inf x].
- -: (%, %) -> % if R has OrderedAbelianGroup or R has SemiRing and R has OrderedMonoid and % has AbelianGroup or R has SemiRng and R has OrderedSemiGroup and % has AbelianGroup
x-ycreates the intervalx+(-y).
- /: (%, %) -> % if R has OrderedRing and 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)).
- =: (%, %) -> Boolean
x=yreturnstrueiff inf(x)=inf(y) and sup(x)=sup(y).
- ^: (%, NonNegativeInteger) -> % if R has SemiRing and R has OrderedMonoid
x^nreturns interval(1,1) ifxis not zero andn=0. Otherwise it creates an interval such that for any elementsuandvwith contains?(x,u) it holds contains?(x^n,u^n).
- ^: (%, PositiveInteger) -> % if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup
x^ncreates an interval such that for any elementsuwith contains?(x,u) it holds contains?(x^n,u^n).
- abs: % -> % if R has OrderedAbelianGroup
abs(x)returns the tightest interval such that for allrwith contains?(x,r) it holds contains?(abs(x),abs(r)).
- antiCommutator: (%, %) -> % if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup
- 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 if 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 OrderedRing and 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
- leftPower: (%, NonNegativeInteger) -> % if R has SemiRing and R has OrderedMonoid
from MagmaWithUnit
- leftPower: (%, PositiveInteger) -> % if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup
from Magma
- leftRecip: % -> Union(%, failed) if R has SemiRing and R has OrderedMonoid
from MagmaWithUnit
- negative?: % -> Boolean if R has OrderedAbelianMonoid
negative?(u)returnstrueiffu<0for every element ofuofx, i.e. sup(x)<0.
- one?: % -> Boolean if R has SemiRing and R has OrderedMonoid
from MagmaWithUnit
- opposite?: (%, %) -> Boolean if R has SemiRng and % has AbelianMonoid and R has OrderedSemiGroup or R has OrderedAbelianMonoid or R has SemiRing and R has OrderedMonoid
from AbelianMonoid
- positive?: % -> Boolean if R has OrderedAbelianMonoid
positive?(x)returnstrueiffu>0for every element ofuofx, i.e. 0<inf(x).
- qinterval: (R, R) -> %
qinterval(inf,sup)creates a new interval without checking the ordering on the elements.
- recip: % -> Union(%, failed) if R has SemiRing and R has OrderedMonoid
from MagmaWithUnit
- rightPower: (%, NonNegativeInteger) -> % if R has SemiRing and R has OrderedMonoid
from MagmaWithUnit
- rightPower: (%, PositiveInteger) -> % if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup
from Magma
- rightRecip: % -> Union(%, failed) if R has SemiRing and R has OrderedMonoid
from MagmaWithUnit
- sample: % if R has SemiRng and % has AbelianMonoid and R has OrderedSemiGroup or R has OrderedAbelianMonoid or R has SemiRing and R has OrderedMonoid
from AbelianMonoid
- subtractIfCan: (%, %) -> Union(%, failed) if R has SemiRing and R has OrderedMonoid and % has AbelianGroup or R has SemiRng and R has OrderedSemiGroup and % has AbelianGroup
- sup: % -> R
sup(x)returns the supremum ofx.
- unit?: % -> Boolean if R has OrderedRing and R has Field
unit?(x)returnstrueif every element inxcan be inverted, i.e. if not contains?(x,0).
- width: % -> R if R has OrderedAbelianGroup
width(x)returnssup(x) - inf(x).
- zero?: % -> Boolean if R has SemiRing and R has OrderedMonoid or R has SemiRng and % has AbelianMonoid and R has OrderedSemiGroup or R has OrderedAbelianMonoid
zero?(x)returnstrueif x=interval(0,0).
AbelianMonoid if R has SemiRing and R has OrderedMonoid or R has OrderedAbelianMonoid
BiModule(%, %) if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup
CancellationAbelianMonoid if R has SemiRing and R has OrderedMonoid and % has AbelianGroup or R has SemiRng and R has OrderedSemiGroup and % has AbelianGroup
LeftModule % if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup
Magma if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup
MagmaWithUnit if R has SemiRing and R has OrderedMonoid
Monoid if R has SemiRing and R has OrderedMonoid
NonAssociativeSemiRing if R has SemiRing and R has OrderedMonoid
NonAssociativeSemiRng if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup
RightModule % if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup
SemiGroup if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup
SemiRing if R has SemiRing and R has OrderedMonoid
SemiRng if R has SemiRing and R has OrderedMonoid or R has SemiRng and R has OrderedSemiGroup