# generators of ideals and modules

## Synopsis

• Usage:
L_i
• Inputs:
• Outputs:
• or the i-th generator or column of L
As usual in Macaulay2, the first generator has index zero.

 `i1 : R = QQ[a..d];` ```i2 : I = ideal(a^3, b^3-c^3, a^4, a*c); o2 : Ideal of R``` ```i3 : numgens I o3 = 4``` ```i4 : I_0, I_2 3 4 o4 = (a , a ) o4 : Sequence```

Notice that the generators are the ones provided. Alternatively we can minimalize the set of generators.

 ```i5 : J = trim I 3 3 3 o5 = ideal (a*c, b - c , a ) o5 : Ideal of R``` ```i6 : J_0 o6 = a*c o6 : R```

Elements of modules are useful for producing submodules or quotients.

 ```i7 : M = cokernel matrix{{a,b},{c,d}} o7 = cokernel | a b | | c d | 2 o7 : R-module, quotient of R``` ```i8 : M_0 o8 = | 1 | | 0 | o8 : cokernel | a b | | c d |``` ```i9 : M/M_0 o9 = cokernel | 1 a b | | 0 c d | 2 o9 : R-module, quotient of R``` ```i10 : N = M/(a*M + R*M_0) o10 = cokernel | a 0 1 a b | | 0 a 0 c d | 2 o10 : R-module, quotient of R``` ```i11 : N_0 == 0_N o11 = true```
Columns of matrices may also be used as vectors in the target module.
 ```i12 : M = matrix{{a,b,c},{c,d,a},{a-1,b-3,c-13}} o12 = | a b c | | c d a | | a-1 b-3 c-13 | 3 3 o12 : Matrix R <--- R``` ```i13 : M_0 o13 = | a | | c | | a-1 | 3 o13 : R``` ```i14 : prune((image M_{1,2})/(R*M_1)) 1 o14 = R o14 : R-module, free```

## Caveat

Fewer methods exist for manipulating vectors than other types, such as modules and matrices