25 #include <queso/VectorRV.h> 
   26 #include <queso/GslVector.h> 
   27 #include <queso/GslMatrix.h> 
   29 #include <queso/Defines.h> 
   30 #include <gsl/gsl_sf_psi.h>  
   35 template<
class V, 
class M>
 
   40   m_env       (imageSet.env()),
 
   41   m_prefix    ((std::string)(prefix)+
"rv_"),
 
   42   m_imageSet  (imageSet),
 
   62 template<
class V, 
class M>
 
   73 template <
class V, 
class M>
 
   80 template<
class V, 
class M>
 
   87 template<
class V, 
class M>
 
   96 template<
class V, 
class M>
 
  105 template<
class V, 
class M>
 
  114 template<
class V, 
class M>
 
  120   return *m_unifiedCdf;
 
  123 template<
class V, 
class M>
 
  134 template <
class V, 
class M>
 
  144   unsigned int k = UQ_INFTH_ANN_KNN;
 
  145   double eps = UQ_INFTH_ANN_EPS;
 
  149   unsigned int dim = this->imageSet().vectorSpace().dimGlobal();
 
  153   unsigned int N = this->realizer().subPeriod();
 
  155     N = UQ_INFTH_ANN_NO_SMP;
 
  160   dists = 
new double[N];
 
  163   V smpRV( this->imageSet().vectorSpace().zeroVector() );
 
  164   for( 
unsigned int i = 0; i < N; i++ ) {
 
  166     this->realizer().realization( smpRV );
 
  168     for( 
unsigned int j = 0; j < 
dim; j++ ) {
 
  169       data[ i ][ j ] = smpRV[ j ];
 
  175   distANN_XY( data, data, dists, dim, dim, N, N, k+1, eps );
 
  180   double sum_log_dist = 0.0;
 
  181   for( 
unsigned int i = 0; i < N; i++ ) {
 
  182     if( dists[ i ] > 0 ) {
 
  183       sum_log_dist += log( 2.0*dists[ i ] );
 
  186   ENT_est = - gsl_sf_psi_int( k ) + gsl_sf_psi_int( N ) + (double)dim / (
double)N * sum_log_dist; 
 
  194 #endif // QUESO_HAS_ANN 
  199 template <
class P_V, 
class P_M, 
class Q_V, 
class Q_M>
 
  204         unsigned int                  localNumSamples,
 
  217   queso_require_msg(!((numRows != pqCovMatrix.numRows()) || (numCols != pqCovMatrix.numCols())), 
"inconsistent dimensions for covariance matrix");
 
  219   queso_require_msg(!((numRows != pqCorrMatrix.numRows()) || (numCols != pqCorrMatrix.numCols())), 
"inconsistent dimensions for correlation matrix");
 
  233   for (
unsigned int k = 0; k < localNumSamples; ++
k) {
 
  235     localWorkingPSeq.setPositionValues(k,tmpP);
 
  238     localWorkingQSeq.setPositionValues(k,tmpQ);
 
unsigned int displayVerbosity() const 
 
DLL_API void annDeallocPts(ANNpointArray &pa)
 
const BaseVectorRealizer< V, M > & realizer() const 
Finds a realization (sample) of the PDF of this vector RV; access to private attribute m_realizer...
 
BaseVectorRV(const char *prefix, const VectorSet< V, M > &imageSet)
Constructor. 
 
A templated class for handling sets. 
 
void ComputeCovCorrMatricesBetweenVectorSequences(const BaseVectorSequence< P_V, P_M > &subPSeq, const BaseVectorSequence< Q_V, Q_M > &subQSeq, unsigned int subNumSamples, P_M &pqCovMatrix, P_M &pqCorrMatrix)
 
A templated base class for handling vector RV. 
 
const BaseEnvironment & env() const 
QUESO environment; access to private attribute m_env. 
 
A templated (base) class for handling joint PDFs. 
 
void ComputeCovCorrMatricesBetweenVectorRvs(const BaseVectorRV< P_V, P_M > ¶mRv, const BaseVectorRV< Q_V, Q_M > &qoiRv, unsigned int localNumSamples, P_M &pqCovMatrix, P_M &pqCorrMatrix)
 
virtual const VectorSpace< V, M > & vectorSpace() const =0
Vector space to which this set belongs to. See template specialization. 
 
A templated (base) class for handling CDFs of vector functions. 
 
DLL_API ANNpointArray annAllocPts(int n, int dim)
 
#define queso_require_msg(asserted, msg)
 
virtual ~BaseVectorRV()
Virtual destructor. 
 
const BaseVectorCdf< V, M > & unifiedCdf() const 
Finds the Cumulative Distribution Function of this vector RV, considering the unified sequence of dat...
 
const BaseVectorCdf< V, M > & subCdf() const 
Finds the Cumulative Distribution Function of this vector RV, considering only the sub-sequence of da...
 
virtual void realization(V &nextValues) const =0
Performs a realization (sample) from a probability density function. See template specialization...
 
std::ofstream * subDisplayFile() const 
Access function for m_subDisplayFile (displays file on stream). 
 
A templated (base) class for handling sampling from vector RVs. 
 
const BaseJointPdf< V, M > & pdf() const 
Posterior Density Function of the vector RV; access to private attribute m_pdf. 
 
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
 
const V & zeroVector() const 
Returns a vector filled with zeros. 
 
unsigned int numOfProcsForStorage() const 
Returns total number of processes. 
 
const BaseEnvironment & m_env
 
const VectorSet< V, M > & imageSet() const 
Image set of the vector RV; access to private attribute m_imageSet. 
 
A templated (base) class for handling MDFs of vector functions. 
 
const BaseVectorMdf< V, M > & mdf() const 
Finds the Mass Density Function of this vector RV; access to private attribute m_mdf.