mixture.get(j).addCovariance(dx, pp.weights.get(j));
mixture.get(j).addCovariance(dx, pp.weights.get(j));
@Test public void addCovariance() { GaussianGmm_F64 g = new GaussianGmm_F64(3); g.setMean(new double[]{4,3,6}); Equation eq = new Equation(); eq.process("Q = zeros(3,3)"); for (int i = 0; i < 5; i++) { DMatrixRMaj x = RandomMatrices_DDRM.rectangle(3,1,rand); eq.alias(x,"x",0.4+i*0.1,"w"); eq.process("Q = Q + w*x*x'"); g.addCovariance(x.data,0.4+i*0.1); } DMatrixRMaj Q = eq.lookupDDRM("Q"); assertTrue(MatrixFeatures_DDRM.isIdentical(Q, g.covariance, 1e-8)); }