# randNicePencil -- sets up a random pencil of quadrics, and returns a hash table of the type RandomNicePencil.

## Synopsis

• Usage:
L = randNicePencil(kk,g)
• Inputs:
• kk, a ring, the ground field, not char 2, please!
• g, an integer, genus of the associated hyperelliptic curve.
• Outputs:

## Description

Generates a random pencil of quadrics in the same way as randomNicePencil(kk,g). Returns a hash table of the type RandomNicePencil.

 i1 : kk=ZZ/101; i2 : g=1; i3 : L=randNicePencil(kk,g) o3 = RandomNicePencil{...8...} o3 : RandomNicePencil i4 : keys L o4 = {matFact1, matFact2, matFactu1, isotropicSpace, matFactu2, ------------------------------------------------------------------------ quadraticForm, qqRing, baseRing} o4 : List i5 : L.qqRing o5 = kk[x , y , z ..z , s, t] 0 0 1 2 o5 : PolynomialRing i6 : L.quadraticForm 2 2 2 o6 = x y s - z s - 5x t + 12x z t - 18y z t - 30z t - 12x z t + 10y z t + 0 0 1 0 0 1 0 1 1 0 2 0 2 ------------------------------------------------------------------------ 2 6z z t - 48z t 1 2 2 o6 : kk[x , y , z ..z , s, t] 0 0 1 2 i7 : L.baseRing o7 = kk[s, t] o7 : PolynomialRing i8 : (L.matFact1 * L.matFact2) - (L.quadraticForm)**id_(source L.matFact1) o8 = 0 8 8 o8 : Matrix (kk[x , y , z ..z , s, t]) <--- (kk[x , y , z ..z , s, t]) 0 0 1 2 0 0 1 2 i9 : (L.matFact2 * L.matFact1) - (L.quadraticForm)**id_(source L.matFact1) o9 = 0 8 8 o9 : Matrix (kk[x , y , z ..z , s, t]) <--- (kk[x , y , z ..z , s, t]) 0 0 1 2 0 0 1 2 i10 : L.isotropicSpace o10 = | x_0 z_1 z_2 | 1 3 o10 : Matrix (kk[x , y , z ..z , s, t]) <--- (kk[x , y , z ..z , s, t]) 0 0 1 2 0 0 1 2 i11 : (L.matFactu1 * L.matFactu2) - (L.quadraticForm)**id_(source L.matFactu1) o11 = 0 4 4 o11 : Matrix (kk[x , y , z ..z , s, t]) <--- (kk[x , y , z ..z , s, t]) 0 0 1 2 0 0 1 2 i12 : (L.matFactu2 * L.matFactu1) - (L.quadraticForm)**id_(source L.matFactu1) o12 = 0 4 4 o12 : Matrix (kk[x , y , z ..z , s, t]) <--- (kk[x , y , z ..z , s, t]) 0 0 1 2 0 0 1 2