The function Ops.spray() passes unary and binary arithmetic
operators (“+”, “-”, “*”,
“/”,“==”, and “^”) to the
appropriate specialist function.
The most interesting operators are “*” and
“+” which execute multivariate polynomial multiplication
and addition respectively.
Testing for equality uses spray_eq_spray(). Note that
spray_eq_spray(S1,S2) is algebraically equivalent to
is.zero(S1-S2), but faster (FALSE is returned as soon as
a mismatch is found).
Function spray_power_scalar() is the functional representation
for powers: spray_power_scalar(X,n) is the same as X^n.
Function spray_power_scalar_stla() is an experimental
replacement for spray_power_scalar() that may offer speed
advantages. It is based on code by Stephane Laurent.