Macaulay2 » Documentation
Packages » map > map(Module,Nothing,List)
next | previous | forward | backward | up | index | toc

map(Module,Nothing,List) -- create a matrix by giving a doubly nested list of ring elements

Synopsis

Description

The list v must be a doubly nested list of ring elements, which are used to fill the matrix, row by row.

The ring elements appearing in v should be in R, or in a base ring of R.

Each list in v gives a row of the matrix. The length of the list v should be the number of generators of M, and the length of each element of v (which is itself a list of ring elements) should be the number of generators of the source module N.
i1 : R = ZZ/101[x,y,z]

o1 = R

o1 : PolynomialRing
i2 : p = map(R^2,,{{x^2,0,3},{0,y^2,5}})

o2 = | x2 0  3 |
     | 0  y2 5 |

             2      3
o2 : Matrix R  <-- R
i3 : isHomogeneous p

o3 = true
Another way is to use the matrix(List) routine:
i4 : p = matrix {{x^2,0,3},{0,y^2,5}}

o4 = | x2 0  3 |
     | 0  y2 5 |

             2      3
o4 : Matrix R  <-- R

The absence of the second argument indicates that the source of the map is to be a free module constructed with an attempt made to assign degrees to its basis elements so as to make the map homogeneous of degree zero.

i5 : R = ZZ/101[x,y]

o5 = R

o5 : PolynomialRing
i6 : f = map(R^2,,{{x^2,y^2},{x*y,0}})

o6 = | x2 y2 |
     | xy 0  |

             2      2
o6 : Matrix R  <-- R
i7 : degrees source f

o7 = {{2}, {2}}

o7 : List
i8 : isHomogeneous f

o8 = true

See also

Ways to use this method: