diff --git a/SimPEG/Regularization.py b/SimPEG/Regularization.py index e7fc4895..f181a8a3 100644 --- a/SimPEG/Regularization.py +++ b/SimPEG/Regularization.py @@ -303,8 +303,8 @@ class Tikhonov(BaseRegularization): if self.smoothModel == True: mD1 = self.mapping.deriv(m) mD2 = self.mapping.deriv(self.mref) - r1 = self.W * ( self.mapping * (m) ) - r2 = self.Ws * ( self.mapping * (self.mref) ) + r1 = self.W * ( self.mapping * (m - self.mref) ) + r2 = self.Ws * ( self.mapping * (m - self.mref) ) out1 = mD1.T * ( self.W.T * r1 ) out2 = mD2.T * ( self.Ws.T * r2 ) out = out1-out2 diff --git a/SimPEG/Tests/test_regularization.py b/SimPEG/Tests/test_regularization.py index 2197d27b..48846d2f 100644 --- a/SimPEG/Tests/test_regularization.py +++ b/SimPEG/Tests/test_regularization.py @@ -22,7 +22,7 @@ class RegularizationTests(unittest.TestCase): mapping = r.mapPair(self.mesh2) reg = r(self.mesh2, mapping=mapping) m = np.random.rand(mapping.nP) - reg.mref = m[:]*0 + reg.mref = m[:]*np.mean(m) passed = checkDerivative(lambda m : [reg.eval(m), reg.evalDeriv(m)], m, plotIt=False) self.assertTrue(passed)