# Model -- a type used to store a statistical model and its parameters

## Description

In order to generate and study random algebraic objects formally, one should define a statistical model for such objects. A model captures the random generating process of the objects. It consists of a name, a set of parameters, and a generating function, stored under the corresponding keys in the hash table.

 i1 : ER(3,2,0.2) o1 = Model{Generate => -*Function[/usr/share/Macaulay2/RandomMonomialIdeals.m2:130:23-130:47]*-} Name => Erdos-Renyi Parameters => (3, 2, .2) o1 : Model

Combined with the type Sample, the type Model defined here stores such information and allows for a streamlined way to sample random objects, store the data as a proper statistical sample, and study their algebraic properties under the probabilistic regime.

• Sample -- a type used to store a data sample from a statistical model
• statistics -- generate statistics for a sample

## Functions and methods returning an object of class Model :

• ER -- model for sampling from Erdos-Renyi type distributions on monomials
• model -- creates a new model for random objects with a given list of parameters and generating function

## Methods that use an object of class Model :

• "sample(Model,ZZ)" -- see sample -- generates a sample from the given model

## For the programmer

The object Model is a type, with ancestor classes HashTable < Thing.