ConvolutionMatrix - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


PolynomialTools[Approximate]

  

ConvolutionMatrix

  

construct a Convolution matrix of a polynomial

 

Calling Sequence

Parameters

Description

Examples

Compatibility

Calling Sequence

ConvolutionMatrix(F, vars, degree)

ConvolutionMatrix(F, vars, degree, rtableoptions=[options])

Parameters

F

-

polynom

vars

-

set or list of variables

degree

-

non-negative integer

options

-

(optional) options that are passed to the Matrix constructor

Description

• 

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.

Examples

> 

with⁡PolynomialTools:-Approximate:

> 

f≔x2+y2−1;g≔x2+x⁢y+y+1

f≔x2+y2−1

g≔x2+x⁢y+y+1

(1)
> 

fg≔sort⁡expand⁡f⁢g,x,y

fg≔x4+x3⁢y+x2⁢y2+x⁢y3+x2⁢y+y3−x⁢y+y2−y−1

(2)
> 

Cf≔ConvolutionMatrix⁡f,x,y,degree⁡g,x,y

Cf≔−1000000−1000000−1000100−1000000−1010000−1010000001000010000001000⋮⋮⋮⋮⋮⋮15 × 6 Matrix

(3)
> 

vg≔PolynomialTools:-CoefficientVector⁡g,x,y

vg≔101110

(4)

This matrix vector product computes the polynomial product

> 

vfg≔Cf·vg

vfg≔−10−10−110101⋮15 element Vector[column]

(5)
> 

PolynomialTools:-FromCoefficientVector⁡vfg,x,y

x4+x3⁢y+x2⁢y2+x⁢y3+x2⁢y+y3−x⁢y+y2−y−1

(6)

Compatibility

• 

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