24#include <ql/mathconstants.hpp>
25#include <ql/math/integrals/gaussianquadratures.hpp>
26#include <ql/math/randomnumbers/stochasticcollocationinvcdf.hpp>
31 Array
g(
Real sigma,
const Array& x,
32 const ext::function<
Real(
Real)>& invCDF) {
35 const CumulativeNormalDistribution normalCDF;
37 for (
Size i=0, n=x.size(); i < n; ++i) {
38 y[i] = invCDF(normalCDF(x[i]/sigma));
46 const ext::function<
Real(
Real)>& invCDF,
54 y_(g(sigma_, x_, invCDF)),
55 interpl_(x_.begin(), x_.end(), y_.begin()) {
generalized Gauss-Hermite integration
Inverse cumulative normal distribution function.
template class providing a null value for a given type.
const LagrangeInterpolation interpl_
Real operator()(Real u) const
StochasticCollocationInvCDF(const ext::function< Real(Real)> &invCDF, Size lagrangeOrder, Real pMax=Null< Real >(), Real pMin=Null< Real >())
std::size_t Size
size of a container