Equation(S)
equation1.spad line 48
[edit on github]
Equations as mathematical objects. All properties of the basis domain, e.g. being an abelian group are carried over the equation domain, by performing the structural operations on the left and on the right hand side.
- * : (%, %) -> % if S has SemiGroup
- from Magma
- * : (%, S) -> % if S has SemiGroup
eqn*x
produces a new equation by multiplying both sides of equation eqn by x
.
- * : (S, %) -> % if S has SemiGroup
x*eqn
produces a new equation by multiplying both sides of equation eqn by x
.
- * : (Integer, %) -> % if S has AbelianGroup
- from AbelianGroup
- * : (NonNegativeInteger, %) -> % if S has AbelianGroup
- from AbelianMonoid
- * : (PositiveInteger, %) -> % if S has AbelianSemiGroup
- from AbelianSemiGroup
- + : (%, %) -> % if S has AbelianSemiGroup
- from AbelianSemiGroup
- + : (%, S) -> % if S has AbelianSemiGroup
eqn+x
produces a new equation by adding x
to both sides of equation eqn.
- + : (S, %) -> % if S has AbelianSemiGroup
x+eqn
produces a new equation by adding x
to both sides of equation eqn.
- - : % -> % if S has AbelianGroup
- from AbelianGroup
- - : (%, %) -> % if S has AbelianGroup
- from AbelianGroup
- - : (%, S) -> % if S has AbelianGroup
eqn-x
produces a new equation by subtracting x
from both sides of equation eqn.
- - : (S, %) -> % if S has AbelianGroup
x-eqn
produces a new equation by subtracting both sides of equation eqn from x
.
- / : (%, %) -> % if S has Group or S has Field
e1/e2
produces a new equation by dividing the left and right hand sides of equations e1
and e2
.
- 0 : () -> % if S has AbelianGroup
- from AbelianMonoid
- 1 : () -> % if S has Monoid
- from MagmaWithUnit
- = : (S, S) -> %
a=b
creates an equation.
- = : (%, %) -> Boolean if S has SetCategory
- from BasicType
- D : (%, List(Symbol)) -> % if S has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- D : (%, List(Symbol), List(NonNegativeInteger)) -> % if S has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- D : (%, Symbol) -> % if S has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- D : (%, Symbol, NonNegativeInteger) -> % if S has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- ^ : (%, Integer) -> % if S has Group
- from Group
- ^ : (%, NonNegativeInteger) -> % if S has Monoid
- from MagmaWithUnit
- ^ : (%, PositiveInteger) -> % if S has SemiGroup
- from Magma
- annihilate? : (%, %) -> Boolean if S has Ring
- from Rng
- antiCommutator : (%, %) -> % if S has Ring
- from NonAssociativeSemiRng
- associator : (%, %, %) -> % if S has Ring
- from NonAssociativeRng
- characteristic : () -> NonNegativeInteger if S has Ring
- from NonAssociativeRing
- coerce : Integer -> % if S has Ring
- from NonAssociativeRing
- coerce : % -> Boolean if S has SetCategory
- from CoercibleTo(Boolean)
- coerce : % -> OutputForm if S has SetCategory
- from CoercibleTo(OutputForm)
- commutator : (%, %) -> % if S has Ring or S has Group
- from Group
- conjugate : (%, %) -> % if S has Group
- from Group
- convert : % -> InputForm if S has ConvertibleTo(InputForm)
- from ConvertibleTo(InputForm)
- differentiate : (%, List(Symbol)) -> % if S has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- differentiate : (%, List(Symbol), List(NonNegativeInteger)) -> % if S has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- differentiate : (%, Symbol) -> % if S has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- differentiate : (%, Symbol, NonNegativeInteger) -> % if S has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- equation : (S, S) -> %
equation(a, b)
creates an equation.
- eval : (%, %) -> % if S has Evalable(S) and S has SetCategory
eval(eqn, x=f)
replaces x
by f
in equation eqn
.
- eval : (%, List(%)) -> % if S has Evalable(S) and S has SetCategory
eval(eqn, [x1=v1, ... xn=vn])
replaces xi
by vi
in equation eqn
.
- eval : (%, List(Symbol), List(S)) -> % if S has InnerEvalable(Symbol, S)
- from InnerEvalable(Symbol, S)
- eval : (%, Symbol, S) -> % if S has InnerEvalable(Symbol, S)
- from InnerEvalable(Symbol, S)
- factorAndSplit : % -> List(%) if S has IntegralDomain
factorAndSplit(eq)
make the right hand side 0 and factors the new left hand side. Each factor is equated to 0 and put into the resulting list without repetitions.
- inv : % -> % if S has Group or S has Field
inv(x)
returns the multiplicative inverse of x
.
- latex : % -> String if S has SetCategory
- from SetCategory
- leftOne : % -> Union(%, "failed") if S has Monoid
leftOne(eq)
divides by the left hand side, if possible.
- leftPower : (%, NonNegativeInteger) -> % if S has Monoid
- from MagmaWithUnit
- leftPower : (%, PositiveInteger) -> % if S has SemiGroup
- from Magma
- leftRecip : % -> Union(%, "failed") if S has Monoid
- from MagmaWithUnit
- leftZero : % -> % if S has AbelianGroup
leftZero(eq)
subtracts the left hand side.
- lhs : % -> S
lhs(eqn)
returns the left hand side of equation eqn
.
- map : (Mapping(S, S), %) -> %
map(f, eqn)
constructs a new equation by applying f
to both sides of eqn.
- one? : % -> Boolean if S has Monoid
- from MagmaWithUnit
- opposite? : (%, %) -> Boolean if S has AbelianGroup
- from AbelianMonoid
- recip : % -> Union(%, "failed") if S has Monoid
- from MagmaWithUnit
- rhs : % -> S
rhs(eqn)
returns the right hand side of equation eqn
.
- rightOne : % -> Union(%, "failed") if S has Monoid
rightOne(eq)
divides by the right hand side, if possible.
- rightPower : (%, NonNegativeInteger) -> % if S has Monoid
- from MagmaWithUnit
- rightPower : (%, PositiveInteger) -> % if S has SemiGroup
- from Magma
- rightRecip : % -> Union(%, "failed") if S has Monoid
- from MagmaWithUnit
- rightZero : % -> % if S has AbelianGroup
rightZero(eq)
subtracts the right hand side.
- sample : () -> % if S has AbelianGroup or S has Monoid
- from AbelianMonoid
- subst : (%, %) -> % if S has ExpressionSpace
subst(eq1, eq2)
substitutes eq2
into both sides of eq1
the lhs
of eq2
should be a kernel
- subtractIfCan : (%, %) -> Union(%, "failed") if S has AbelianGroup
- from CancellationAbelianMonoid
- swap : % -> %
swap(eq)
interchanges left and right hand side of equation eq
.
- zero? : % -> Boolean if S has AbelianGroup
- from AbelianMonoid
- ~= : (%, %) -> Boolean if S has SetCategory
- from BasicType
ConvertibleTo(InputForm)
Monoid
LeftModule(S)
AbelianMonoid
CancellationAbelianMonoid
MagmaWithUnit
AbelianGroup
LeftModule(%)
Module(S)
SetCategory
SemiRing
SemiGroup
TwoSidedRecip
Magma
Rng
NonAssociativeRing
BiModule(S, S)
PartialDifferentialRing(Symbol)
BiModule(%, %)
unitsKnown
CoercibleTo(OutputForm)
AbelianSemiGroup
CoercibleTo(Boolean)
NonAssociativeSemiRing
RightModule(S)
InnerEvalable(Symbol, S)
RightModule(%)
Group
NonAssociativeRng
Ring
SemiRng
NonAssociativeSemiRng
BasicType