Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

matvec::GeometricDist Class Reference

#include <statdist.h>

Inheritance diagram for matvec::GeometricDist:

matvec::StatDistBase List of all members.

Detailed Description

Geometric statistical distribution.

Definition at line 450 of file statdist.h.

Public Methods

 GeometricDist (const double p)
 GeometricDist (const GeometricDist &u)
void display (void) const
void reset (const double p)
void sample (Vector< double > &x) const
void sample (doubleMatrix &x) const
double sample (void) const
Vector< double > sample (unsigned n) const
doubleMatrix sample (unsigned m, unsigned n) const
double mean (void) const
double variance (void) const
double pdf (const double x) const
double cdf (const double x) const
double pdf (const long k) const
double cdf (const long k) const
double mgf (const double t) const
double inv (const double p) const
double parameter (const int k) const
void parameter (const int k, const double x)
virtual const std::string name (void) const
virtual double nonct (const double cv, const double p)

Protected Attributes

double p_value
std::string distname


Constructor & Destructor Documentation

matvec::GeometricDist::GeometricDist const double    p [inline]
 

Definition at line 454 of file statdist.h.

References matvec::StatDistBase::distname, and reset().

00454 {distname="GeometricDist";reset(p);}

matvec::GeometricDist::GeometricDist const GeometricDist &    u [inline]
 

Definition at line 455 of file statdist.h.

References matvec::StatDistBase::distname, and reset().

00455                                            :StatDistBase()
00456                           {distname="GeometricDist"; reset(u.p_value);}


Member Function Documentation

double matvec::GeometricDist::cdf const long    k const
 

Definition at line 1371 of file statdist.cpp.

References p_value.

01375 {
01376    if (p <= 0.0 && p >= 1.0) throw exception ("GeometricDist::reset(): bad arg");
01377    p_value = p;
01378 }

double matvec::GeometricDist::cdf const double    x const [inline, virtual]
 

Implements matvec::StatDistBase.

Definition at line 469 of file statdist.h.

00469 {return cdf(long(x));}

void matvec::GeometricDist::display void    const [inline, virtual]
 

Implements matvec::StatDistBase.

Definition at line 458 of file statdist.h.

References matvec::StatDistBase::distname, and p_value.

00458                                    {std::cout << "\t" << distname << "(" << p_value
00459                                          << ")\n"; return;}

double matvec::GeometricDist::inv const double    p const [inline, virtual]
 

Implements matvec::StatDistBase.

Definition at line 473 of file statdist.h.

00474                       {std::cerr << " GeometricDist::inv(): not available\n"; return p;}

double matvec::GeometricDist::mean void    const [inline, virtual]
 

Implements matvec::StatDistBase.

Definition at line 466 of file statdist.h.

References p_value.

00466 {return (1.0-p_value)/p_value;}

double matvec::GeometricDist::mgf const double    t const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 1380 of file statdist.cpp.

virtual const std::string matvec::StatDistBase::name void    const [inline, virtual, inherited]
 

Definition at line 45 of file statdistbase.h.

References matvec::StatDistBase::distname.

00045 {return distname;}

virtual double matvec::StatDistBase::nonct const double    cv,
const double    p
[inline, virtual, inherited]
 

Definition at line 58 of file statdistbase.h.

00058 {std::cerr << "error\n"; return 0.0;}

void matvec::GeometricDist::parameter const int    k,
const double    x
[virtual]
 

Implements matvec::StatDistBase.

Definition at line 1426 of file statdist.cpp.

References sample().

01428 {
01429    Vector<double> x(n);
01430    sample(x);
01431    return x;

double matvec::GeometricDist::parameter const int    k const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 1420 of file statdist.cpp.

References matvec::ranf().

01421                                  {
01422       bot = x[i];  top = &bot[nc];
01423       while (bot < top ) *bot++ = std::floor(std::log(ranf())/tmp);
01424    }

double matvec::GeometricDist::pdf const long    k const
 

The random variable X has a geometric distribution if its probability density function (pdf) is defined by

Definition at line 1365 of file statdist.cpp.

01367         {
01368       throw exception("PoissonDist::parameter(): bad arg1");
01369    }

double matvec::GeometricDist::pdf const double    x const [inline, virtual]
 

Implements matvec::StatDistBase.

Definition at line 468 of file statdist.h.

00468 {return pdf(long(x));}

void matvec::GeometricDist::reset const double    p
 

Definition at line 1355 of file statdist.cpp.

Referenced by GeometricDist().

01358 {
01359    if (k==1) {

doubleMatrix matvec::GeometricDist::sample unsigned    m,
unsigned    n
const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 1413 of file statdist.cpp.

01416 {
01417    double tmp = std::log(1.0-p_value);
01418    int nr = x.num_rows();

Vector< double > matvec::GeometricDist::sample unsigned    n const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 1406 of file statdist.cpp.

References matvec::Vector< T >::begin(), matvec::Vector< T >::end(), p_value, and matvec::ranf().

01408 {
01409    double tmp = std::log(1.0-p_value);
01410    double *bot = x.begin();
01411    double *top = x.end();

double matvec::GeometricDist::sample void    const [inline, virtual]
 

Implements matvec::StatDistBase.

Definition at line 463 of file statdist.h.

References p_value, and matvec::ranf().

Referenced by parameter().

00463 {return std::floor(std::log(ranf())/std::log(1.0-p_value));}

void matvec::GeometricDist::sample doubleMatrix   x const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 1394 of file statdist.cpp.

References p_value.

01395                       {Geometric(p)), over x=0,1,...k}
01396    // *******************************************************
01397    if (k < 0L) throw exception("GeometricDist::cd): arg must be non-negative");
01398    return pow(1.0-p_value,static_cast<double>(k+1));
01399 }
01400 
01401 double GeometricDist::mgf(const double t) const
01402 {
01403    if (t >= -std::log(1.0-p_value)) throw exception ("GeometricDist::mgf(): bad arg");
01404    return p_value/(1.0-(1.0-p_value)*std::exp(t));

void matvec::GeometricDist::sample Vector< double > &    x const [virtual]
 

Implements matvec::StatDistBase.

Definition at line 1386 of file statdist.cpp.

References p_value.

01387 {
01388    if (k < 0L) throw exception("GeometricDist::pdf(): arg must be non-negative");
01389    return pow(1.0 - p_value,static_cast<double>(k))*p_value;
01390 }
01391 
01392 double GeometricDist::cdf(const long k) const

double matvec::GeometricDist::variance void    const [inline, virtual]
 

Implements matvec::StatDistBase.

Definition at line 467 of file statdist.h.

References p_value.

00467 {return (1.0-p_value)/(p_value*p_value);}


Member Data Documentation

std::string matvec::StatDistBase::distname [protected, inherited]
 

Definition at line 39 of file statdistbase.h.

Referenced by matvec::BetaDist::BetaDist(), matvec::BinomialDist::BinomialDist(), matvec::ChiSquareDist::ChiSquareDist(), matvec::DiscreteUniformDist::DiscreteUniformDist(), matvec::NegativeBinomialDist::display(), display(), matvec::PoissonDist::display(), matvec::BinomialDist::display(), matvec::DiscreteUniformDist::display(), matvec::BetaDist::display(), matvec::ExponentialDist::display(), matvec::GammaDist::display(), matvec::FDist::display(), matvec::tDist::display(), matvec::ChiSquareDist::display(), matvec::LogNormalDist::display(), matvec::NormalDist::display(), matvec::UniformDist::display(), matvec::ExponentialDist::ExponentialDist(), matvec::FDist::FDist(), matvec::GammaDist::GammaDist(), GeometricDist(), matvec::LogNormalDist::LogNormalDist(), matvec::StatDistBase::name(), matvec::NegativeBinomialDist::NegativeBinomialDist(), matvec::NormalDist::NormalDist(), matvec::PoissonDist::PoissonDist(), matvec::StatDistBase::StatDistBase(), matvec::tDist::tDist(), and matvec::UniformDist::UniformDist().

double matvec::GeometricDist::p_value [protected]
 

Definition at line 452 of file statdist.h.

Referenced by cdf(), display(), mean(), sample(), and variance().


The documentation for this class was generated from the following files:
Generated on Thu Jun 16 17:14:23 2005 for Matvec by doxygen1.2.16