26 #ifndef UQ_GSL_VECTOR_H
27 #define UQ_GSL_VECTOR_H
33 #include <queso/Defines.h>
34 #include <queso/Vector.h>
36 #include <gsl/gsl_vector.h>
109 const double&
operator[](
unsigned int i)
const;
127 double norm2 ()
const;
130 double norm1 ()
const;
141 void cwSet (
double value);
183 void print (std::ostream& os)
const;
190 void matlabDiff (
unsigned int firstPositionToStoreDiff,
double valueForRemainderPosition,
GslVector& outputVec)
const;
196 const std::string& fileName,
197 const std::string& fileType,
198 const std::set<unsigned int>& allowedSubEnvIds)
const;
200 const std::string& fileType,
201 const std::set<unsigned int>& allowedSubEnvIds);
219 gsl_vector*
data ()
const;
273 return *gsl_vector_ptr(
m_vec,i);
281 return *gsl_vector_const_ptr(
m_vec,i);
287 #endif // UQ_GSL_VECTOR_H
GslMatrix operator+(const GslMatrix &m1, const GslMatrix &m2)
void matlabLinearInterpExtrap(const GslVector &x1Vec, const GslVector &y1Vec, const GslVector &x2Vec)
void cwSetBeta(const GslVector &alpha, const GslVector &beta)
This function returns a random variate from the beta distribution, with vector parameters alpha and b...
int getMinValueIndex() const
This function returns the index of the minimum value in the vector this.
double norm2() const
Returns the 2-norm (Euclidean norm) of the vector.
void cwInvert()
This function inverts component-wise the element values of this.
std::ostream & operator<<(std::ostream &os, const SequenceStatisticalOptions &obj)
bool atLeastOneComponentSmallerThan(const GslVector &rhs) const
This function returns true if at least one component of this is smaller than the respective component...
void mpiBcast(int srcRank, const MpiComm &bcastComm)
void cwSet(double value)
Component-wise sets all values to this with value.
GslVector abs() const
This function returns absolute value of elements in this.
double & operator[](unsigned int i)
Element access method (non-const).
void cwSetUniform(const GslVector &aVec, const GslVector &bVec)
This function sets component-wise a number uniformly distributed in the range of elements of [aVec...
A class for partitioning vectors and matrices.
double sumOfComponents() const
Returns the sum of the components of the vector.
The QUESO MPI Communicator Class.
double getMaxValue() const
Returns the maximum value in the vector this.
double getMinValue() const
Returns minimum value in the vector this.
GslVector & operator+=(const GslVector &rhs)
Stores in this the coordinate-wise addition of this and rhs.
double norm2Sq() const
Returns the 2-norm squared of this vector.
void cwSetGaussian(double mean, double stdDev)
This function sets component-wise Gaussian random variates, with mean mean and standard deviation std...
void cwExtract(unsigned int initialPos, GslVector &vec) const
This function sets the values of this starting at position initialPos ans saves them in vector vec...
void cwSetConcatenated(const GslVector &v1, const GslVector &v2)
This function concatenates GslVector v1 and GslVector v2 into this.
double scalarProduct(const GslVector &x, const GslVector &y)
void getMinValueAndIndex(double &value, int &index)
This function returns minimum value in the vector this and its the index.
double norm1() const
Returns the 1-norm of the vector.
void subWriteContents(const std::string &varNamePrefix, const std::string &fileName, const std::string &fileType, const std::set< unsigned int > &allowedSubEnvIds) const
void copy(const GslVector &src)
This function copies the elements of the vector src into this.
gsl_vector * m_vec
GSL vector.
GslVector & operator*=(double a)
Stores in this the coordinate-wise multiplication of this and a.
GslMatrix operator-(const GslMatrix &m1, const GslMatrix &m2)
bool operator==(const GslVector &lhs, const GslVector &rhs)
Class for vector operations using GSL library.
void mpiAllReduce(RawType_MPI_Op mpiOperation, const MpiComm &opComm, GslVector &resultVec) const
double normInf() const
Returns the infinity-norm (maximum norm) of the vector.
Class for vector operations (virtual).
GslVector()
Default Constructor.
void subReadContents(const std::string &fileName, const std::string &fileType, const std::set< unsigned int > &allowedSubEnvIds)
bool atLeastOneComponentBiggerOrEqualThan(const GslVector &rhs) const
This function returns true if at least one component of this is bigger than or equal to the respectiv...
void matlabDiff(unsigned int firstPositionToStoreDiff, double valueForRemainderPosition, GslVector &outputVec) const
int getMaxValueIndex() const
This function returns the index of the maximum value in the vector this.
void cwSqrt()
This function returns component-wise the square-root of this.
unsigned int sizeGlobal() const
Returns the global length of this vector.
gsl_vector * data() const
GslMatrix operator*(double a, const GslMatrix &mat)
void getMaxValueAndIndex(double &value, int &index)
This function returns maximum value in the vector this and its the index.
const BaseEnvironment & env() const
GslVector & operator=(const GslVector &rhs)
Copies values from vector rhs to this.
bool atLeastOneComponentBiggerThan(const GslVector &rhs) const
This function returns true if at least one component of this is bigger than the respective component ...
GslVector & operator-=(const GslVector &rhs)
Stores in this the coordinate-wise subtraction of this by rhs.
GslVector operator/(double a, const GslVector &x)
void sort()
This function sorts the elements of the vector this in ascending numerical order. ...
void mpiAllQuantile(double probability, const MpiComm &opComm, GslVector &resultVec) const
bool atLeastOneComponentSmallerOrEqualThan(const GslVector &rhs) const
This function returns true if at least one component of this is smaller than or equal to the respecti...
void print(std::ostream &os) const
Print method. Defines the behavior of the std::ostream << operator inherited from the Object class...
unsigned int sizeLocal() const
Returns the length of this vector.
void cwSetInverseGamma(const GslVector &alpha, const GslVector &beta)
This function returns a random variate from the inverse gamma distribution with vector parameters alp...
GslVector & operator/=(double a)
Stores in this the coordinate-wise division of this by a.
void cwSetGamma(const GslVector &a, const GslVector &b)
This function returns a random variate from the gamma distribution with vector parameters a and b...
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...