# random(Type) -- random element of a type

## Synopsis

• Usage:
random T
• Inputs:
• Outputs:
• a random instance of the type T. If the Height option specifies a number h and T is ZZ and , then the integers returned are in the range 0 .. h-1; for QQ the numerator and denominator are in the range 1 .. h.
 ```i1 : random RR o1 = .892711841846915 o1 : RR (of precision 53)``` ```i2 : random CC_100 o2 = .561989839294559156675600137706+.246860627033766156612420945879*ii o2 : CC (of precision 100)``` ```i3 : tally for i to 100 list random GF 11 o3 = Tally{-1 => 1} -1 => 1 -1 => 1 -1 => 1 -1 => 1 -1 => 1 -1 => 1 -1 => 1 -1 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -2 => 1 -3 => 1 -3 => 1 -3 => 1 -3 => 1 -3 => 1 -3 => 1 -3 => 1 -3 => 1 -4 => 1 -4 => 1 -4 => 1 -4 => 1 -4 => 1 -4 => 1 -4 => 1 -4 => 1 -4 => 1 -4 => 1 -5 => 1 -5 => 1 -5 => 1 -5 => 1 -5 => 1 -5 => 1 -5 => 1 -5 => 1 -5 => 1 -5 => 1 -5 => 1 0 => 1 0 => 1 0 => 1 0 => 1 0 => 1 0 => 1 1 => 1 1 => 1 1 => 1 1 => 1 2 => 1 2 => 1 2 => 1 2 => 1 2 => 1 2 => 1 2 => 1 3 => 1 3 => 1 3 => 1 3 => 1 3 => 1 3 => 1 3 => 1 3 => 1 4 => 1 4 => 1 4 => 1 4 => 1 4 => 1 4 => 1 4 => 1 4 => 1 4 => 1 4 => 1 4 => 1 5 => 1 5 => 1 5 => 1 5 => 1 5 => 1 5 => 1 5 => 1 5 => 1 5 => 1 5 => 1 5 => 1 5 => 1 o3 : Tally``` ```i4 : random GF(2,40) 36 35 32 29 26 24 21 20 17 16 11 10 o4 = a + a + a + a + a + a + a + a + a + a + a + a + ------------------------------------------------------------------------ 9 7 5 2 a + a + a + a + 1 o4 : GF 1099511627776```

## Synopsis

• Usage:
random(d,R)
• Inputs:
• Outputs:
• a random homogeneous element of the ring R of degree d
 `i5 : R = ZZ[x,y];` ```i6 : random(5,R) 5 4 3 2 2 3 4 5 o6 = 3x + 6x y + 9x y + 3x y + 4x*y + 8y o6 : R``` `i7 : R = GF(25,Variable=>a)[x,y];` ```i8 : VerticalList for i to 6 list random(3,R) { 3 2 2 3 } o8 = {(2a + 2)x + x y + (- a + 1)x*y + (a + 1)y } { 3 2 2 3 } {(- a + 1)x + (a - 2)x y + 2x*y + 2y } { 3 2 2 } {(2a - 1)x + (2a + 1)x y + (2a - 1)x*y } { 3 2 2 3} {(a + 2)x + (- 2a - 1)x y + (a + 2)x*y - 2a*y } { 3 2 2 3 } {(- a + 2)x + a*x y + (2a + 1)x*y + (a + 2)y } { 3 2 2 3 } {(- a - 1)x + 2a*x y + (- a + 2)x*y - a*y } { 3 2 2 3 } {(- 2a - 1)x + x y + (- a - 2)x*y - y } o8 : VerticalList```
The length of d, if it's a list, should be the same as degreeLength R.