|
Go to the documentation of this file. 1 #ifndef NPSTAT_COMPOSITEDISTRIBUTIONND_HH_
2 #define NPSTAT_COMPOSITEDISTRIBUTIONND_HH_
40 const std::vector<const AbsDistribution1D*> marginals,
41 bool assumePointerOwnership= false);
83 template < typename Num1, unsigned Len1, unsigned Dim1>
85 const double* location, const double* scale,
86 unsigned locationAndScaleLength,
89 const unsigned interpolationDegree);
107 { return marginals_.at(index);}
110 double copulaDensity( const double* x, unsigned dim) const;
111 double productOfTheMarginals( const double* x, unsigned dim) const;
113 void unitMap( const double* rnd, unsigned dim, double* x) const;
117 virtual gs::ClassId classId() const { return gs::ClassId(* this);}
118 virtual bool write(std::ostream& of) const;
121 static inline const char* classname()
122 { return "npstat::CompositeDistributionND";}
123 static inline unsigned version() { return 1;}
126 const gs::ClassId& id, std::istream& in);
129 virtual bool isEqual( const AbsDistributionND&) const;
132 void initAndCopyCopula( const AbsDistributionND& i_copula,
133 unsigned expectedDim);
135 void validate() const;
137 const AbsDistributionND* copula_;
138 std::vector<const AbsDistribution1D*> marginals_;
139 mutable std::vector<double> work_;
144 const double* location, unsigned lenLocation,
145 const double* scale, unsigned lenScale,
146 const ArrayND<double>& histogram,
148 const unsigned interpolationDegree);
150 const double* location, unsigned lenLocation,
151 const double* scale, unsigned lenScale,
152 const ArrayND<float>& histogram,
154 const unsigned interpolationDegree);
156 const double* location, unsigned lenLocation,
157 const double* scale, unsigned lenScale,
158 const ArrayND<int>& histogram,
160 const unsigned interpolationDegree);
162 const double* location, unsigned lenLocation,
163 const double* scale, unsigned lenScale,
164 const ArrayND<long>& histogram,
166 const unsigned interpolationDegree);
168 const double* location, unsigned lenLocation,
169 const double* scale, unsigned lenScale,
170 const ArrayND<unsigned char>& histogram,
172 const unsigned interpolationDegree);
177 #include "npstat/stat/CompositeDistributionND.icc"
Interface definition for 1-d continuous statistical distributions.
Interface definition for multivariate continuous statistical distributions.
Arbitrary-dimensional array template.
Definition: AbsDistributionND.hh:26
unsigned dim() const Definition: AbsDistributionND.hh:51
Definition: ArrayND.hh:93
Definition: CompositeDistributionND.hh:28
CompositeDistributionND(const AbsDistributionND &copula)
bool mappedByQuantiles() const Definition: CompositeDistributionND.hh:99
CompositeDistributionND(const double *location, const double *scale, unsigned locationAndScaleLength, const ArrayND< Num1, Len1, Dim1 > &histogram, const ArrayShape &copulaShape, const unsigned interpolationDegree)
virtual CompositeDistributionND * clone() const Definition: CompositeDistributionND.hh:96
const AbsDistribution1D * marginal(unsigned index) const Definition: CompositeDistributionND.hh:106
void addMarginal(const AbsDistribution1D &marginal)
double density(const double *x, unsigned dim) const
CompositeDistributionND(const AbsDistributionND &copula, const AbsDistribution1D &m0, const AbsDistribution1D &m1)
virtual gs::ClassId classId() const Definition: CompositeDistributionND.hh:117
const AbsDistributionND * copula() const Definition: CompositeDistributionND.hh:102
CompositeDistributionND(const AbsDistributionND *copula, const std::vector< const AbsDistribution1D * > marginals, bool assumePointerOwnership=false)
void unitMap(const double *rnd, unsigned dim, double *x) const
Definition: AbsArrayProjector.hh:14
std::vector< unsigned > ArrayShape Definition: ArrayShape.hh:21
Definition: AbsDistribution1D.hh:31
|