next | previous | forward | backward | up | top | index | toc | Macaulay2 website
K3Carpets :: hankelMatrix

hankelMatrix -- matrix with constant anti-diagonal entries

Synopsis

Description

A Hankel matrix (or catalecticant matrix) is a matrix with a repeated element on each anti-diagonal, that is m_(i,j) depends only on i+j. If the matrix r is given, then we set m_(i,j) = r_(0,i+j) if i+j<numcols r, and 0 otherwise. The degrees of the rows of m are set to 0, and the degrees of the columns are set to the degree of r_(0,0); thus the Hankel matrix is homogeneous iff all the entries of the first row of r have the same degree.

If no ring or matrix is given, hankelMatrix defines a new ring S with p+q-1 variables X_i, and then calls hankelMatrix(vars S, p,q).

i1 : p = 2;q=3;
i3 : S = ZZ/101[x_0..x_(p+q-2)]

o3 = S

o3 : PolynomialRing
i4 : hankelMatrix(vars S, p,q)

o4 = | x_0 x_1 x_2 |
     | x_1 x_2 x_3 |

             2       3
o4 : Matrix S  <--- S
i5 : r = vars S ** transpose vars S

o5 = {-1} | x_0^2  x_0x_1 x_0x_2 x_0x_3 |
     {-1} | x_0x_1 x_1^2  x_1x_2 x_1x_3 |
     {-1} | x_0x_2 x_1x_2 x_2^2  x_2x_3 |
     {-1} | x_0x_3 x_1x_3 x_2x_3 x_3^2  |

             4       4
o5 : Matrix S  <--- S
i6 : hankelMatrix(r, p,q)

o6 = | x_0^2  x_0x_1 x_0x_2 |
     | x_0x_1 x_0x_2 x_0x_3 |

             2       3
o6 : Matrix S  <--- S
i7 : hankelMatrix(S,p,q)

o7 = | x_0 x_1 x_2 |
     | x_1 x_2 x_3 |

             2       3
o7 : Matrix S  <--- S
i8 : hankelMatrix(r, p,q+2)

o8 = | x_0^2  x_0x_1 x_0x_2 x_0x_3 0 |
     | x_0x_1 x_0x_2 x_0x_3 0      0 |

             2       5
o8 : Matrix S  <--- S
i9 : hankelMatrix(p,q+2)

o9 = | X_0 X_1 X_2 X_3 X_4 |
     | X_1 X_2 X_3 X_4 X_5 |

               ZZ          2         ZZ          5
o9 : Matrix (-----[X ..X ])  <--- (-----[X ..X ])
             32003  0   5          32003  0   5

Ways to use hankelMatrix :

For the programmer

The object hankelMatrix is a method function.