Consider the ring `R` and the matrix `f`.

## target

From the above output, one sees that Macaulay2 considers `f` as a linear transformation. Use the target command to obtain the target of the linear transformation `f`.

## source

Likewise, to obtain the source of our linear transformation, use the source command.

## number of rows or columns

Use numgens to obtain the rank of a free module. Combining it with the commands target or source gives us a way to determine the number of rows or columns of a matrix `f`.

## extracting an element from a matrix

To extract the `(i,j)`-th element of a matrix, type `f_(i,j)`.

Note that the first number selects the row, starting at `0` and the second number selects the column, also starting at `0`. ## entries of a matrix

To obtain the entries of a matrix in the form of a list of lists, use the entries command.

Note that each inner list is a list of elements from a row of `f`. ## ring

The ring command can be used to return the ring of the matrix, that is, the ring containing entries of the matrix.

Use the describe command to recover how the ring of `f` was constructed.

i1 : R = QQ[x,y,z]; |

i2 : f = matrix{{2,x,y,x^2},{z,32,2,x}} o2 = | 2 x y x2 | | z 32 2 x | 2 4 o2 : Matrix R <--- R |

i3 : target f 2 o3 = R o3 : R-module, free |

i4 : source f 4 o4 = R o4 : R-module, free, degrees {3:1, 2} |

i5 : numgens target f o5 = 2 |

i6 : numgens source f o6 = 4 |

i7 : f_(1,3) o7 = x o7 : R |

i8 : entries f 2 o8 = {{2, x, y, x }, {z, 32, 2, x}} o8 : List |

i9 : ring f o9 = R o9 : PolynomialRing |

i10 : describe ring f o10 = QQ[x..z, Degrees => {3:1}, Heft => {1}, MonomialOrder => {MonomialSize => 32}, DegreeRank => 1] {GRevLex => {3:1} } {Position => Up } |