sbi/simulators/linear_gaussian.py

Killed 20 out of 25 mutants

Survived

Survived mutation testing. These mutants show holes in your test suite.

Mutant 303

--- sbi/simulators/linear_gaussian.py
+++ sbi/simulators/linear_gaussian.py
@@ -10,7 +10,7 @@
 from torch.distributions import Independent, MultivariateNormal, Uniform
 
 
-def diagonal_linear_gaussian(theta: Tensor, std=1.0) -> Tensor:
+def diagonal_linear_gaussian(theta: Tensor, std=2.0) -> Tensor:
     """
     Returns samples drawn from Gaussian likelihood with diagonal covariance.
 

Mutant 304

--- sbi/simulators/linear_gaussian.py
+++ sbi/simulators/linear_gaussian.py
@@ -21,7 +21,7 @@
     Returns: Simulated data.
     """
 
-    return theta + std * torch.randn_like(theta)
+    return theta - std * torch.randn_like(theta)
 
 
 def linear_gaussian(

Mutant 305

--- sbi/simulators/linear_gaussian.py
+++ sbi/simulators/linear_gaussian.py
@@ -21,7 +21,7 @@
     Returns: Simulated data.
     """
 
-    return theta + std * torch.randn_like(theta)
+    return theta + std / torch.randn_like(theta)
 
 
 def linear_gaussian(

Mutant 310

--- sbi/simulators/linear_gaussian.py
+++ sbi/simulators/linear_gaussian.py
@@ -54,7 +54,7 @@
 
     chol_factor = torch.cholesky(likelihood_cov)
 
-    return likelihood_shift + theta + torch.mm(chol_factor, torch.randn_like(theta).T).T
+    return likelihood_shift + theta - torch.mm(chol_factor, torch.randn_like(theta).T).T
 
 
 def true_posterior_linear_gaussian_mvn_prior(

Mutant 326

--- sbi/simulators/linear_gaussian.py
+++ sbi/simulators/linear_gaussian.py
@@ -208,7 +208,7 @@
     inv_s1s2 = torch.inverse(s1 + s2)
 
     # posterior mean = s2 * inv_s1pluss2 * mu1 + s1 * inv_s1pluss2 * mu2
-    product_mean = torch.mv(torch.mm(s2, inv_s1s2), mu1) + torch.mv(
+    product_mean = torch.mv(torch.mm(s2, inv_s1s2), mu1) - torch.mv(
         torch.mm(s1, inv_s1s2), mu2
     )