TransformedScaledCovMatrixTKGroup<V,M>::TransformedScaledCovMatrixTKGroup(
    const char * prefix,
    const BoxSubset<V,M> & boxSubset,
    const std::vector<double> & scales,
    const M & covMatrix)
    : BaseTKGroup<V, M>(prefix, boxSubset.vectorSpace(), scales),
      m_boxSubset(boxSubset),
      m_originalCovMatrix(covMatrix)
{
    if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 5)) {
        *m_env.subDisplayFile() << "Entering TransformedScaledCovMatrixTKGroup<V,M>::constructor()"
                                << std::endl;
    }

    if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 5)) {
        *m_env.subDisplayFile() << "In TransformedScaledCovMatrixTKGroup<V,M>::constructor()"
                                << ": m_scales.size() = "                << m_scales.size()
                                << ", m_preComputingPositions.size() = " << m_preComputingPositions.size()
                                << ", m_rvs.size() = "                   << m_rvs.size()
                                << ", m_originalCovMatrix = "            << m_originalCovMatrix
                                << std::endl;
    }

    // Set RVs to have zero mean in the Gaussian space
    setRVsWithZeroMean();

    if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 5)) {
        *m_env.subDisplayFile() << "Leaving TransformedScaledCovMatrixTKGroup<V,M>::constructor()"
                                << std::endl;
    }
}
Esempio n. 2
0
InvLogitGaussianJointPdf<V,M>::InvLogitGaussianJointPdf(
  const char*                  prefix,
  const BoxSubset<V,M>& domainBoxSubset,
  const V&                     lawExpVector,
  const M&                     lawCovMatrix)
  :
  BaseJointPdf<V,M>(((std::string)(prefix)+"invlogit_gau").c_str(),
      domainBoxSubset),
  m_lawExpVector(new V(lawExpVector)),
  m_lawVarVector(domainBoxSubset.vectorSpace().newVector(INFINITY)), // FIX ME
  m_diagonalCovMatrix(false),
  m_lawCovMatrix(new M(lawCovMatrix)),
  m_domainBoxSubset(domainBoxSubset)
{
}