Search in sources :

Example 1 with ContinuousDiffusionIntegrator

use of dr.evomodel.treedatalikelihood.continuous.cdi.ContinuousDiffusionIntegrator in project beast-mcmc by beast-dev.

the class WishartStatisticsWrapper method simulateMissingTraits.

private void simulateMissingTraits() {
    // Force new sample!
    likelihoodDelegate.fireModelChanged();
    //        ProcessSimulationDelegate.MeanAndVariance mv =
    //                (ProcessSimulationDelegate.MeanAndVariance) tipFullConditionalTrait.getTrait(
    //                        dataLikelihood.getTree(), dataLikelihood.getTree().getExternalNode(1));
    //
    //        System.err.println("DONE");
    //        System.exit(-1);
    double[] sample = (double[]) tipSampleTrait.getTrait(dataLikelihood.getTree(), null);
    if (DEBUG) {
        System.err.println("Attempting to simulate missing traits");
        System.err.println(new Vector(sample));
    }
    final ContinuousDiffusionIntegrator cdi = outerProductDelegate.getIntegrator();
    assert (cdi instanceof ContinuousDiffusionIntegrator.Basic);
    double[] buffer = new double[dimPartial * numTrait];
    for (int trait = 0; trait < numTrait; ++trait) {
        buffer[trait * dimPartial + dimTrait] = Double.POSITIVE_INFINITY;
    }
    for (int tip = 0; tip < tipCount; ++tip) {
        int sampleOffset = tip * dimTrait * numTrait;
        int bufferOffset = 0;
        for (int trait = 0; trait < numTrait; ++trait) {
            System.arraycopy(sample, sampleOffset, buffer, bufferOffset, dimTrait);
            sampleOffset += dimTrait;
            bufferOffset += dimPartial;
        }
        outerProductDelegate.setTipDataDirectly(tip, buffer);
    }
    if (DEBUG) {
        System.err.println("Finished draw");
    }
}
Also used : ContinuousDiffusionIntegrator(dr.evomodel.treedatalikelihood.continuous.cdi.ContinuousDiffusionIntegrator) Vector(dr.math.matrixAlgebra.Vector)

Aggregations

ContinuousDiffusionIntegrator (dr.evomodel.treedatalikelihood.continuous.cdi.ContinuousDiffusionIntegrator)1 Vector (dr.math.matrixAlgebra.Vector)1