queso-0.51.1
Protected Member Functions | Protected Attributes | List of all members
QUESO::BaseVectorSequence< V, M > Class Template Referenceabstract

Base class for handling vector and array samples (sequence of vectors or arrays). More...

#include <VectorSequence.h>

Inheritance diagram for QUESO::BaseVectorSequence< V, M >:
Inheritance graph
[legend]
Collaboration diagram for QUESO::BaseVectorSequence< V, M >:
Collaboration graph
[legend]

Public Member Functions

Constructor/Destructor methods
 BaseVectorSequence (const VectorSpace< V, M > &vectorSpace, unsigned int subSequenceSize, const std::string &name)
 Default constructor. More...
 
virtual ~BaseVectorSequence ()
 Destructor. More...
 
Sequence methods
virtual unsigned int subSequenceSize () const =0
 Size of the sub-sequence of vectors. See template specialization. More...
 
unsigned int unifiedSequenceSize () const
 Calculates the size of the unified sequence of vectors. More...
 
unsigned int vectorSizeLocal () const
 Local dimension (size) of the vector space. More...
 
unsigned int vectorSizeGlobal () const
 Global dimension (size) of the vector space. More...
 
const VectorSpace< V, M > & vectorSpace () const
 Vector space; access to protected attribute VectorSpace<V,M>& m_vectorSpace. More...
 
const std::string & name () const
 Access to protected attribute m_name: name of the sequence of vectors. More...
 
void setName (const std::string &newName)
 Changes the name of the sequence of vectors. More...
 
void clear ()
 Reset the values and the size of the sequence of vectors. More...
 
const V & subMinPlain () const
 Finds the minimum value of the sub-sequence. More...
 
const V & unifiedMinPlain () const
 Finds the minimum value of the unified sequence. More...
 
const V & subMaxPlain () const
 Finds the maximum value of the sub-sequence. More...
 
const V & unifiedMaxPlain () const
 Finds the maximum value of the unified sequence. More...
 
const V & subMeanPlain () const
 Finds the mean value of the sub-sequence. More...
 
const V & unifiedMeanPlain () const
 Finds the mean value of the unified sequence. More...
 
const V & subMedianPlain () const
 Finds the median value of the sub-sequence. More...
 
const V & unifiedMedianPlain () const
 Finds the median value of the unified sequence. More...
 
const V & subSampleVariancePlain () const
 Finds the variance of a sample of the sub-sequence. More...
 
const V & unifiedSampleVariancePlain () const
 Finds the variance of a sample of the unified sequence. More...
 
const BoxSubset< V, M > & subBoxPlain () const
 Finds a box subset of the sub-sequence (given by its min and max values calculated via subMinPlain and subMaxPlain). More...
 
const BoxSubset< V, M > & unifiedBoxPlain () const
 Finds a box subset of the unified-sequence (given by the min and max values of the unified sequence calculated via unifiedMinPlain and unifiedMaxPlain). More...
 
void deleteStoredVectors ()
 Deletes all the stored vectors. More...
 
void append (const BaseVectorSequence< V, M > &src, unsigned int initialPos, unsigned int numPos)
 Appends the vector src to this vector. More...
 
double subPositionsOfMaximum (const ScalarSequence< double > &subCorrespondingScalarValues, BaseVectorSequence< V, M > &subPositionsOfMaximum)
 Finds the positions where the maximum element occurs in the sub-sequence. More...
 
double unifiedPositionsOfMaximum (const ScalarSequence< double > &subCorrespondingScalarValues, BaseVectorSequence< V, M > &unifiedPositionsOfMaximum)
 Finds the positions where the maximum element occurs in the unified sequence. More...
 
virtual void resizeSequence (unsigned int newSubSequenceSize)=0
 Resize the sequence. See template specialization. More...
 
virtual void resetValues (unsigned int initialPos, unsigned int numPos)=0
 Reset the values of the sequence. See template specialization. More...
 
virtual void erasePositions (unsigned int initialPos, unsigned int numPos)=0
 Erase numPos positions in the sequence, starting at position initialPos. More...
 
virtual void getPositionValues (unsigned int posId, V &vec) const =0
 Gets the values of the sequence at position posId and stores them at vec. See template specialization. More...
 
virtual void setPositionValues (unsigned int posId, const V &vec)=0
 Set the values in vec at position posId of the sequence. See template specialization. More...
 
void setGaussian (const V &meanVec, const V &stdDevVec)
 Sets the values of the sequence as a Gaussian distribution of mean given by meanVec and standard deviation by stdDevVec. More...
 
void setUniform (const V &aVec, const V &bVec)
 Sets the values of the sequence as a uniform distribution between the values given by vectors aVec and bVec. More...
 
virtual void subMeanExtra (unsigned int initialPos, unsigned int numPos, V &meanVec) const =0
 Finds the mean value of the sub-sequence, considering numPos positions starting at position initialPos. See template specialization. More...
 
virtual void unifiedMeanExtra (unsigned int initialPos, unsigned int numPos, V &unifiedMeanVec) const =0
 Finds the mean value of the unified sequence of numPos positions starting at position initialPos. See template specialization. More...
 
virtual void subMedianExtra (unsigned int initialPos, unsigned int numPos, V &medianVec) const =0
 Finds the median value of the sub-sequence, considering numPos positions starting at position initialPos. See template specialization. More...
 
virtual void unifiedMedianExtra (unsigned int initialPos, unsigned int localNumPos, V &unifiedMedianVec) const =0
 Finds the median value of the unified sequence, considering numPos positions starting at position initialPos. See template specialization. More...
 
virtual void subSampleVarianceExtra (unsigned int initialPos, unsigned int numPos, const V &meanVec, V &samVec) const =0
 Finds the sample variance of the sub-sequence, considering numPos positions starting at position initialPos and of mean meanVec. See template specialization. More...
 
virtual void unifiedSampleVarianceExtra (unsigned int initialPos, unsigned int numPos, const V &unifiedMeanVec, V &unifiedSamVec) const =0
 Finds the sample variance of the unified sequence, considering numPos positions starting at position initialPos and of mean meanVec. See template specialization. More...
 
virtual void subPopulationVariance (unsigned int initialPos, unsigned int numPos, const V &meanVec, V &popVec) const =0
 Finds the population variance of the sub-sequence, considering numPos positions starting at position initialPos and of mean meanVec. See template specialization. More...
 
virtual void unifiedPopulationVariance (unsigned int initialPos, unsigned int numPos, const V &unifiedMeanVec, V &unifiedPopVec) const =0
 Finds the population variance of the unified-sequence, considering numPos positions starting at position initialPos and of mean meanVec. See template specialization. More...
 
virtual void autoCovariance (unsigned int initialPos, unsigned int numPos, const V &meanVec, unsigned int lag, V &covVec) const =0
 Calculates the autocovariance. See template specialization. More...
 
virtual void autoCorrViaDef (unsigned int initialPos, unsigned int numPos, unsigned int lag, V &corrVec) const =0
 Calculates autocorrelation via definition. See template specialization. More...
 
virtual void autoCorrViaFft (unsigned int initialPos, unsigned int numPos, const std::vector< unsigned int > &lags, std::vector< V * > &corrVecs) const =0
 Calculates autocorrelation via Fast Fourier transforms (FFT). See template specialization. More...
 
virtual void autoCorrViaFft (unsigned int initialPos, unsigned int numPos, unsigned int numSum, V &autoCorrsSumVec) const =0
 Calculates autocorrelation via Fast Fourier transforms (FFT). See template specialization. More...
 
virtual void subMinMaxExtra (unsigned int initialPos, unsigned int numPos, V &minVec, V &maxVec) const =0
 Finds the minimum and the maximum values of the sub-sequence, considering numPos positions starting at position initialPos. See template specialization. More...
 
virtual void unifiedMinMaxExtra (unsigned int initialPos, unsigned int numPos, V &unifiedMinVec, V &unifiedMaxVec) const =0
 Finds the minimum and the maximum values of the unified sequence, considering numPos positions starting at position initialPos. See template specialization. More...
 
virtual void subHistogram (unsigned int initialPos, const V &minVec, const V &maxVec, std::vector< V * > &centersForAllBins, std::vector< V * > &quanttsForAllBins) const =0
 Calculates the histogram of the sub-sequence. See template specialization. More...
 
virtual void unifiedHistogram (unsigned int initialPos, const V &unifiedMinVec, const V &unifiedMaxVec, std::vector< V * > &unifiedCentersForAllBins, std::vector< V * > &unifiedQuanttsForAllBins) const =0
 Calculates the histogram of the unified sequence. See template specialization. More...
 
virtual void subInterQuantileRange (unsigned int initialPos, V &iqrVec) const =0
 Returns the interquartile range of the values in the sub-sequence. See template specialization. More...
 
virtual void unifiedInterQuantileRange (unsigned int initialPos, V &unifiedIqrVec) const =0
 Returns the interquartile range of the values in the unified sequence. See template specialization. More...
 
virtual void subScalesForKde (unsigned int initialPos, const V &iqrVec, unsigned int kdeDimension, V &scaleVec) const =0
 Selects the scales (bandwidth, scaleVec) for the kernel density estimation, considering only the sub-sequence. See template specialization. More...
 
virtual void unifiedScalesForKde (unsigned int initialPos, const V &unifiedIqrVec, unsigned int kdeDimension, V &unifiedScaleVec) const =0
 Selects the scales (bandwidth) for the kernel density estimation, considering the unified sequence. See template specialization. More...
 
virtual void subGaussian1dKde (unsigned int initialPos, const V &scaleVec, const std::vector< V * > &evaluationParamVecs, std::vector< V * > &densityVecs) const =0
 Gaussian kernel for the KDE estimate of the sub-sequence. See template specialization. More...
 
virtual void unifiedGaussian1dKde (unsigned int initialPos, const V &unifiedScaleVec, const std::vector< V * > &unifiedEvaluationParamVecs, std::vector< V * > &unifiedDensityVecs) const =0
 Gaussian kernel for the KDE estimate of the unified sequence. See template specialization. More...
 
virtual void subWriteContents (unsigned int initialPos, unsigned int numPos, const std::string &fileName, const std::string &fileType, const std::set< unsigned int > &allowedSubEnvIds) const =0
 Writes info of the sub-sequence to a file. See template specialization. More...
 
virtual void subWriteContents (unsigned int initialPos, unsigned int numPos, std::ofstream &ofsvar, const std::string &fileType) const =0
 Writes info of the sub-sequence to a file. See template specialization. More...
 
virtual void unifiedWriteContents (const std::string &fileName, const std::string &fileType) const =0
 Writes info of the unified sequence to a file. See template specialization. More...
 
virtual void unifiedReadContents (const std::string &fileName, const std::string &fileType, const unsigned int subSequenceSize)=0
 Reads info of the unified sequence from a file. See template specialization. More...
 
virtual void select (const std::vector< unsigned int > &idsOfUniquePositions)=0
 Select positions in the sequence of vectors. See template specialization. More...
 
virtual void filter (unsigned int initialPos, unsigned int spacing)=0
 Filters positions in the sequence of vectors, starting at initialPos, and with spacing given by spacing. See template specialization. More...
 
void computeFilterParams (std::ofstream *passedOfs, unsigned int &initialPos, unsigned int &spacing)
 Computes the filtering parameters spacing for the sequence of vectors. More...
 
virtual double estimateConvBrooksGelman (unsigned int initialPos, unsigned int numPos) const =0
 Estimates convergence rate using Brooks & Gelman method. See template specialization. More...
 
virtual void extractScalarSeq (unsigned int initialPos, unsigned int spacing, unsigned int numPos, unsigned int paramId, ScalarSequence< double > &scalarSeq) const =0
 Extracts a sequence of scalars of size numPos, starting at position initialPos, given spacing spacing. See template specialization. More...
 

Protected Member Functions

void copy (const BaseVectorSequence< V, M > &src)
 Copies vector sequence src to this. More...
 
virtual void extractRawData (unsigned int initialPos, unsigned int spacing, unsigned int numPos, unsigned int paramId, std::vector< double > &rawData) const =0
 Extracts the raw data. See template specialization. More...
 

Protected Attributes

const BaseEnvironmentm_env
 
const VectorSpace< V, M > & m_vectorSpace
 
std::string m_name
 
Fft< double > * m_fftObj
 
V * m_subMinPlain
 
V * m_unifiedMinPlain
 
V * m_subMaxPlain
 
V * m_unifiedMaxPlain
 
V * m_subMeanPlain
 
V * m_unifiedMeanPlain
 
V * m_subMedianPlain
 
V * m_unifiedMedianPlain
 
V * m_subSampleVariancePlain
 
V * m_unifiedSampleVariancePlain
 
BoxSubset< V, M > * m_subBoxPlain
 
BoxSubset< V, M > * m_unifiedBoxPlain
 

Detailed Description

template<class V, class M>
class QUESO::BaseVectorSequence< V, M >

Base class for handling vector and array samples (sequence of vectors or arrays).

This class handles either vector or array samples generated by an algorithm, as well as operations that can be carried over them, e.g., calculation of means, correlation and covariance matrices.

Definition at line 54 of file VectorSequence.h.

Constructor & Destructor Documentation

template<class V, class M>
QUESO::BaseVectorSequence< V, M >::BaseVectorSequence ( const VectorSpace< V, M > &  vectorSpace,
unsigned int  subSequenceSize,
const std::string &  name 
)

Default constructor.

Definition at line 34 of file VectorSequence.C.

38  :
39  m_env (vectorSpace.env()),
41  m_name (name),
42  m_fftObj (new Fft<double>(m_env)),
43  m_subMinPlain (NULL),
44  m_unifiedMinPlain (NULL),
45  m_subMaxPlain (NULL),
46  m_unifiedMaxPlain (NULL),
47  m_subMeanPlain (NULL),
48  m_unifiedMeanPlain (NULL),
49  m_subMedianPlain (NULL),
50  m_unifiedMedianPlain (NULL),
53  m_subBoxPlain (NULL),
54  m_unifiedBoxPlain (NULL)
55 {
56  if (subSequenceSize) {}; // just to avoid compiler warning
57 }
BoxSubset< V, M > * m_subBoxPlain
const VectorSpace< V, M > & m_vectorSpace
const BaseEnvironment & m_env
const std::string & name() const
Access to protected attribute m_name: name of the sequence of vectors.
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
const VectorSpace< V, M > & vectorSpace() const
Vector space; access to protected attribute VectorSpace&lt;V,M&gt;&amp; m_vectorSpace.
BoxSubset< V, M > * m_unifiedBoxPlain
template<class V , class M >
QUESO::BaseVectorSequence< V, M >::~BaseVectorSequence ( )
virtual

Destructor.

Definition at line 60 of file VectorSequence.C.

61 {
62  //clear();
63  this->deleteStoredVectors();
64  if (m_fftObj != NULL) delete m_fftObj;
65 }
void deleteStoredVectors()
Deletes all the stored vectors.

Member Function Documentation

template<class V, class M>
void QUESO::BaseVectorSequence< V, M >::append ( const BaseVectorSequence< V, M > &  src,
unsigned int  initialPos,
unsigned int  numPos 
)

Appends the vector src to this vector.

This routine deletes all stored computed vectors

Definition at line 357 of file VectorSequence.C.

References QUESO::BaseVectorSequence< V, M >::getPositionValues(), QUESO::BaseVectorSequence< V, M >::subSequenceSize(), UQ_FATAL_TEST_MACRO, and QUESO::BaseVectorSequence< V, M >::vectorSpace().

Referenced by QUESO::MLSampling< P_V, P_M >::generateBalLinkedChains_all(), and QUESO::MLSampling< P_V, P_M >::generateUnbLinkedChains_all().

361 {
362  UQ_FATAL_TEST_MACRO((src.subSequenceSize() < (initialPos+1)),
363  m_env.worldRank(),
364  "BaseVectorSequence<V,M>::append()",
365  "initialPos is too big");
366 
367  UQ_FATAL_TEST_MACRO((src.subSequenceSize() < (initialPos+numPos)),
368  m_env.worldRank(),
369  "BaseVectorSequence<V,M>::append()",
370  "numPos is too big");
371 
372  this->deleteStoredVectors();
373  unsigned int currentSize = this->subSequenceSize();
374  this->resizeSequence(currentSize+numPos);
375  V tmpVec(src.vectorSpace().zeroVector());
376  for (unsigned int i = 0; i < numPos; ++i) {
377  src.getPositionValues(initialPos+i,tmpVec);
378  this->setPositionValues(currentSize+i,tmpVec);
379  }
380 
381  return;
382 }
void deleteStoredVectors()
Deletes all the stored vectors.
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
virtual void setPositionValues(unsigned int posId, const V &vec)=0
Set the values in vec at position posId of the sequence. See template specialization.
const BaseEnvironment & m_env
virtual void resizeSequence(unsigned int newSubSequenceSize)=0
Resize the sequence. See template specialization.
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::autoCorrViaDef ( unsigned int  initialPos,
unsigned int  numPos,
unsigned int  lag,
V &  corrVec 
) const
pure virtual

Calculates autocorrelation via definition. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >, and QUESO::ArrayOfSequences< V, M >.

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::autoCorrViaFft ( unsigned int  initialPos,
unsigned int  numPos,
const std::vector< unsigned int > &  lags,
std::vector< V * > &  corrVecs 
) const
pure virtual

Calculates autocorrelation via Fast Fourier transforms (FFT). See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >, and QUESO::ArrayOfSequences< V, M >.

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::autoCorrViaFft ( unsigned int  initialPos,
unsigned int  numPos,
unsigned int  numSum,
V &  autoCorrsSumVec 
) const
pure virtual

Calculates autocorrelation via Fast Fourier transforms (FFT). See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >, and QUESO::ArrayOfSequences< V, M >.

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::autoCovariance ( unsigned int  initialPos,
unsigned int  numPos,
const V &  meanVec,
unsigned int  lag,
V &  covVec 
) const
pure virtual

Calculates the autocovariance. See template specialization.

The autocovariance is the covariance of a variable with itself at some other time. It is calculated over a sequence of vectors with initial position initialPos, considering numPos positions, a lag of lag, with mean given by meanVec. The results are saved in the output vector covVec/

Implemented in QUESO::SequenceOfVectors< V, M >, and QUESO::ArrayOfSequences< V, M >.

template<class V , class M >
void QUESO::BaseVectorSequence< V, M >::clear ( )

Reset the values and the size of the sequence of vectors.

Definition at line 136 of file VectorSequence.C.

Referenced by QUESO::MLSampling< P_V, P_M >::generateSequence(), and QUESO::MLSampling< P_V, P_M >::generateSequence_Step02_inter0().

137 {
138  unsigned int numPos = this->subSequenceSize();
139  if (numPos) {
140  this->resetValues(0,numPos);
141  this->resizeSequence(0);
142  }
143 
144  return;
145 }
virtual void resizeSequence(unsigned int newSubSequenceSize)=0
Resize the sequence. See template specialization.
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
virtual void resetValues(unsigned int initialPos, unsigned int numPos)=0
Reset the values of the sequence. See template specialization.
template<class V , class M >
void QUESO::BaseVectorSequence< V, M >::computeFilterParams ( std::ofstream *  passedOfs,
unsigned int &  initialPos,
unsigned int &  spacing 
)

Computes the filtering parameters spacing for the sequence of vectors.

Definition at line 641 of file VectorSequence.C.

References UQ_FATAL_TEST_MACRO.

Referenced by QUESO::MLSampling< P_V, P_M >::generateSequence(), QUESO::MetropolisHastingsSG< P_V, P_M >::generateSequence(), and QUESO::MLSampling< P_V, P_M >::generateSequence_Step11_inter0().

645 {
646  if (m_env.subDisplayFile()) {
647  *m_env.subDisplayFile() << "\n"
648  << "\n-----------------------------------------------------"
649  << "\n Computing filter parameters for chain '" << m_name << "' ..."
650  << "\n-----------------------------------------------------"
651  << "\n"
652  << std::endl;
653  }
654 
655  bool okSituation = ((passedOfs == NULL ) ||
656  ((passedOfs != NULL) && (m_env.subRank() >= 0)));
657  UQ_FATAL_TEST_MACRO(!okSituation,
658  m_env.worldRank(),
659  "BaseVectorSequence<V,M>::computeFilterParams()",
660  "unexpected combination of file pointer and subRank");
661 
662  //initialPos = 0;
663  spacing = 1;
664 
665  if (m_env.subDisplayFile()) {
666  *m_env.subDisplayFile() << "\n-----------------------------------------------------"
667  << "\n Finished computing filter parameters for chain '" << m_name << "'"
668  << ": initialPos = " << initialPos
669  << ", spacing = " << spacing
670  << "\n-----------------------------------------------------"
671  << "\n"
672  << std::endl;
673  }
674 
675  return;
676 }
int subRank() const
Access function for sub-rank.
Definition: Environment.C:263
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:305
const BaseEnvironment & m_env
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223
template<class V, class M>
void QUESO::BaseVectorSequence< V, M >::copy ( const BaseVectorSequence< V, M > &  src)
protected

Copies vector sequence src to this.

This routine deletes all stored computed vectors

Definition at line 681 of file VectorSequence.C.

References QUESO::BaseVectorSequence< V, M >::m_name, QUESO::BaseVectorSequence< V, M >::m_vectorSpace, and UQ_FATAL_TEST_MACRO.

Referenced by QUESO::SequenceOfVectors< V, M >::copy().

682 {
683  // FIX ME: should check environments as well ???
684 
685  UQ_FATAL_TEST_MACRO(m_vectorSpace.dimLocal() != src.m_vectorSpace.dimLocal(),
686  m_env.worldRank(),
687  "SequenceOfVectors<V,M>::copy()",
688  "incompatible vector space dimensions");
689 
690  m_name = src.m_name;
691  this->deleteStoredVectors();
692 
693  return;
694 }
void deleteStoredVectors()
Deletes all the stored vectors.
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
const VectorSpace< V, M > & m_vectorSpace
const BaseEnvironment & m_env
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223
template<class V , class M >
void QUESO::BaseVectorSequence< V, M >::deleteStoredVectors ( )

Deletes all the stored vectors.

It deletes all stored vectors and assigns NULL value to the pointers: m_subMinPlain, m_unifiedMinPlain, m_subMaxPlain, m_unifiedMaxPlain, m_subMeanPlain, m_unifiedMeanPlain, m_subMedianPlain, m_unifiedMedianPlain, m_subBoxPlain, m_unifiedBoxPlain, m_subSampleVariancePlain, m_unifiedSampleVariancePlain.

Definition at line 301 of file VectorSequence.C.

Referenced by QUESO::ArrayOfSequences< V, M >::erasePositions(), QUESO::SequenceOfVectors< V, M >::erasePositions(), QUESO::ArrayOfSequences< V, M >::resetValues(), QUESO::SequenceOfVectors< V, M >::resetValues(), QUESO::ArrayOfSequences< V, M >::resizeSequence(), QUESO::SequenceOfVectors< V, M >::resizeSequence(), QUESO::ArrayOfSequences< V, M >::setGaussian(), QUESO::ArrayOfSequences< V, M >::setPositionValues(), QUESO::SequenceOfVectors< V, M >::setPositionValues(), and QUESO::ArrayOfSequences< V, M >::setUniform().

302 {
303  if (m_subMinPlain) {
304  delete m_subMinPlain;
305  m_subMinPlain = NULL;
306  }
307  if (m_unifiedMinPlain) {
308  delete m_unifiedMinPlain;
309  m_unifiedMinPlain = NULL;
310  }
311  if (m_subMaxPlain) {
312  delete m_subMaxPlain;
313  m_subMaxPlain = NULL;
314  }
315  if (m_unifiedMaxPlain) {
316  delete m_unifiedMaxPlain;
317  m_unifiedMaxPlain = NULL;
318  }
319  if (m_subMeanPlain) {
320  delete m_subMeanPlain;
321  m_subMeanPlain = NULL;
322  }
323  if (m_unifiedMeanPlain) {
324  delete m_unifiedMeanPlain;
325  m_unifiedMeanPlain = NULL;
326  }
327  if (m_subMedianPlain) {
328  delete m_subMedianPlain;
329  m_subMedianPlain = NULL;
330  }
331  if (m_unifiedMedianPlain) {
332  delete m_unifiedMedianPlain;
333  m_unifiedMedianPlain = NULL;
334  }
338  }
342  }
343  if (m_subBoxPlain) {
344  delete m_subBoxPlain;
345  m_subBoxPlain = NULL;
346  }
347  if (m_unifiedBoxPlain) {
348  delete m_unifiedBoxPlain;
349  m_unifiedBoxPlain = NULL;
350  }
351 
352  return;
353 }
BoxSubset< V, M > * m_subBoxPlain
BoxSubset< V, M > * m_unifiedBoxPlain
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::erasePositions ( unsigned int  initialPos,
unsigned int  numPos 
)
pure virtual

Erase numPos positions in the sequence, starting at position initialPos.

This routine deletes all stored computed vectors

Implemented in QUESO::SequenceOfVectors< V, M >, and QUESO::ArrayOfSequences< V, M >.

template<class V, class M>
virtual double QUESO::BaseVectorSequence< V, M >::estimateConvBrooksGelman ( unsigned int  initialPos,
unsigned int  numPos 
) const
pure virtual

Estimates convergence rate using Brooks & Gelman method. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

Referenced by QUESO::MetropolisHastingsSG< P_V, P_M >::generateFullChain().

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::extractRawData ( unsigned int  initialPos,
unsigned int  spacing,
unsigned int  numPos,
unsigned int  paramId,
std::vector< double > &  rawData 
) const
protectedpure virtual

Extracts the raw data. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >, and QUESO::ArrayOfSequences< V, M >.

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::extractScalarSeq ( unsigned int  initialPos,
unsigned int  spacing,
unsigned int  numPos,
unsigned int  paramId,
ScalarSequence< double > &  scalarSeq 
) const
pure virtual

Extracts a sequence of scalars of size numPos, starting at position initialPos, given spacing spacing. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >, and QUESO::ArrayOfSequences< V, M >.

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::filter ( unsigned int  initialPos,
unsigned int  spacing 
)
pure virtual

Filters positions in the sequence of vectors, starting at initialPos, and with spacing given by spacing. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >, and QUESO::ArrayOfSequences< V, M >.

Referenced by QUESO::MetropolisHastingsSG< P_V, P_M >::generateSequence().

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::getPositionValues ( unsigned int  posId,
V &  vec 
) const
pure virtual
template<class V , class M >
const std::string & QUESO::BaseVectorSequence< V, M >::name ( ) const

Access to protected attribute m_name: name of the sequence of vectors.

This method is used, for instance, to recover the name of a sequence of vector samples, such as the 'rawChain' for the raw chain of samples used in an Monte Carlo algorithm.

Definition at line 121 of file VectorSequence.C.

Referenced by QUESO::MonteCarloSG< P_V, P_M, Q_V, Q_M >::actualGenerateSequence(), QUESO::MetropolisHastingsSG< P_V, P_M >::generateFullChain(), QUESO::MetropolisHastingsSG< P_V, P_M >::generateSequence(), QUESO::MonteCarloSG< P_V, P_M, Q_V, Q_M >::internGenerateSequence(), and QUESO::MetropolisHastingsSG< P_V, P_M >::writeInfo().

122 {
123  return m_name;
124 }
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::resetValues ( unsigned int  initialPos,
unsigned int  numPos 
)
pure virtual

Reset the values of the sequence. See template specialization.

This routine deletes all stored computed vectors

Implemented in QUESO::SequenceOfVectors< V, M >, and QUESO::ArrayOfSequences< V, M >.

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::resizeSequence ( unsigned int  newSubSequenceSize)
pure virtual
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::select ( const std::vector< unsigned int > &  idsOfUniquePositions)
pure virtual

Select positions in the sequence of vectors. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >, and QUESO::ArrayOfSequences< V, M >.

template<class V, class M >
void QUESO::BaseVectorSequence< V, M >::setGaussian ( const V &  meanVec,
const V &  stdDevVec 
)

Sets the values of the sequence as a Gaussian distribution of mean given by meanVec and standard deviation by stdDevVec.

This routine deletes all stored computed vectors

Definition at line 611 of file VectorSequence.C.

612 {
613  V gaussianVector(m_vectorSpace.zeroVector());
614  for (unsigned int j = 0; j < this->subSequenceSize(); ++j) {
615  gaussianVector.cwSetGaussian(meanVec,stdDevVec);
616  this->setPositionValues(j,gaussianVector);
617  }
618 
619  this->deleteStoredVectors();
620 
621  return;
622 }
void deleteStoredVectors()
Deletes all the stored vectors.
const VectorSpace< V, M > & m_vectorSpace
virtual void setPositionValues(unsigned int posId, const V &vec)=0
Set the values in vec at position posId of the sequence. See template specialization.
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
template<class V , class M >
void QUESO::BaseVectorSequence< V, M >::setName ( const std::string &  newName)
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::setPositionValues ( unsigned int  posId,
const V &  vec 
)
pure virtual
template<class V, class M >
void QUESO::BaseVectorSequence< V, M >::setUniform ( const V &  aVec,
const V &  bVec 
)

Sets the values of the sequence as a uniform distribution between the values given by vectors aVec and bVec.

This routine deletes all stored computed vectors

Definition at line 626 of file VectorSequence.C.

627 {
628  V uniformVector(m_vectorSpace.zeroVector());
629  for (unsigned int j = 0; j < this->subSequenceSize(); ++j) {
630  uniformVector.cwSetUniform(aVec,bVec);
631  this->setPositionValues(j,uniformVector);
632  }
633 
634  this->deleteStoredVectors();
635 
636  return;
637 }
void deleteStoredVectors()
Deletes all the stored vectors.
const VectorSpace< V, M > & m_vectorSpace
virtual void setPositionValues(unsigned int posId, const V &vec)=0
Set the values in vec at position posId of the sequence. See template specialization.
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
template<class V , class M >
const BoxSubset< V, M > & QUESO::BaseVectorSequence< V, M >::subBoxPlain ( ) const

Finds a box subset of the sub-sequence (given by its min and max values calculated via subMinPlain and subMaxPlain).

Definition at line 273 of file VectorSequence.C.

274 {
275  if (m_subBoxPlain == NULL) {
276  m_subBoxPlain = new BoxSubset<V,M>(m_name.c_str(),
278  this->subMinPlain(),
279  this->subMaxPlain());
280  }
281 
282  return *m_subBoxPlain;
283 }
BoxSubset< V, M > * m_subBoxPlain
const V & subMaxPlain() const
Finds the maximum value of the sub-sequence.
const VectorSpace< V, M > & m_vectorSpace
const V & subMinPlain() const
Finds the minimum value of the sub-sequence.
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::subGaussian1dKde ( unsigned int  initialPos,
const V &  scaleVec,
const std::vector< V * > &  evaluationParamVecs,
std::vector< V * > &  densityVecs 
) const
pure virtual

Gaussian kernel for the KDE estimate of the sub-sequence. See template specialization.

Computes a probability density estimate of the sample in this sub-sequence, starting at position initialPos. densityVecs is the vector of density values evaluated at the points in evaluationParamVecs. The estimate is based on Gaussian (normal) kernel function, using a window parameter (scaleVec).

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::subHistogram ( unsigned int  initialPos,
const V &  minVec,
const V &  maxVec,
std::vector< V * > &  centersForAllBins,
std::vector< V * > &  quanttsForAllBins 
) const
pure virtual

Calculates the histogram of the sub-sequence. See template specialization.

The IQR is a robust estimate of the spread of the data, since changes in the upper and lower 25% of the data do not affect it. If there are outliers in the data, then the IQR is more representative than the standard deviation as an estimate of the spread of the body of the data. The IQR is less efficient than the standard deviation as an estimate of the spread when the data is all from the normal distribution. (from Matlab)

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::subInterQuantileRange ( unsigned int  initialPos,
V &  iqrVec 
) const
pure virtual

Returns the interquartile range of the values in the sub-sequence. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V , class M >
const V & QUESO::BaseVectorSequence< V, M >::subMaxPlain ( ) const

Finds the maximum value of the sub-sequence.

Definition at line 175 of file VectorSequence.C.

176 {
177  if (m_subMaxPlain == NULL) {
178  if (m_subMinPlain == NULL) m_subMinPlain = m_vectorSpace.newVector();
179  m_subMaxPlain = m_vectorSpace.newVector();
181  }
182 
183  return *m_subMaxPlain;
184 }
const VectorSpace< V, M > & m_vectorSpace
virtual void subMinMaxExtra(unsigned int initialPos, unsigned int numPos, V &minVec, V &maxVec) const =0
Finds the minimum and the maximum values of the sub-sequence, considering numPos positions starting a...
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::subMeanExtra ( unsigned int  initialPos,
unsigned int  numPos,
V &  meanVec 
) const
pure virtual

Finds the mean value of the sub-sequence, considering numPos positions starting at position initialPos. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

Referenced by QUESO::MetropolisHastingsSG< P_V, P_M >::updateAdaptedCovMatrix().

template<class V , class M >
const V & QUESO::BaseVectorSequence< V, M >::subMeanPlain ( ) const

Finds the mean value of the sub-sequence.

Definition at line 201 of file VectorSequence.C.

Referenced by QUESO::MetropolisHastingsSG< P_V, P_M >::updateAdaptedCovMatrix().

202 {
203  if (m_subMeanPlain == NULL) {
204  m_subMeanPlain = m_vectorSpace.newVector();
206  }
207 
208  return *m_subMeanPlain;
209 }
const VectorSpace< V, M > & m_vectorSpace
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
virtual void subMeanExtra(unsigned int initialPos, unsigned int numPos, V &meanVec) const =0
Finds the mean value of the sub-sequence, considering numPos positions starting at position initialPo...
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::subMedianExtra ( unsigned int  initialPos,
unsigned int  numPos,
V &  medianVec 
) const
pure virtual

Finds the median value of the sub-sequence, considering numPos positions starting at position initialPos. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V , class M >
const V & QUESO::BaseVectorSequence< V, M >::subMedianPlain ( ) const

Finds the median value of the sub-sequence.

Definition at line 225 of file VectorSequence.C.

226 {
227  if (m_subMedianPlain == NULL) {
228  m_subMedianPlain = m_vectorSpace.newVector();
230  }
231 
232  return *m_subMedianPlain;
233 }
virtual void subMedianExtra(unsigned int initialPos, unsigned int numPos, V &medianVec) const =0
Finds the median value of the sub-sequence, considering numPos positions starting at position initial...
const VectorSpace< V, M > & m_vectorSpace
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::subMinMaxExtra ( unsigned int  initialPos,
unsigned int  numPos,
V &  minVec,
V &  maxVec 
) const
pure virtual

Finds the minimum and the maximum values of the sub-sequence, considering numPos positions starting at position initialPos. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V , class M >
const V & QUESO::BaseVectorSequence< V, M >::subMinPlain ( ) const

Finds the minimum value of the sub-sequence.

Definition at line 149 of file VectorSequence.C.

150 {
151  if (m_subMinPlain == NULL) {
152  m_subMinPlain = m_vectorSpace.newVector();
153  if (m_subMaxPlain == NULL) m_subMaxPlain = m_vectorSpace.newVector();
155  }
156 
157  return *m_subMinPlain;
158 }
const VectorSpace< V, M > & m_vectorSpace
virtual void subMinMaxExtra(unsigned int initialPos, unsigned int numPos, V &minVec, V &maxVec) const =0
Finds the minimum and the maximum values of the sub-sequence, considering numPos positions starting a...
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::subPopulationVariance ( unsigned int  initialPos,
unsigned int  numPos,
const V &  meanVec,
V &  popVec 
) const
pure virtual

Finds the population variance of the sub-sequence, considering numPos positions starting at position initialPos and of mean meanVec. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V, class M>
double QUESO::BaseVectorSequence< V, M >::subPositionsOfMaximum ( const ScalarSequence< double > &  subCorrespondingScalarValues,
BaseVectorSequence< V, M > &  subPositionsOfMaximum 
)

Finds the positions where the maximum element occurs in the sub-sequence.

Definition at line 386 of file VectorSequence.C.

References QUESO::BaseVectorSequence< V, M >::resizeSequence(), QUESO::BaseVectorSequence< V, M >::setPositionValues(), QUESO::ScalarSequence< T >::subMaxPlain(), QUESO::ScalarSequence< T >::subSequenceSize(), and UQ_FATAL_TEST_MACRO.

Referenced by QUESO::MetropolisHastingsSG< P_V, P_M >::generateSequence().

389 {
390  if (m_env.subDisplayFile()) {
391  *m_env.subDisplayFile() << "Entering BaseVectorSequence<V,M>::subPositionsOfMaximum()"
392  << ": subCorrespondingScalarValues,subSequenceSize() = " << subCorrespondingScalarValues.subSequenceSize()
393  << ", this->subSequenceSize = " << this->subSequenceSize()
394  << std::endl;
395  }
396 
397  UQ_FATAL_TEST_MACRO(subCorrespondingScalarValues.subSequenceSize() != this->subSequenceSize(),
398  m_env.worldRank(),
399  "BaseVectorSequence<V,M>::subPositionsOfMaximum()",
400  "invalid input");
401 
402  double subMaxValue = subCorrespondingScalarValues.subMaxPlain();
403  unsigned int iMax = subCorrespondingScalarValues.subSequenceSize();
404 
405  unsigned int subNumPos = 0;
406  for (unsigned int i = 0; i < iMax; ++i) {
407  if (subCorrespondingScalarValues[i] == subMaxValue) {
408  subNumPos++;
409  }
410  }
411 
412  V tmpVec(this->vectorSpace().zeroVector());
413  subPositionsOfMaximum.resizeSequence(subNumPos);
414  unsigned int j = 0;
415  for (unsigned int i = 0; i < iMax; ++i) {
416  if (subCorrespondingScalarValues[i] == subMaxValue) {
417  this->getPositionValues (i,tmpVec);
418  subPositionsOfMaximum.setPositionValues(j,tmpVec);
419  j++;
420  }
421  }
422 
423  if (m_env.subDisplayFile()) {
424  *m_env.subDisplayFile() << "Leaving BaseVectorSequence<V,M>::subPositionsOfMaximum()"
425  << std::endl;
426  }
427 
428  return subMaxValue;
429 }
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:305
const BaseEnvironment & m_env
const T & subMaxPlain() const
Finds the maximum value of the sub-sequence of scalars.
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
double subPositionsOfMaximum(const ScalarSequence< double > &subCorrespondingScalarValues, BaseVectorSequence< V, M > &subPositionsOfMaximum)
Finds the positions where the maximum element occurs in the sub-sequence.
const VectorSpace< V, M > & vectorSpace() const
Vector space; access to protected attribute VectorSpace&lt;V,M&gt;&amp; m_vectorSpace.
unsigned int subSequenceSize() const
Size of the sub-sequence of scalars.
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223
virtual void getPositionValues(unsigned int posId, V &vec) const =0
Gets the values of the sequence at position posId and stores them at vec. See template specialization...
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::subSampleVarianceExtra ( unsigned int  initialPos,
unsigned int  numPos,
const V &  meanVec,
V &  samVec 
) const
pure virtual

Finds the sample variance of the sub-sequence, considering numPos positions starting at position initialPos and of mean meanVec. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V , class M >
const V & QUESO::BaseVectorSequence< V, M >::subSampleVariancePlain ( ) const

Finds the variance of a sample of the sub-sequence.

Definition at line 249 of file VectorSequence.C.

250 {
251  if (m_subSampleVariancePlain == NULL) {
254  }
255 
256  return *m_subSampleVariancePlain;
257 }
virtual void subSampleVarianceExtra(unsigned int initialPos, unsigned int numPos, const V &meanVec, V &samVec) const =0
Finds the sample variance of the sub-sequence, considering numPos positions starting at position init...
const VectorSpace< V, M > & m_vectorSpace
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
const V & subMeanPlain() const
Finds the mean value of the sub-sequence.
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::subScalesForKde ( unsigned int  initialPos,
const V &  iqrVec,
unsigned int  kdeDimension,
V &  scaleVec 
) const
pure virtual

Selects the scales (bandwidth, scaleVec) for the kernel density estimation, considering only the sub-sequence. See template specialization.

The bandwidth of the kernel is a free parameter which exhibits a strong influence on the resulting estimate. Silverman (1986) suggests the following normal-based estimates: S1 = 1.06 × (standard deviation) × n^{-1/5} S2 = 0.79 × (iqrVec) × n^{-1/5}, where iqrVec is the interquartile range scaleVec = 0.90 × minimum(standard deviation, iqrVec /1.34) × n^{-1/5}. These estimates are popular due to their simplicity, and are used in QUESO with the adaptation of the exponent oven the sample size n (-1/5) with -1/(4 + kdeDimension) where kdeDimension is the KDE dimension.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V, class M>
virtual unsigned int QUESO::BaseVectorSequence< V, M >::subSequenceSize ( ) const
pure virtual
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::subWriteContents ( unsigned int  initialPos,
unsigned int  numPos,
const std::string &  fileName,
const std::string &  fileType,
const std::set< unsigned int > &  allowedSubEnvIds 
) const
pure virtual
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::subWriteContents ( unsigned int  initialPos,
unsigned int  numPos,
std::ofstream &  ofsvar,
const std::string &  fileType 
) const
pure virtual

Writes info of the sub-sequence to a file. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V , class M >
const BoxSubset< V, M > & QUESO::BaseVectorSequence< V, M >::unifiedBoxPlain ( ) const

Finds a box subset of the unified-sequence (given by the min and max values of the unified sequence calculated via unifiedMinPlain and unifiedMaxPlain).

Definition at line 287 of file VectorSequence.C.

288 {
289  if (m_unifiedBoxPlain == NULL) {
290  m_unifiedBoxPlain = new BoxSubset<V,M>(m_name.c_str(),
292  this->unifiedMinPlain(),
293  this->unifiedMaxPlain());
294  }
295 
296  return *m_unifiedBoxPlain;
297 }
const V & unifiedMaxPlain() const
Finds the maximum value of the unified sequence.
const VectorSpace< V, M > & m_vectorSpace
const V & unifiedMinPlain() const
Finds the minimum value of the unified sequence.
BoxSubset< V, M > * m_unifiedBoxPlain
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::unifiedGaussian1dKde ( unsigned int  initialPos,
const V &  unifiedScaleVec,
const std::vector< V * > &  unifiedEvaluationParamVecs,
std::vector< V * > &  unifiedDensityVecs 
) const
pure virtual

Gaussian kernel for the KDE estimate of the unified sequence. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::unifiedHistogram ( unsigned int  initialPos,
const V &  unifiedMinVec,
const V &  unifiedMaxVec,
std::vector< V * > &  unifiedCentersForAllBins,
std::vector< V * > &  unifiedQuanttsForAllBins 
) const
pure virtual

Calculates the histogram of the unified sequence. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::unifiedInterQuantileRange ( unsigned int  initialPos,
V &  unifiedIqrVec 
) const
pure virtual

Returns the interquartile range of the values in the unified sequence. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V , class M >
const V & QUESO::BaseVectorSequence< V, M >::unifiedMaxPlain ( ) const

Finds the maximum value of the unified sequence.

Definition at line 188 of file VectorSequence.C.

189 {
190  if (m_unifiedMaxPlain == NULL) {
191  if (m_unifiedMinPlain == NULL) m_unifiedMinPlain = m_vectorSpace.newVector();
192  m_unifiedMaxPlain = m_vectorSpace.newVector();
194  }
195 
196  return *m_unifiedMaxPlain;
197 }
const VectorSpace< V, M > & m_vectorSpace
virtual void unifiedMinMaxExtra(unsigned int initialPos, unsigned int numPos, V &unifiedMinVec, V &unifiedMaxVec) const =0
Finds the minimum and the maximum values of the unified sequence, considering numPos positions starti...
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::unifiedMeanExtra ( unsigned int  initialPos,
unsigned int  numPos,
V &  unifiedMeanVec 
) const
pure virtual

Finds the mean value of the unified sequence of numPos positions starting at position initialPos. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

Referenced by QUESO::ComputeCovCorrMatricesBetweenVectorSequences().

template<class V , class M >
const V & QUESO::BaseVectorSequence< V, M >::unifiedMeanPlain ( ) const

Finds the mean value of the unified sequence.

Definition at line 213 of file VectorSequence.C.

214 {
215  if (m_unifiedMeanPlain == NULL) {
216  m_unifiedMeanPlain = m_vectorSpace.newVector();
218  }
219 
220  return *m_unifiedMeanPlain;
221 }
virtual void unifiedMeanExtra(unsigned int initialPos, unsigned int numPos, V &unifiedMeanVec) const =0
Finds the mean value of the unified sequence of numPos positions starting at position initialPos...
const VectorSpace< V, M > & m_vectorSpace
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::unifiedMedianExtra ( unsigned int  initialPos,
unsigned int  localNumPos,
V &  unifiedMedianVec 
) const
pure virtual

Finds the median value of the unified sequence, considering numPos positions starting at position initialPos. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V , class M >
const V & QUESO::BaseVectorSequence< V, M >::unifiedMedianPlain ( ) const

Finds the median value of the unified sequence.

Definition at line 237 of file VectorSequence.C.

238 {
239  if (m_unifiedMedianPlain == NULL) {
240  m_unifiedMedianPlain = m_vectorSpace.newVector();
242  }
243 
244  return *m_unifiedMedianPlain;
245 }
virtual void unifiedMedianExtra(unsigned int initialPos, unsigned int localNumPos, V &unifiedMedianVec) const =0
Finds the median value of the unified sequence, considering numPos positions starting at position ini...
const VectorSpace< V, M > & m_vectorSpace
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::unifiedMinMaxExtra ( unsigned int  initialPos,
unsigned int  numPos,
V &  unifiedMinVec,
V &  unifiedMaxVec 
) const
pure virtual

Finds the minimum and the maximum values of the unified sequence, considering numPos positions starting at position initialPos. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V , class M >
const V & QUESO::BaseVectorSequence< V, M >::unifiedMinPlain ( ) const

Finds the minimum value of the unified sequence.

Definition at line 162 of file VectorSequence.C.

163 {
164  if (m_unifiedMinPlain == NULL) {
165  m_unifiedMinPlain = m_vectorSpace.newVector();
166  if (m_unifiedMaxPlain == NULL) m_unifiedMaxPlain = m_vectorSpace.newVector();
168  }
169 
170  return *m_unifiedMinPlain;
171 }
const VectorSpace< V, M > & m_vectorSpace
virtual void unifiedMinMaxExtra(unsigned int initialPos, unsigned int numPos, V &unifiedMinVec, V &unifiedMaxVec) const =0
Finds the minimum and the maximum values of the unified sequence, considering numPos positions starti...
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::unifiedPopulationVariance ( unsigned int  initialPos,
unsigned int  numPos,
const V &  unifiedMeanVec,
V &  unifiedPopVec 
) const
pure virtual

Finds the population variance of the unified-sequence, considering numPos positions starting at position initialPos and of mean meanVec. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V, class M>
double QUESO::BaseVectorSequence< V, M >::unifiedPositionsOfMaximum ( const ScalarSequence< double > &  subCorrespondingScalarValues,
BaseVectorSequence< V, M > &  unifiedPositionsOfMaximum 
)

Finds the positions where the maximum element occurs in the unified sequence.

Parameters
thisThe underlying sequence of vectors
subCorrespondingScalarValuesFor a given process, a scalar sequence where element i corresponds to element i of this.
unifiedPositionsOfMaximumUpon returning, on process 0 on chain 0, this will contain states that correspond to the unique maximum value in subCorrespondingScalarValues over all processes.
Returns
Maximum element of subCorrespondingScalarValues over all processes.

Definition at line 433 of file VectorSequence.C.

References QUESO::BaseVectorSequence< V, M >::getPositionValues(), RawValue_MPI_DOUBLE, RawValue_MPI_INT, RawValue_MPI_MAX, RawValue_MPI_SUM, QUESO::BaseVectorSequence< V, M >::resizeSequence(), QUESO::BaseVectorSequence< V, M >::setPositionValues(), QUESO::ScalarSequence< T >::subMaxPlain(), QUESO::ScalarSequence< T >::subSequenceSize(), and UQ_FATAL_TEST_MACRO.

Referenced by QUESO::MetropolisHastingsSG< P_V, P_M >::generateSequence().

436 {
437  if (m_env.subDisplayFile()) {
438  *m_env.subDisplayFile() << "Entering BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()"
439  << ": subCorrespondingScalarValues,subSequenceSize() = " << subCorrespondingScalarValues.subSequenceSize()
440  << ", this->subSequenceSize = " << this->subSequenceSize()
441  << std::endl;
442  }
443 
444  UQ_FATAL_TEST_MACRO(subCorrespondingScalarValues.subSequenceSize() != this->subSequenceSize(),
445  m_env.worldRank(),
446  "BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()",
447  "invalid input");
448 
449  // Compute the max on each process
450  double subMaxValue = subCorrespondingScalarValues.subMaxPlain();
451 
452  //******************************************************************
453  // Get overall max
454  //******************************************************************
455  double unifiedMaxValue;
456  std::vector<double> sendbufPos(1,0.);
457  for (unsigned int i = 0; i < sendbufPos.size(); ++i) {
458  sendbufPos[i] = subMaxValue;
459  }
460  m_env.inter0Comm().Allreduce((void *) &sendbufPos[0], (void *) &unifiedMaxValue, (int) sendbufPos.size(), RawValue_MPI_DOUBLE, RawValue_MPI_MAX,
461  "BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()",
462  "failed MPI.Allreduce() for max");
463 
464  // Find number of elements (subNumPos) on each process that attain the
465  // global max. This could be zero.
466  unsigned int iMax = subCorrespondingScalarValues.subSequenceSize();
467  int subNumPos = 0; // Yes, 'int', due to MPI to be used soon
468  for (unsigned int i = 0; i < iMax; ++i) {
469  if (subCorrespondingScalarValues[i] == unifiedMaxValue) {
470  subNumPos++;
471  }
472  }
473 
474  // Fill up unifiedPositionsOfMaximum with the states that attain maxima
475  // (if they exist)
476  V tmpVec(this->vectorSpace().zeroVector());
477  unifiedPositionsOfMaximum.resizeSequence(subNumPos); // subNumPos could be 0
478  unsigned int j = 0;
479  for (unsigned int i = 0; i < iMax; ++i) {
480  // This 'if' statement is false if subNumPos == 0
481  if (subCorrespondingScalarValues[i] == unifiedMaxValue) {
482  this->getPositionValues (i,tmpVec);
483  unifiedPositionsOfMaximum.setPositionValues(j,tmpVec);
484  j++;
485  }
486  }
487 
488  // Compute total (over all processes) number of elements that attain maxima
489  std::vector<int> auxBuf(1,0);
490  int unifiedNumPos = 0; // Yes, 'int', due to MPI to be used soon
491  auxBuf[0] = subNumPos;
492  m_env.inter0Comm().Allreduce((void *) &auxBuf[0], (void *) &unifiedNumPos, (int) auxBuf.size(), RawValue_MPI_INT, RawValue_MPI_SUM,
493  "BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()",
494  "failed MPI.Allreduce() for sum");
495 
496  // Resize positions to hold all elements that attain maxima
497  unifiedPositionsOfMaximum.resizeSequence(unifiedNumPos);
498 
499  //******************************************************************
500  // Use MPI_Gatherv for number of positions
501  //******************************************************************
502  // Gather up *number* of maxima on each chain and store in recvcntsPos
503  unsigned int Np = (unsigned int) m_env.inter0Comm().NumProc();
504 
505  std::vector<int> recvcntsPos(Np,0); // '0' is NOT the correct value for recvcntsPos[0]
506  m_env.inter0Comm().Gather((void *) &subNumPos, 1, RawValue_MPI_INT, (void *) &recvcntsPos[0], (int) 1, RawValue_MPI_INT, 0,
507  "BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()",
508  "failed MPI.Gatherv()");
509  if (m_env.inter0Rank() == 0) {
510  UQ_FATAL_TEST_MACRO(recvcntsPos[0] != (int) subNumPos,
511  m_env.worldRank(),
512  "BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()",
513  "failed MPI.Gather() result at proc 0 (recvcntsPos[0])");
514  }
515 
516  // Construct offset indices based on number of maxima
517  std::vector<int> displsPos(Np,0);
518  for (unsigned int nodeId = 1; nodeId < Np; ++nodeId) { // Yes, from '1' on
519  displsPos[nodeId] = displsPos[nodeId-1] + recvcntsPos[nodeId-1];
520  }
521  if (m_env.inter0Rank() == 0) {
522  UQ_FATAL_TEST_MACRO(unifiedNumPos != (displsPos[Np - 1] + recvcntsPos[Np - 1]),
523  m_env.worldRank(),
524  "BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()",
525  "failed MPI.Gather() result at proc 0 (unifiedNumPos)");
526  }
527 
528  //******************************************************************
529  // Use MPI_Gatherv for number of doubles
530  //******************************************************************
531  // Gather up number of states that attain maxima multiplied by the size of
532  // the state (on each process). Store this in recvcntsDbs.
533  // So recvcntsDbs[i] is the number of states that attain maxima on chain i
534  // multiplied by the size of the state (a state could be a vector of length
535  // > 1).
536  unsigned int dimSize = m_vectorSpace.dimLocal();
537  int subNumDbs = subNumPos * dimSize; // Yes, 'int', due to MPI to be used soon
538  std::vector<int> recvcntsDbs(Np,0); // '0' is NOT the correct value for recvcntsDbs[0]
539  m_env.inter0Comm().Gather((void *) &subNumDbs, 1, RawValue_MPI_INT, (void *) &recvcntsDbs[0], (int) 1, RawValue_MPI_INT, 0,
540  "BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()",
541  "failed MPI.Gatherv()");
542  if (m_env.inter0Rank() == 0) {
543  UQ_FATAL_TEST_MACRO(recvcntsDbs[0] != (int) subNumDbs,
544  m_env.worldRank(),
545  "BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()",
546  "failed MPI.Gather() result at proc 0 (recvcntsDbs[0])");
547  }
548 
549  // Now gather up the offsets based on the number of states (mulitplied by the
550  // size of the state)
551  std::vector<int> displsDbs(Np,0);
552  for (unsigned int nodeId = 1; nodeId < Np; ++nodeId) { // Yes, from '1' on
553  displsDbs[nodeId] = displsDbs[nodeId-1] + recvcntsDbs[nodeId-1];
554  }
555  if (m_env.inter0Rank() == 0) {
556  UQ_FATAL_TEST_MACRO(((int) (unifiedNumPos*dimSize)) != (displsDbs[Np - 1] + recvcntsDbs[Np - 1]),
557  m_env.worldRank(),
558  "BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()",
559  "failed MPI.Gather() result at proc 0 (unifiedNumPos*dimSize)");
560  }
561 
562  //******************************************************************
563  // Prepare counters and buffers for gatherv of maximum positions
564  //******************************************************************
565  // Take all the states on all chains that attain maxima, and put them in a
566  // send buffer ready for MPI
567  std::vector<double> sendbufDbs(subNumDbs,0.);
568  for (unsigned int i = 0; i < (unsigned int) subNumPos; ++i) {
569  unifiedPositionsOfMaximum.getPositionValues(i,tmpVec);
570  for (unsigned int j = 0; j < dimSize; ++j) {
571  sendbufDbs[i*dimSize + j] = tmpVec[j];
572  }
573  }
574 
575  std::vector<double> recvbufDbs(unifiedNumPos * dimSize);
576 
577  // Gather up all states that attain maxima and store then in recvbufDbs
578  m_env.inter0Comm().Gatherv((void *) &sendbufDbs[0], (int) subNumDbs, RawValue_MPI_DOUBLE, (void *) &recvbufDbs[0], (int *) &recvcntsDbs[0], (int *) &displsDbs[0], RawValue_MPI_DOUBLE, 0,
579  "BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()",
580  "failed MPI.Gatherv()");
581 
582  //******************************************************************
583  // Transfer data from 'recvbuf' to 'unifiedPositionsOfMaximum'
584  //******************************************************************
585  // Copy over all the gathered states to the unifiedPositionsOfMaximum
586  // variable on process 0. Process 0 now contains everything.
587  if (m_env.inter0Rank() == (int) 0) {
588  for (unsigned int i = 0; i < (unsigned int) unifiedNumPos; ++i) {
589  for (unsigned int j = 0; j < dimSize; ++j) {
590  tmpVec[j] = recvbufDbs[i*dimSize + j];
591  }
592  unifiedPositionsOfMaximum.setPositionValues(i,tmpVec);
593  }
594  }
595  else {
596  // Process zero has all the states that attain maxima, so let's nuke the
597  // others rather than letting them contain NULL pointers
598  unifiedPositionsOfMaximum.resizeSequence(0);
599  }
600 
601  if (m_env.subDisplayFile()) {
602  *m_env.subDisplayFile() << "Leaving BaseVectorSequence<V,M>::unifiedPositionsOfMaximum()"
603  << std::endl;
604  }
605 
606  return unifiedMaxValue;
607 }
int inter0Rank() const
Returns the process inter0 rank.
Definition: Environment.C:289
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
#define RawValue_MPI_DOUBLE
Definition: MpiComm.h:48
int NumProc() const
Returns total number of processes.
Definition: MpiComm.C:121
double unifiedPositionsOfMaximum(const ScalarSequence< double > &subCorrespondingScalarValues, BaseVectorSequence< V, M > &unifiedPositionsOfMaximum)
Finds the positions where the maximum element occurs in the unified sequence.
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:305
void Allreduce(void *sendbuf, void *recvbuf, int count, RawType_MPI_Datatype datatype, RawType_MPI_Op op, const char *whereMsg, const char *whatMsg) const
Combines values from all processes and distributes the result back to all processes.
Definition: MpiComm.C:131
const VectorSpace< V, M > & m_vectorSpace
const BaseEnvironment & m_env
#define RawValue_MPI_SUM
Definition: MpiComm.h:52
#define RawValue_MPI_MAX
Definition: MpiComm.h:51
void Gather(void *sendbuf, int sendcnt, RawType_MPI_Datatype sendtype, void *recvbuf, int recvcount, RawType_MPI_Datatype recvtype, int root, const char *whereMsg, const char *whatMsg) const
Gather values from each process to collect on all processes.
Definition: MpiComm.C:168
#define RawValue_MPI_INT
Definition: MpiComm.h:47
const T & subMaxPlain() const
Finds the maximum value of the sub-sequence of scalars.
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
void Gatherv(void *sendbuf, int sendcnt, RawType_MPI_Datatype sendtype, void *recvbuf, int *recvcnts, int *displs, RawType_MPI_Datatype recvtype, int root, const char *whereMsg, const char *whatMsg) const
Gathers into specified locations from all processes in a group.
Definition: MpiComm.C:188
const VectorSpace< V, M > & vectorSpace() const
Vector space; access to protected attribute VectorSpace&lt;V,M&gt;&amp; m_vectorSpace.
unsigned int subSequenceSize() const
Size of the sub-sequence of scalars.
const MpiComm & inter0Comm() const
Access function for MpiComm inter0-communicator.
Definition: Environment.C:295
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223
virtual void getPositionValues(unsigned int posId, V &vec) const =0
Gets the values of the sequence at position posId and stores them at vec. See template specialization...
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::unifiedReadContents ( const std::string &  fileName,
const std::string &  fileType,
const unsigned int  subSequenceSize 
)
pure virtual

Reads info of the unified sequence from a file. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >, and QUESO::ArrayOfSequences< V, M >.

Referenced by QUESO::MonteCarloSG< P_V, P_M, Q_V, Q_M >::actualReadSequence(), and QUESO::MetropolisHastingsSG< P_V, P_M >::readFullChain().

template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::unifiedSampleVarianceExtra ( unsigned int  initialPos,
unsigned int  numPos,
const V &  unifiedMeanVec,
V &  unifiedSamVec 
) const
pure virtual

Finds the sample variance of the unified sequence, considering numPos positions starting at position initialPos and of mean meanVec. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

Referenced by QUESO::ComputeCovCorrMatricesBetweenVectorSequences().

template<class V , class M >
const V & QUESO::BaseVectorSequence< V, M >::unifiedSampleVariancePlain ( ) const

Finds the variance of a sample of the unified sequence.

Definition at line 261 of file VectorSequence.C.

262 {
263  if (m_unifiedSampleVariancePlain == NULL) {
266  }
267 
269 }
const VectorSpace< V, M > & m_vectorSpace
virtual void unifiedSampleVarianceExtra(unsigned int initialPos, unsigned int numPos, const V &unifiedMeanVec, V &unifiedSamVec) const =0
Finds the sample variance of the unified sequence, considering numPos positions starting at position ...
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
const V & unifiedMeanPlain() const
Finds the mean value of the unified sequence.
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::unifiedScalesForKde ( unsigned int  initialPos,
const V &  unifiedIqrVec,
unsigned int  kdeDimension,
V &  unifiedScaleVec 
) const
pure virtual

Selects the scales (bandwidth) for the kernel density estimation, considering the unified sequence. See template specialization.

Implemented in QUESO::SequenceOfVectors< V, M >.

template<class V , class M >
unsigned int QUESO::BaseVectorSequence< V, M >::unifiedSequenceSize ( ) const

Calculates the size of the unified sequence of vectors.

TODO: this procedure does not support parallel vectors yet.

Definition at line 70 of file VectorSequence.C.

References RawValue_MPI_SUM, RawValue_MPI_UNSIGNED, and UQ_FATAL_TEST_MACRO.

Referenced by QUESO::MLSampling< P_V, P_M >::checkpointML(), and QUESO::MLSampling< P_V, P_M >::generateSequence_Step02_inter0().

71 {
72  unsigned int unifiedNumSamples = 0;
73 
74  bool useOnlyInter0Comm = (m_vectorSpace.numOfProcsForStorage() == 1);
75 
76  if (useOnlyInter0Comm) {
77  if (m_env.inter0Rank() >= 0) {
78  unsigned int subNumSamples = this->subSequenceSize();
79  m_env.inter0Comm().Allreduce((void *) &subNumSamples, (void *) &unifiedNumSamples, (int) 1, RawValue_MPI_UNSIGNED, RawValue_MPI_SUM,
80  "BaseVectorSequence<V,M>::unifiedSequenceSize()",
81  "failed MPI.Allreduce() for unifiedSequenceSize()");
82  }
83  else {
84  // Node not in the 'inter0' communicator
85  unifiedNumSamples = this->subSequenceSize();
86  }
87  }
88  else {
89  UQ_FATAL_TEST_MACRO((useOnlyInter0Comm == false),
90  m_env.worldRank(),
91  "BaseVectorSequence<V,M>::unifiedSequenceSize()",
92  "parallel vectors not supported yet");
93  }
94 
95  return unifiedNumSamples;
96 }
int inter0Rank() const
Returns the process inter0 rank.
Definition: Environment.C:289
int worldRank() const
Returns the process world rank.
Definition: Environment.C:235
void Allreduce(void *sendbuf, void *recvbuf, int count, RawType_MPI_Datatype datatype, RawType_MPI_Op op, const char *whereMsg, const char *whatMsg) const
Combines values from all processes and distributes the result back to all processes.
Definition: MpiComm.C:131
const VectorSpace< V, M > & m_vectorSpace
#define RawValue_MPI_UNSIGNED
Definition: MpiComm.h:49
const BaseEnvironment & m_env
#define RawValue_MPI_SUM
Definition: MpiComm.h:52
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.
const MpiComm & inter0Comm() const
Access function for MpiComm inter0-communicator.
Definition: Environment.C:295
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
Definition: Defines.h:223
template<class V, class M>
virtual void QUESO::BaseVectorSequence< V, M >::unifiedWriteContents ( const std::string &  fileName,
const std::string &  fileType 
) const
pure virtual
template<class V , class M >
unsigned int QUESO::BaseVectorSequence< V, M >::vectorSizeGlobal ( ) const

Global dimension (size) of the vector space.

Definition at line 107 of file VectorSequence.C.

108 {
109  return m_vectorSpace.dimGlobal();
110 }
const VectorSpace< V, M > & m_vectorSpace
template<class V , class M >
unsigned int QUESO::BaseVectorSequence< V, M >::vectorSizeLocal ( ) const

Local dimension (size) of the vector space.

Definition at line 100 of file VectorSequence.C.

Referenced by QUESO::MonteCarloSG< P_V, P_M, Q_V, Q_M >::generateSequence(), and QUESO::MetropolisHastingsSG< P_V, P_M >::generateSequence().

101 {
102  return m_vectorSpace.dimLocal();
103 }
const VectorSpace< V, M > & m_vectorSpace
template<class V , class M >
const VectorSpace< V, M > & QUESO::BaseVectorSequence< V, M >::vectorSpace ( ) const

Vector space; access to protected attribute VectorSpace<V,M>& m_vectorSpace.

Definition at line 114 of file VectorSequence.C.

Referenced by QUESO::BaseVectorSequence< V, M >::append(), and QUESO::ComputeCovCorrMatricesBetweenVectorSequences().

115 {
116  return m_vectorSpace;
117 }
const VectorSpace< V, M > & m_vectorSpace

Member Data Documentation

template<class V, class M>
const BaseEnvironment& QUESO::BaseVectorSequence< V, M >::m_env
protected

Definition at line 423 of file VectorSequence.h.

Referenced by QUESO::ArrayOfSequences< V, M >::ArrayOfSequences().

template<class V, class M>
Fft<double>* QUESO::BaseVectorSequence< V, M >::m_fftObj
mutableprotected

Definition at line 427 of file VectorSequence.h.

template<class V, class M>
std::string QUESO::BaseVectorSequence< V, M >::m_name
protected

Definition at line 425 of file VectorSequence.h.

Referenced by QUESO::BaseVectorSequence< V, M >::copy().

template<class V, class M>
BoxSubset<V,M>* QUESO::BaseVectorSequence< V, M >::m_subBoxPlain
mutableprotected

Definition at line 438 of file VectorSequence.h.

template<class V, class M>
V* QUESO::BaseVectorSequence< V, M >::m_subMaxPlain
mutableprotected

Definition at line 430 of file VectorSequence.h.

template<class V, class M>
V* QUESO::BaseVectorSequence< V, M >::m_subMeanPlain
mutableprotected

Definition at line 432 of file VectorSequence.h.

template<class V, class M>
V* QUESO::BaseVectorSequence< V, M >::m_subMedianPlain
mutableprotected

Definition at line 434 of file VectorSequence.h.

template<class V, class M>
V* QUESO::BaseVectorSequence< V, M >::m_subMinPlain
mutableprotected

Definition at line 428 of file VectorSequence.h.

template<class V, class M>
V* QUESO::BaseVectorSequence< V, M >::m_subSampleVariancePlain
mutableprotected

Definition at line 436 of file VectorSequence.h.

template<class V, class M>
BoxSubset<V,M>* QUESO::BaseVectorSequence< V, M >::m_unifiedBoxPlain
mutableprotected

Definition at line 439 of file VectorSequence.h.

template<class V, class M>
V* QUESO::BaseVectorSequence< V, M >::m_unifiedMaxPlain
mutableprotected

Definition at line 431 of file VectorSequence.h.

template<class V, class M>
V* QUESO::BaseVectorSequence< V, M >::m_unifiedMeanPlain
mutableprotected

Definition at line 433 of file VectorSequence.h.

template<class V, class M>
V* QUESO::BaseVectorSequence< V, M >::m_unifiedMedianPlain
mutableprotected

Definition at line 435 of file VectorSequence.h.

template<class V, class M>
V* QUESO::BaseVectorSequence< V, M >::m_unifiedMinPlain
mutableprotected

Definition at line 429 of file VectorSequence.h.

template<class V, class M>
V* QUESO::BaseVectorSequence< V, M >::m_unifiedSampleVariancePlain
mutableprotected

Definition at line 437 of file VectorSequence.h.

template<class V, class M>
const VectorSpace<V,M>& QUESO::BaseVectorSequence< V, M >::m_vectorSpace
protected

Definition at line 424 of file VectorSequence.h.

Referenced by QUESO::BaseVectorSequence< V, M >::copy().


The documentation for this class was generated from the following files:

Generated on Thu Apr 23 2015 19:26:17 for queso-0.51.1 by  doxygen 1.8.5