print logNormalizationConstant for Gaussian conditionals
							parent
							
								
									0d058100e5
								
							
						
					
					
						commit
						651f99925b
					
				| 
						 | 
				
			
			@ -174,6 +174,8 @@ void GaussianMixture::print(const std::string &s,
 | 
			
		|||
    std::cout << "(" << formatter(dk.first) << ", " << dk.second << "), ";
 | 
			
		||||
  }
 | 
			
		||||
  std::cout << "\n";
 | 
			
		||||
  std::cout << " logNormalizationConstant: " << logConstant_ << "\n"
 | 
			
		||||
            << std::endl;
 | 
			
		||||
  conditionals_.print(
 | 
			
		||||
      "", [&](Key k) { return formatter(k); },
 | 
			
		||||
      [&](const GaussianConditional::shared_ptr &gf) -> std::string {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -675,33 +675,41 @@ factor 6:  P( m1 | m0 ):
 | 
			
		|||
size: 3
 | 
			
		||||
conditional 0: Hybrid  P( x0 | x1 m0)
 | 
			
		||||
 Discrete Keys = (m0, 2), 
 | 
			
		||||
 logNormalizationConstant: 1.38862
 | 
			
		||||
 | 
			
		||||
 Choice(m0) 
 | 
			
		||||
 0 Leaf p(x0 | x1)
 | 
			
		||||
  R = [ 10.0499 ]
 | 
			
		||||
  S[x1] = [ -0.0995037 ]
 | 
			
		||||
  d = [ -9.85087 ]
 | 
			
		||||
  logNormalizationConstant: 1.38862
 | 
			
		||||
  No noise model
 | 
			
		||||
 | 
			
		||||
 1 Leaf p(x0 | x1)
 | 
			
		||||
  R = [ 10.0499 ]
 | 
			
		||||
  S[x1] = [ -0.0995037 ]
 | 
			
		||||
  d = [ -9.95037 ]
 | 
			
		||||
  logNormalizationConstant: 1.38862
 | 
			
		||||
  No noise model
 | 
			
		||||
 | 
			
		||||
conditional 1: Hybrid  P( x1 | x2 m0 m1)
 | 
			
		||||
 Discrete Keys = (m0, 2), (m1, 2), 
 | 
			
		||||
 logNormalizationConstant: 1.3935
 | 
			
		||||
 | 
			
		||||
 Choice(m1) 
 | 
			
		||||
 0 Choice(m0) 
 | 
			
		||||
 0 0 Leaf p(x1 | x2)
 | 
			
		||||
  R = [ 10.099 ]
 | 
			
		||||
  S[x2] = [ -0.0990196 ]
 | 
			
		||||
  d = [ -9.99901 ]
 | 
			
		||||
  logNormalizationConstant: 1.3935
 | 
			
		||||
  No noise model
 | 
			
		||||
 | 
			
		||||
 0 1 Leaf p(x1 | x2)
 | 
			
		||||
  R = [ 10.099 ]
 | 
			
		||||
  S[x2] = [ -0.0990196 ]
 | 
			
		||||
  d = [ -9.90098 ]
 | 
			
		||||
  logNormalizationConstant: 1.3935
 | 
			
		||||
  No noise model
 | 
			
		||||
 | 
			
		||||
 1 Choice(m0) 
 | 
			
		||||
| 
						 | 
				
			
			@ -709,16 +717,20 @@ conditional 1: Hybrid  P( x1 | x2 m0 m1)
 | 
			
		|||
  R = [ 10.099 ]
 | 
			
		||||
  S[x2] = [ -0.0990196 ]
 | 
			
		||||
  d = [ -10.098 ]
 | 
			
		||||
  logNormalizationConstant: 1.3935
 | 
			
		||||
  No noise model
 | 
			
		||||
 | 
			
		||||
 1 1 Leaf p(x1 | x2)
 | 
			
		||||
  R = [ 10.099 ]
 | 
			
		||||
  S[x2] = [ -0.0990196 ]
 | 
			
		||||
  d = [ -10 ]
 | 
			
		||||
  logNormalizationConstant: 1.3935
 | 
			
		||||
  No noise model
 | 
			
		||||
 | 
			
		||||
conditional 2: Hybrid  P( x2 | m0 m1)
 | 
			
		||||
 Discrete Keys = (m0, 2), (m1, 2), 
 | 
			
		||||
 logNormalizationConstant: 1.38857
 | 
			
		||||
 | 
			
		||||
 Choice(m1) 
 | 
			
		||||
 0 Choice(m0) 
 | 
			
		||||
 0 0 Leaf p(x2)
 | 
			
		||||
| 
						 | 
				
			
			@ -726,6 +738,7 @@ conditional 2: Hybrid  P( x2 | m0 m1)
 | 
			
		|||
  d = [ -10.1489 ]
 | 
			
		||||
  mean: 1 elements
 | 
			
		||||
  x2: -1.0099
 | 
			
		||||
  logNormalizationConstant: 1.38857
 | 
			
		||||
  No noise model
 | 
			
		||||
 | 
			
		||||
 0 1 Leaf p(x2)
 | 
			
		||||
| 
						 | 
				
			
			@ -733,6 +746,7 @@ conditional 2: Hybrid  P( x2 | m0 m1)
 | 
			
		|||
  d = [ -10.1479 ]
 | 
			
		||||
  mean: 1 elements
 | 
			
		||||
  x2: -1.0098
 | 
			
		||||
  logNormalizationConstant: 1.38857
 | 
			
		||||
  No noise model
 | 
			
		||||
 | 
			
		||||
 1 Choice(m0) 
 | 
			
		||||
| 
						 | 
				
			
			@ -741,6 +755,7 @@ conditional 2: Hybrid  P( x2 | m0 m1)
 | 
			
		|||
  d = [ -10.0504 ]
 | 
			
		||||
  mean: 1 elements
 | 
			
		||||
  x2: -1.0001
 | 
			
		||||
  logNormalizationConstant: 1.38857
 | 
			
		||||
  No noise model
 | 
			
		||||
 | 
			
		||||
 1 1 Leaf p(x2)
 | 
			
		||||
| 
						 | 
				
			
			@ -748,6 +763,7 @@ conditional 2: Hybrid  P( x2 | m0 m1)
 | 
			
		|||
  d = [ -10.0494 ]
 | 
			
		||||
  mean: 1 elements
 | 
			
		||||
  x2: -1
 | 
			
		||||
  logNormalizationConstant: 1.38857
 | 
			
		||||
  No noise model
 | 
			
		||||
 | 
			
		||||
)";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -121,6 +121,7 @@ namespace gtsam {
 | 
			
		|||
      const auto mean = solve({});  // solve for mean.
 | 
			
		||||
      mean.print("  mean", formatter);
 | 
			
		||||
    }
 | 
			
		||||
    cout << "  logNormalizationConstant: " << logNormalizationConstant() << std::endl;
 | 
			
		||||
    if (model_)
 | 
			
		||||
      model_->print("  Noise model: ");
 | 
			
		||||
    else
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -516,6 +516,7 @@ TEST(GaussianConditional, Print) {
 | 
			
		|||
    "  d = [ 20 40 ]\n"
 | 
			
		||||
    "  mean: 1 elements\n"
 | 
			
		||||
    "  x0: 20 40\n"
 | 
			
		||||
    "  logNormalizationConstant: -4.0351\n"
 | 
			
		||||
    "isotropic dim=2 sigma=3\n";
 | 
			
		||||
  EXPECT(assert_print_equal(expected, conditional, "GaussianConditional"));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -530,6 +531,7 @@ TEST(GaussianConditional, Print) {
 | 
			
		|||
    "  S[x1] = [ -1 -2 ]\n"
 | 
			
		||||
    "          [ -3 -4 ]\n"
 | 
			
		||||
    "  d = [ 20 40 ]\n"
 | 
			
		||||
    "  logNormalizationConstant: -4.0351\n"
 | 
			
		||||
    "isotropic dim=2 sigma=3\n";
 | 
			
		||||
  EXPECT(assert_print_equal(expected1, conditional1, "GaussianConditional"));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -545,6 +547,7 @@ TEST(GaussianConditional, Print) {
 | 
			
		|||
    "  S[y1] = [ -5 -6 ]\n"
 | 
			
		||||
    "          [ -7 -8 ]\n"
 | 
			
		||||
    "  d = [ 20 40 ]\n"
 | 
			
		||||
    "  logNormalizationConstant: -4.0351\n"
 | 
			
		||||
    "isotropic dim=2 sigma=3\n";
 | 
			
		||||
  EXPECT(assert_print_equal(expected2, conditional2, "GaussianConditional"));
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue