Random field element generator. This encapsulated class is a generator of random field elements for the encapsulating field. It is required to contain constructors from a field object and two integers. The first integer being a cardinality of a set to draw the random elements from, and the second being a seed for the random number generator. It is also required to contain a copy constructor, a destructor, and random() which acts on a reference to a field element. The random value is written to the argument and also returned as a reference.
Virtual constructor from field, sampling size, and seed. Required because constructors cannot be virtual. Passes construction on to derived classes. The random field element iterator works in the field F, is seeded by seed, and it returns any one element with probability no more than 1/min (size, F.cardinality (c)). A sampling size of zero means to sample from the entire field. A seed of zero means to use some arbitrary seed for the generator. Purely virtual.
- Parameters:
-
F | LinBox field archetype object in which to do arithmetic |
size | constant integer reference of sample size from which to sample (default = 0) |
seed | constant integer reference from which to seed random number generator (default = 0) |
Implemented in RandIterEnvelope< Field >.