queso-0.50.1
VectorSequence.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------Bl-
2 //--------------------------------------------------------------------------
3 //
4 // QUESO - a library to support the Quantification of Uncertainty
5 // for Estimation, Simulation and Optimization
6 //
7 // Copyright (C) 2008,2009,2010,2011,2012 The PECOS Development Team
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the Version 2.1 GNU Lesser General
11 // Public License as published by the Free Software Foundation.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
21 // Boston, MA 02110-1301 USA
22 //
23 //-----------------------------------------------------------------------el-
24 
25 #ifndef UQ_VECTOR_SEQUENCE_H
26 #define UQ_VECTOR_SEQUENCE_H
27 
28 #undef UQ_CODE_HAS_MONITORS
29 
30 #include <queso/VectorSpace.h>
31 #include <queso/BoxSubset.h>
32 #include <queso/ScalarSequence.h>
33 #include <queso/SequenceStatisticalOptions.h>
34 #include <queso/ArrayOfOneDGrids.h>
35 #include <queso/ArrayOfOneDTables.h>
36 #include <queso/2dArrayOfStuff.h>
37 #include <sys/time.h>
38 #include <fstream>
39 
40 namespace QUESO {
41 
53 template <class V, class M>
55 {
56 public:
58 
61  unsigned int subSequenceSize,
62  const std::string& name);
64  virtual ~BaseVectorSequence();
66 
68 
69  virtual unsigned int subSequenceSize () const = 0;
71 
73 
74  unsigned int unifiedSequenceSize () const;
75 
77  unsigned int vectorSizeLocal () const;
78 
80  unsigned int vectorSizeGlobal () const;
81 
83  const VectorSpace<V,M>& vectorSpace () const;
84 
86 
88  const std::string& name () const;
89 
91  void setName (const std::string& newName);
92 
94  void clear ();
95 
97  const V& subMinPlain () const;
98 
100  const V& unifiedMinPlain () const;
101 
103  const V& subMaxPlain () const;
104 
106  const V& unifiedMaxPlain () const;
107 
109  const V& subMeanPlain () const;
110 
112  const V& unifiedMeanPlain () const;
113 
115  const V& subMedianPlain () const;
116 
118  const V& unifiedMedianPlain () const;
119 
121  const V& subSampleVariancePlain () const;
122 
124  const V& unifiedSampleVariancePlain () const;
125 
127  const BoxSubset<V,M>& subBoxPlain () const;
128 
130  const BoxSubset<V,M>& unifiedBoxPlain () const;
131 
133 
137  void deleteStoredVectors ();
138 
140 
141  void append (const BaseVectorSequence<V,M>& src,
142  unsigned int initialPos,
143  unsigned int numPos);
145  double subPositionsOfMaximum (const ScalarSequence<double>& subCorrespondingScalarValues,
147 
149  double unifiedPositionsOfMaximum (const ScalarSequence<double>& subCorrespondingScalarValues,
151 
152 
154 
155  virtual void resizeSequence (unsigned int newSubSequenceSize) = 0;
156 
158 
159  virtual void resetValues (unsigned int initialPos, unsigned int numPos) = 0;
160 
162 
163  virtual void erasePositions (unsigned int initialPos, unsigned int numPos) = 0;
164 
165 
167  virtual void getPositionValues (unsigned int posId, V& vec) const = 0;
168 
170 
171  virtual void setPositionValues (unsigned int posId, const V& vec) = 0;
172 
174 
175  void setGaussian (const V& meanVec, const V& stdDevVec);
176 
178 
179  void setUniform (const V& aVec, const V& bVec );
180 
182  virtual void subMeanExtra (unsigned int initialPos,
183  unsigned int numPos,
184  V& meanVec) const = 0;
185 
187  virtual void unifiedMeanExtra (unsigned int initialPos,
188  unsigned int numPos,
189  V& unifiedMeanVec) const = 0;
191  virtual void subMedianExtra (unsigned int initialPos,
192  unsigned int numPos,
193  V& medianVec) const = 0;
195  virtual void unifiedMedianExtra (unsigned int initialPos,
196  unsigned int localNumPos,
197  V& unifiedMedianVec) const = 0;
199  virtual void subSampleVarianceExtra (unsigned int initialPos,
200  unsigned int numPos,
201  const V& meanVec,
202  V& samVec) const = 0;
204  virtual void unifiedSampleVarianceExtra (unsigned int initialPos,
205  unsigned int numPos,
206  const V& unifiedMeanVec,
207  V& unifiedSamVec) const = 0;
209  virtual void subPopulationVariance (unsigned int initialPos,
210  unsigned int numPos,
211  const V& meanVec,
212  V& popVec) const = 0;
214  virtual void unifiedPopulationVariance (unsigned int initialPos,
215  unsigned int numPos,
216  const V& unifiedMeanVec,
217  V& unifiedPopVec) const = 0;
218 
220 
224  virtual void autoCovariance (unsigned int initialPos,
225  unsigned int numPos,
226  const V& meanVec,
227  unsigned int lag,
228  V& covVec) const = 0;
230  virtual void autoCorrViaDef (unsigned int initialPos,
231  unsigned int numPos,
232  unsigned int lag,
233  V& corrVec) const = 0;
235  virtual void autoCorrViaFft (unsigned int initialPos,
236  unsigned int numPos,
237  const std::vector<unsigned int>& lags,
238  std::vector<V*>& corrVecs) const = 0;
240  virtual void autoCorrViaFft (unsigned int initialPos,
241  unsigned int numPos,
242  unsigned int numSum,
243  V& autoCorrsSumVec) const = 0;
244 
245 
247  virtual void subMinMaxExtra (unsigned int initialPos,
248  unsigned int numPos,
249  V& minVec,
250  V& maxVec) const = 0;
252  virtual void unifiedMinMaxExtra (unsigned int initialPos,
253  unsigned int numPos,
254  V& unifiedMinVec,
255  V& unifiedMaxVec) const = 0;
257 
262  virtual void subHistogram (unsigned int initialPos,
263  const V& minVec,
264  const V& maxVec,
265  std::vector<V*>& centersForAllBins,
266  std::vector<V*>& quanttsForAllBins) const = 0;
268  virtual void unifiedHistogram (unsigned int initialPos,
269  const V& unifiedMinVec,
270  const V& unifiedMaxVec,
271  std::vector<V*>& unifiedCentersForAllBins,
272  std::vector<V*>& unifiedQuanttsForAllBins) const = 0;
273 
275  virtual void subInterQuantileRange (unsigned int initialPos,
276  V& iqrVec) const = 0;
278  virtual void unifiedInterQuantileRange (unsigned int initialPos,
279  V& unifiedIqrVec) const = 0;
280 
282 
290  virtual void subScalesForKde (unsigned int initialPos,
291  const V& iqrVec,
292  unsigned int kdeDimension,
293  V& scaleVec) const = 0;
295  virtual void unifiedScalesForKde (unsigned int initialPos,
296  const V& unifiedIqrVec,
297  unsigned int kdeDimension,
298  V& unifiedScaleVec) const = 0;
300 
304  virtual void subGaussian1dKde (unsigned int initialPos,
305  const V& scaleVec,
306  const std::vector<V*>& evaluationParamVecs,
307  std::vector<V*>& densityVecs) const = 0;
309  virtual void unifiedGaussian1dKde (unsigned int initialPos,
310  const V& unifiedScaleVec,
311  const std::vector<V*>& unifiedEvaluationParamVecs,
312  std::vector<V*>& unifiedDensityVecs) const = 0;
314  virtual void subWriteContents (unsigned int initialPos,
315  unsigned int numPos,
316  const std::string& fileName,
317  const std::string& fileType,
318  const std::set<unsigned int>& allowedSubEnvIds) const = 0;
320  virtual void subWriteContents (unsigned int initialPos,
321  unsigned int numPos,
322  std::ofstream& ofsvar,
323  const std::string& fileType) const = 0;
325  virtual void unifiedWriteContents (const std::string& fileName,
326  const std::string& fileType) const = 0;
328  virtual void unifiedReadContents (const std::string& fileName,
329  const std::string& fileType,
330  const unsigned int subSequenceSize) = 0;
332  virtual void select (const std::vector<unsigned int>& idsOfUniquePositions) = 0;
333 
335  virtual void filter (unsigned int initialPos,
336  unsigned int spacing) = 0;
338  void computeFilterParams (std::ofstream* passedOfs,
339  unsigned int & initialPos,
340  unsigned int & spacing);
342  virtual double estimateConvBrooksGelman (unsigned int initialPos,
343  unsigned int numPos) const = 0;
345  virtual void extractScalarSeq (unsigned int initialPos,
346  unsigned int spacing,
347  unsigned int numPos,
348  unsigned int paramId,
349  ScalarSequence<double>& scalarSeq) const = 0;
350 
351 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
352  virtual void subUniformlySampledCdf (const V& numEvaluationPointsVec,
353  ArrayOfOneDGrids <V,M>& cdfGrids,
354  ArrayOfOneDTables<V,M>& cdfValues) const = 0;
355  virtual void unifiedUniformlySampledCdf (const V& numEvaluationPointsVec,
356  ArrayOfOneDGrids <V,M>& unifiedCdfGrids,
357  ArrayOfOneDTables<V,M>& unifieddfValues) const = 0;
358  virtual void bmm (unsigned int initialPos,
359  unsigned int batchLength,
360  V& bmmVec) const = 0;
361  virtual void fftForward (unsigned int initialPos,
362  unsigned int fftSize,
363  unsigned int paramId,
364  std::vector<std::complex<double> >& fftResult) const = 0;
365 //virtual void fftInverse (unsigned int fftSize) = 0;
366  virtual void psd (unsigned int initialPos,
367  unsigned int numBlocks,
368  double hopSizeRatio,
369  unsigned int paramId,
370  std::vector<double>& psdResult) const = 0;
371  virtual void psdAtZero (unsigned int initialPos,
372  unsigned int numBlocks,
373  double hopSizeRatio,
374  V& psdVec) const = 0;
375  virtual void geweke (unsigned int initialPos,
376  double ratioNa,
377  double ratioNb,
378  V& gewVec) const = 0;
379  virtual void meanStacc (unsigned int initialPos,
380  V& meanStaccVec) const = 0;
381  virtual void subCdfStacc (unsigned int initialPos,
382  const std::vector<V*>& evalPositionsVecs, std::vector<V*>& cdfStaccVecs) const = 0;
383 #endif //QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
384 
385 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
386  void computeHistCdfstaccKde (const SequenceStatisticalOptions& statisticalOptions,
387  std::ofstream* passedOfs);
388 
389  void computeStatistics (const SequenceStatisticalOptions& statisticalOptions,
390  std::ofstream* passedOfs);
391 #endif //QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
392 
393 #ifdef UQ_ALSO_COMPUTE_MDFS_WITHOUT_KDE
394  virtual void subUniformlySampledMdf (const V& numEvaluationPointsVec,
395  ArrayOfOneDGrids <V,M>& mdfGrids,
396  ArrayOfOneDTables<V,M>& mdfValues) const = 0;
397 #endif //UQ_ALSO_COMPUTE_MDFS_WITHOUT_KDE
398 
400 
401 protected:
403 
404  void copy (const BaseVectorSequence<V,M>& src);
405 
407  virtual void extractRawData (unsigned int initialPos,
408  unsigned int spacing,
409  unsigned int numPos,
410  unsigned int paramId,
411  std::vector<double>& rawData) const = 0;
412 
415  std::string m_name;
416 
418  mutable V* m_subMinPlain;
419  mutable V* m_unifiedMinPlain;
420  mutable V* m_subMaxPlain;
421  mutable V* m_unifiedMaxPlain;
422  mutable V* m_subMeanPlain;
423  mutable V* m_unifiedMeanPlain;
424  mutable V* m_subMedianPlain;
430 
431 
432 #ifdef UQ_CODE_HAS_MONITORS
433  virtual void subMeanMonitorAlloc (unsigned int numberOfMonitorPositions) = 0;
434  virtual void subMeanInter0MonitorAlloc (unsigned int numberOfMonitorPositions) = 0;
435  virtual void unifiedMeanMonitorAlloc (unsigned int numberOfMonitorPositions) = 0;
436 
437  virtual void subMeanMonitorRun (unsigned int monitorPosition,
438  V& subMeanVec,
439  V& subMeanCltStd) = 0;
440  virtual void subMeanInter0MonitorRun (unsigned int monitorPosition,
441  V& subMeanInter0Mean,
442  V& subMeanInter0Clt95,
443  V& subMeanInter0Empirical90,
444  V& subMeanInter0Min,
445  V& subMeanInter0Max) = 0;
446  virtual void unifiedMeanMonitorRun (unsigned int monitorPosition,
447  V& unifiedMeanVec,
448  V& unifiedMeanCltStd) = 0;
449 
450  virtual void subMeanMonitorStore (unsigned int i,
451  unsigned int monitorPosition,
452  const V& subMeanVec,
453  const V& subMeanCltStd) = 0;
454  virtual void subMeanInter0MonitorStore (unsigned int i,
455  unsigned int monitorPosition,
456  const V& subMeanInter0Mean,
457  const V& subMeanInter0Clt95,
458  const V& subMeanInter0Empirical90,
459  const V& subMeanInter0Min,
460  const V& subMeanInter0Max) = 0;
461  virtual void unifiedMeanMonitorStore (unsigned int i,
462  unsigned int monitorPosition,
463  V& unifiedMeanVec,
464  V& unifiedMeanCltStd) = 0;
465 
466  virtual void subMeanMonitorWrite (std::ofstream& ofs) = 0;
467  virtual void subMeanInter0MonitorWrite (std::ofstream& ofs) = 0;
468  virtual void unifiedMeanMonitorWrite (std::ofstream& ofs) = 0;
469 
470  virtual void subMeanMonitorFree () = 0;
471  virtual void subMeanInter0MonitorFree () = 0;
472  virtual void unifiedMeanMonitorFree () = 0;
473 
474  void computeMeanEvolution (const SequenceStatisticalOptions& statisticalOptions,
475  std::ofstream* passedOfs);
476 #endif
477 
478 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
479  void computeBMM (const SequenceStatisticalOptions& statisticalOptions,
480  const std::vector<unsigned int>& initialPosForStatistics,
481  std::ofstream* passedOfs);
482  void computeFFT (const SequenceStatisticalOptions& statisticalOptions,
483  const std::vector<unsigned int>& initialPosForStatistics,
484  std::ofstream* passedOfs);
485  void computePSD (const SequenceStatisticalOptions& statisticalOptions,
486  const std::vector<unsigned int>& initialPosForStatistics,
487  std::ofstream* passedOfs);
488  void computePSDAtZero (const SequenceStatisticalOptions& statisticalOptions,
489  const std::vector<unsigned int>& initialPosForStatistics,
490  std::ofstream* passedOfs);
491  void computeGeweke (const SequenceStatisticalOptions& statisticalOptions,
492  const std::vector<unsigned int>& initialPosForStatistics,
493  std::ofstream* passedOfs);
494  void computeMeanStacc (const SequenceStatisticalOptions& statisticalOptions,
495  const std::vector<unsigned int>& initialPosForStatistics,
496  std::ofstream* passedOfs);
497 #endif
498 
499 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
500  void computeMeanVars (const SequenceStatisticalOptions& statisticalOptions,
501  std::ofstream* passedOfs,
502  V* subMeanPtr,
503  V* subMedianPtr,
504  V* subSampleVarPtr,
505  V* subPopulVarPtr);
506  void computeAutoCorrViaDef (const SequenceStatisticalOptions& statisticalOptions,
507  const std::vector<unsigned int>& initialPosForStatistics,
508  const std::vector<unsigned int>& lagsForCorrs,
509  std::ofstream* passedOfs);
510  void computeAutoCorrViaFFT (const SequenceStatisticalOptions& statisticalOptions,
511  const std::vector<unsigned int>& initialPosForStatistics,
512  const std::vector<unsigned int>& lagsForCorrs,
513  std::ofstream* passedOfs);
514  void computeCovCorrMatrices (const SequenceStatisticalOptions& statisticalOptions,
515  std::ofstream* passedOfs);
516 #endif
517 
518 };
519 
520 // --------------------------------------------------
521 // Additional methods --------------------------------
522 // (outside class declaration) ----------------------
523 //---------------------------------------------------
524 template <class P_V, class P_M, class Q_V, class Q_M>
525 void
527  const BaseVectorSequence<P_V,P_M>& subPSeq,
528  const BaseVectorSequence<Q_V,Q_M>& subQSeq,
529  unsigned int subNumSamples,
530  P_M& pqCovMatrix,
531  P_M& pqCorrMatrix);
532 
533 } // End namespace QUESO
534 
535 #endif // UQ_VECTOR_SEQUENCE_H
const V & subMedianPlain() const
Finds the median value of the sub-sequence.
const std::string & name() const
Access to protected attribute m_name: name of the sequence of vectors.
Class to accommodate arrays of one-dimensional grid.
Class representing a subset of a vector space shaped like a hypercube.
Definition: BoxSubset.h:41
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 ...
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.
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 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 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...
const BoxSubset< V, M > & subBoxPlain() const
Finds a box subset of the sub-sequence (given by its min and max values calculated via subMinPlain an...
A class representing a vector space.
Definition: VectorSet.h:46
void setName(const std::string &newName)
Changes the name of the sequence of vectors.
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.
virtual void resizeSequence(unsigned int newSubSequenceSize)=0
Resize the sequence. See template specialization.
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...
const V & subMinPlain() const
Finds the minimum value of the sub-sequence.
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 spaci...
const V & subMeanPlain() const
Finds the mean value of the sub-sequence.
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 c...
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.
void append(const BaseVectorSequence< V, M > &src, unsigned int initialPos, unsigned int numPos)
Appends the vector src to this vector.
BoxSubset< V, M > * m_unifiedBoxPlain
const V & unifiedSampleVariancePlain() const
Finds the variance of a sample of the unified sequence.
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...
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
Definition: Environment.h:187
unsigned int unifiedSequenceSize() const
Calculates the size of the unified sequence of vectors.
virtual void unifiedInterQuantileRange(unsigned int initialPos, V &unifiedIqrVec) const =0
Returns the interquartile range of the values in the unified sequence. See template specialization...
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.
BoxSubset< V, M > * m_subBoxPlain
unsigned int vectorSizeLocal() const
Local dimension (size) of the vector space.
virtual void select(const std::vector< unsigned int > &idsOfUniquePositions)=0
Select positions in the sequence of vectors. See template specialization.
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.
const V & subSampleVariancePlain() const
Finds the variance of a sample of the sub-sequence.
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.
virtual void autoCorrViaDef(unsigned int initialPos, unsigned int numPos, unsigned int lag, V &corrVec) const =0
Calculates autocorrelation via definition. See template specialization.
void deleteStoredVectors()
Deletes all the stored vectors.
virtual void resetValues(unsigned int initialPos, unsigned int numPos)=0
Reset the values of the sequence. See template specialization.
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.
const V & unifiedMinPlain() const
Finds the minimum value of the unified sequence.
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 V & subMaxPlain() const
Finds the maximum value of the sub-sequence.
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...
virtual void erasePositions(unsigned int initialPos, unsigned int numPos)=0
Erase numPos positions in the sequence, starting at position initialPos.
const VectorSpace< V, M > & m_vectorSpace
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 V & unifiedMeanPlain() const
Finds the mean value of the unified sequence.
Class to accommodate arrays of one-dimensional tables.
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...
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.
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...
const V & unifiedMedianPlain() const
Finds the median value of the unified sequence.
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 an...
void computeFilterParams(std::ofstream *passedOfs, unsigned int &initialPos, unsigned int &spacing)
Computes the filtering parameters spacing for the sequence of vectors.
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.
Base class for handling vector and array samples (sequence of vectors or arrays). ...
void clear()
Reset the values and the size of the sequence of vectors.
virtual void subInterQuantileRange(unsigned int initialPos, V &iqrVec) const =0
Returns the interquartile range of the values in the sub-sequence. See template specialization.
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.
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-...
double subPositionsOfMaximum(const ScalarSequence< double > &subCorrespondingScalarValues, BaseVectorSequence< V, M > &subPositionsOfMaximum)
Finds the positions where the maximum element occurs in the sub-sequence.
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...
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 devi...
virtual double estimateConvBrooksGelman(unsigned int initialPos, unsigned int numPos) const =0
Estimates convergence rate using Brooks &amp; Gelman method. See template specialization.
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)
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...
unsigned int vectorSizeGlobal() const
Global dimension (size) of the vector space.
const VectorSpace< V, M > & vectorSpace() const
Vector space; access to protected attribute VectorSpace&lt;V,M&gt;&amp; m_vectorSpace.
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 posit...
virtual ~BaseVectorSequence()
Destructor.
void copy(const BaseVectorSequence< V, M > &src)
Copies vector sequence src to this.
BaseVectorSequence(const VectorSpace< V, M > &vectorSpace, unsigned int subSequenceSize, const std::string &name)
Default constructor.
const V & unifiedMaxPlain() const
Finds the maximum value of the unified sequence.
const BaseEnvironment & m_env
double unifiedPositionsOfMaximum(const ScalarSequence< double > &subCorrespondingScalarValues, BaseVectorSequence< V, M > &unifiedPositionsOfMaximum)
Finds the positions where the maximum element occurs in the unified sequence.
virtual unsigned int subSequenceSize() const =0
Size of the sub-sequence of vectors. See template specialization.

Generated on Thu Apr 23 2015 19:18:33 for queso-0.50.1 by  doxygen 1.8.5