PolynomialTools[Approximate]
ConvolutionMatrix
construct a Convolution matrix of a polynomial
Calling Sequence
Parameters
Description
Examples
Compatibility
ConvolutionMatrix(F, vars, degree)
ConvolutionMatrix(F, vars, degree, rtableoptions=[options])
F
-
polynom
vars
set or list of variables
degree
non-negative integer
options
(optional) options that are passed to the Matrix constructor
The ConvolutionMatrix command returns a Matrix that represents polynomial multiplication of F by a polynomial of the given degree (total degree) when the polynomial to multiply is represented as a vector as returned by CoefficientVector.
A Sylvester matrix can be considered to be a block matrix composed of two convolution matrices and the SylvesterMatrix command calls this one.
The approximate polynomial division command Divide solves up a least squares problem on the output of this command.
withPolynomialTools:-Approximate:
f≔x2+y2−1;g≔x2+xy+y+1
f≔x2+y2−1
g≔x2+xy+y+1
fg≔sortexpandfg,x,y
fg≔x4+x3y+x2y2+xy3+x2y+y3−xy+y2−y−1
Cf≔ConvolutionMatrixf,x,y,degreeg,x,y
vg≔PolynomialTools:-CoefficientVectorg,x,y
vg≔101110
This matrix vector product computes the polynomial product
vfg≔Cf·vg
PolynomialTools:-FromCoefficientVectorvfg,x,y
x4+x3y+x2y2+xy3+x2y+y3−xy+y2−y−1
The PolynomialTools:-Approximate:-ConvolutionMatrix command was introduced in Maple 2021.
For more information on Maple 2021 changes, see Updates in Maple 2021.
See Also
Divide
Download Help Document