There are no files associated with this item.

##### Supplementary
• Appears in Collections:

#### Article: The Monty Python method for generating gamma variables

Title The Monty Python method for generating gamma variables Marsaglia, GTsang, WW 1998 University of California at Los Angeles, Department of Statistics. The Journal's web site is located at http://www.jstatsoft.org/ Journal Of Statistical Software, 1998, v. 3, p. 1-8 How to Cite? The Monty Python Method for generating random variables takes a decreasing density, cuts it into three pieces, then, using area-preserving transformations, folds it into a rectangle of area 1. A random point (x, y) from that rectangle is used to provide a variate from the given density, most of the time as x itself or a linear function of x. The decreasing density is usually the right half of a symmetric density. The Monty Python method has provided short and fast generators for normal, t and von Mises densities, requiring, on the average, from 1.5 to 1.8 uniform variables. In this article, we apply the method to non-symmetric densities, particularly the important gamma densities. We lose some of the speed and simplicity of the symmetric densities, but still get a method for γα variates that is simple and fast enough to provide beta variates in the form γa(γa + γb). We use an average of less than 1.7 uniform variates to produce a gamma variate whenever α ≥ 1. Implementation is simpler and from three to five times as fast as a recent method reputed to be the best for changing α's. http://hdl.handle.net/10722/89055 1548-76602017 Impact Factor: 22.7372015 SCImago Journal Rankings: 2.970 References in Scopus

DC FieldValueLanguage
dc.contributor.authorMarsaglia, Gen_HK
dc.contributor.authorTsang, WWen_HK
dc.date.accessioned2010-09-06T09:51:49Z-
dc.date.available2010-09-06T09:51:49Z-
dc.date.issued1998en_HK
dc.identifier.citationJournal Of Statistical Software, 1998, v. 3, p. 1-8en_HK
dc.identifier.issn1548-7660en_HK
dc.identifier.urihttp://hdl.handle.net/10722/89055-
dc.description.abstractThe Monty Python Method for generating random variables takes a decreasing density, cuts it into three pieces, then, using area-preserving transformations, folds it into a rectangle of area 1. A random point (x, y) from that rectangle is used to provide a variate from the given density, most of the time as x itself or a linear function of x. The decreasing density is usually the right half of a symmetric density. The Monty Python method has provided short and fast generators for normal, t and von Mises densities, requiring, on the average, from 1.5 to 1.8 uniform variables. In this article, we apply the method to non-symmetric densities, particularly the important gamma densities. We lose some of the speed and simplicity of the symmetric densities, but still get a method for γα variates that is simple and fast enough to provide beta variates in the form γa(γa + γb). We use an average of less than 1.7 uniform variates to produce a gamma variate whenever α ≥ 1. Implementation is simpler and from three to five times as fast as a recent method reputed to be the best for changing α's.en_HK
dc.languageengen_HK
dc.publisherUniversity of California at Los Angeles, Department of Statistics. The Journal's web site is located at http://www.jstatsoft.org/en_HK
dc.relation.ispartofJournal of Statistical Softwareen_HK
dc.titleThe Monty Python method for generating gamma variablesen_HK
dc.typeArticleen_HK
dc.identifier.emailTsang, WW:tsang@cs.hku.hken_HK
dc.identifier.authorityTsang, WW=rp00179en_HK
dc.identifier.scopuseid_2-s2.0-0039646690en_HK
dc.identifier.hkuros40692en_HK
dc.identifier.hkuros51499-
dc.relation.referenceshttp://www.scopus.com/mlt/select.url?eid=2-s2.0-0039646690&selection=ref&src=s&origin=recordpageen_HK
dc.identifier.volume3en_HK
dc.identifier.spage1en_HK
dc.identifier.epage8en_HK
dc.identifier.scopusauthoridMarsaglia, G=6603739473en_HK
dc.identifier.scopusauthoridTsang, WW=7201558521en_HK