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.