Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

Stat.hpp File Reference

An include file containing the definition of some generic statistical functions. More...

#include <iostream>
#include <istream>
#include <fstream>
#include <string>
#include <vector>
#include <sstream>
#include <cmath>

Go to the source code of this file.

Functions

double runif ()
 generate a random number uniformly in [0,1].
double rnorm ()
 generate a random number following a standard gaussian distribution.
void rnorm (uint n, vector< double > &result)
 generate a random vector of n IID gaussian variables.
void rnorm (vector< double > const &mu, vector< double > const &sigma, vector< double > &result)
 generate a random vector of a d-dimensional N( mu_d , sigma_d).
void rnorm_diag (vector< double > const &mu, vector< double > const &sigma, vector< double > &result)
uint Sample (vector< double > const &probs)
 Sampling from a distribution (p1, ...., pn).
double weighted_median (vector< double > const &X, vector< double > const &W)
 Weighetd median.
uint argmax (vector< double > const &X)
 argmax
void Maximum (vector< double > const &X, uint D, vector< double > &m)
 Maximum.
void Minimum (vector< double > const &X, uint D, vector< double > &m)
 Minimum.
void Mean_SD (vector< double > const &X, uint D, vector< double > &m, vector< double > &s)
 Mean and Standard deviation.
void Summary (vector< double > const &X, uint D)
 statistical summary
void choose (uint N, uint K, vector< uint > &indexes)
 choose k elements out of {0,1,....,N-1}
double Exp (double x)
 Exponential function.
double Log (double x)
 Logarithm function.


Detailed Description


Function Documentation

double Exp double  x  ) 
 

exponential function.

Parameters:
[in] x : double
Avoids numerical errors for very small negative values of x as well as very large positive values of x.

double Log double  x  ) 
 

Logarithm function.

Parameters:
[in] x : double
Avoids numerical errors for small values of x.

void rnorm vector< double > const &  mu,
vector< double > const &  sigma,
vector< double > &  result
 

generate a random vector of a d-dimensional normal distribution with mean mu_d and covariance matrix sigma_d.

void rnorm uint  n,
vector< double > &  result
 

generate a random vector of n IID gaussian variables with mean 0 and variance 1 (uses Box and Muller method).

double rnorm  ) 
 

generate a random number following a gaussian distribution with mean 0 and variance 1 (uses Box and Muller method).

void rnorm_diag vector< double > const &  mu,
vector< double > const &  sigma,
vector< double > &  result
 

generate a random vector of a d-dimensional normal distribution with mean mu_d and a diagonal covariance matrix sigma_d.

double runif  ) 
 

generate a random number uniformly in [0,1].

uint Sample vector< double > const &  probs  ) 
 

Sampling from a distribution (p1, ...., pn)

Parameters:
[in] probs : vector containing the probabilities.
The vector paramter probs must be normalized.

double weighted_median vector< double > const &  X,
vector< double > const &  W
 

Weighted median. For Laplace distribution mean estimation.


Generated on Thu Jan 12 11:54:59 2006 for NEM by  doxygen 1.4.4