ptolemy.actor.lib.colt

## Class ColtNegativeBinomial

• All Implemented Interfaces:
java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

```public class ColtNegativeBinomial
extends ColtRandomSource```
Produce a random sequence with a NegativeBinomial distribution. On each iteration, a new random number is produced. The output port is of type DoubleToken. The values that are generated are independent and identically distributed with the mean and the standard deviation given by parameters. In addition, the seed can be specified as a parameter to control the sequence that is generated.

This actor instantiates a cern.jet.random.NegativeBinomial object with n, the number of trials set to 1 and p, the probability of success, set to 0.5. A definition of NegativeBinomial by Wolfgang Hoschek can be found at `http://hoschek.home.cern.ch/hoschek/colt/V1.0.3/doc/cern/jet/stat/Probability.html#negativeBinomial(int,%20int,%20double)`:

### negativeBinomial

```public static double negativeBinomial(int k,
int n,
double p)```
Returns the sum of the terms 0 through k of the Negative Binomial Distribution.
```   k
--  ( n+j-1 )   n      j
>   (       )  p  (1-p)
--  (   j   )
j=0
```
In a sequence of Bernoulli trials, this is the probability that k or fewer failures precede the n-th success.

The terms are not computed individually; instead the incomplete beta integral is employed, according to the formula

y = negativeBinomial( k, n, p ) = Gamma.incompleteBeta( n, k+1, p ). All arguments must be positive,

Parameters:
`k` - end term.
`n` - the number of trials.
`p` - the probability of success (must be in (0.0,1.0)).
The above description of negativeBinomial() is copyrighted.
Since:
Ptolemy II 4.1
Version:
\$Id: ColtNegativeBinomial.java 70402 2014-10-23 00:52:20Z cxh \$
Author:
David Bauer and Kostas Oikonomou
Accepted Rating:
 Red (cxh)
Proposed Rating:
 Red (cxh)

• ### Nested classes/interfaces inherited from class ptolemy.kernel.Entity

`Entity.ContainedObjectsIterator`
• ### Field Summary

Fields
Modifier and Type Field and Description
`PortParameter` `n`
The mean, or n.
`PortParameter` `p`
The variance, or p.
• ### Fields inherited from class ptolemy.actor.lib.colt.ColtRandomSource

`_randomNumberGenerator, generatorClass`
• ### Fields inherited from class ptolemy.actor.lib.RandomSource

`_generatorSeed, _needNew, _needNewGenerator, _random, privateSeed, resetOnEachRun, seed`
• ### Fields inherited from class ptolemy.actor.lib.Source

`_triggered, output, trigger`
• ### Fields inherited from class ptolemy.actor.TypedAtomicActor

`_typesValid`
• ### Fields inherited from class ptolemy.actor.AtomicActor

`_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested`
• ### Fields inherited from class ptolemy.kernel.util.NamedObj

`_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS`
• ### Fields inherited from interface ptolemy.actor.Executable

`COMPLETED, NOT_READY, STOP_ITERATING`
• ### Constructor Summary

Constructors
Constructor and Description
```ColtNegativeBinomial(CompositeEntity container, java.lang.String name)```
Construct an actor with the given container and name.
• ### Method Summary

All Methods
Modifier and Type Method and Description
`protected void` `_createdNewRandomNumberGenerator()`
Method that is called after _randomNumberGenerator is changed.
`protected void` `_generateRandomNumber()`
Generate a new random number.
`void` `fire()`
Send a random number with a NegativeBinomial distribution to the output.
• ### Methods inherited from class ptolemy.actor.lib.colt.ColtRandomSource

`_createGenerator, attributeChanged`
• ### Methods inherited from class ptolemy.actor.lib.RandomSource

`clone, initialize, postfire`
• ### Methods inherited from class ptolemy.actor.lib.Source

`_customTypeConstraints, prefire`
• ### Methods inherited from class ptolemy.actor.TypedAtomicActor

`_containedTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints`
• ### Methods inherited from class ptolemy.actor.AtomicActor

`_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup`
• ### Methods inherited from class ptolemy.kernel.ComponentEntity

`_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName`
• ### Methods inherited from class ptolemy.kernel.Entity

`_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName`
• ### Methods inherited from class ptolemy.kernel.InstantiableNamedObj

`_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition`
• ### Methods inherited from class ptolemy.kernel.util.NamedObj

`_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace`
• ### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
• ### Methods inherited from interface ptolemy.actor.Actor

`createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList`
• ### Methods inherited from interface ptolemy.actor.Executable

`isFireFunctional, isStrict, iterate, stop, stopFire, terminate`
• ### Methods inherited from interface ptolemy.actor.Initializable

`addInitializable, preinitialize, removeInitializable, wrapup`
• ### Methods inherited from interface ptolemy.kernel.util.Nameable

`description, getContainer, getDisplayName, getFullName, getName, getName, setName`
• ### Methods inherited from interface ptolemy.kernel.util.Derivable

`getDerivedLevel, getDerivedList, propagateValue`
• ### Field Detail

• #### n

`public PortParameter n`
The mean, or n. This has type int with default value 1.
• #### p

`public PortParameter p`
The variance, or p. This has type double with default 0.5.
• ### Constructor Detail

• #### ColtNegativeBinomial

```public ColtNegativeBinomial(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException```
Construct an actor with the given container and name.
Parameters:
`container` - The container.
`name` - The name of this actor.
Throws:
`IllegalActionException` - If the actor cannot be contained by the proposed container.
`NameDuplicationException` - If the container already has an actor with this name.
• ### Method Detail

• #### fire

```public void fire()
throws IllegalActionException```
Send a random number with a NegativeBinomial distribution to the output. This number is only changed in the prefire() method, so it will remain constant throughout an iteration.
Specified by:
`fire` in interface `Executable`
Overrides:
`fire` in class `RandomSource`
Throws:
`IllegalActionException` - If there is no director.
• #### _createdNewRandomNumberGenerator

`protected void _createdNewRandomNumberGenerator()`
Method that is called after _randomNumberGenerator is changed.
Specified by:
`_createdNewRandomNumberGenerator` in class `ColtRandomSource`
• #### _generateRandomNumber

```protected void _generateRandomNumber()
throws IllegalActionException```
Generate a new random number.
Specified by:
`_generateRandomNumber` in class `RandomSource`
Throws:
`IllegalActionException` - If parameter values are incorrect.