RandomObject bundles the necessary functions for the construction of certified random objects parametrized by a unirational moduli space $M$.
RandomObject is a MutableHashTable as ancestor and needs to have the following keys:
* Construction: the method function assigned to this key contains a unirationality construction.
* Certification: the method function assigned to this key checks whether the constructed object fulfills certain conditions.
In the following example we construct plane curves of degree $d$. The Certification checks whether they are irreducible over the coefficient field.
|
|
|
|
|
We construct a curve of degree $2$ as follows
|
|
|
We can certify the curve by using the option Certify
|
We have chosen a small finite field as ground field. Hence, there is a certain chance that the curve is not irreducible. We can check this if we limit the number of attempts to $1$. If the curve is then reducible, null is returned.
|
The object RandomObject is a type, with ancestor classes MutableHashTable < HashTable < Thing.
The source of this document is in RandomObjects.m2:250:0.