From f9f23dfd4b25dd7af0978c89ff0dafabc5e06234 Mon Sep 17 00:00:00 2001 From: Lindsey Heagy Date: Sat, 4 Jul 2015 13:00:49 -0700 Subject: [PATCH 1/3] should be regularizing m-mref --- SimPEG/Regularization.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SimPEG/Regularization.py b/SimPEG/Regularization.py index 9e90a2e9..1f766daa 100644 --- a/SimPEG/Regularization.py +++ b/SimPEG/Regularization.py @@ -275,8 +275,8 @@ class Tikhonov(BaseRegularization): @Utils.timeIt def eval(self, m): if self.smoothModel == True: - 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) ) return 0.5*(r1.dot(r1)+r2.dot(r2)) elif self.smoothModel == False: r = self.W * ( self.mapping * (m - self.mref) ) From 94ef2f1eb6997b236ed0fa570fbfc05ecc84319d Mon Sep 17 00:00:00 2001 From: Lindsey Heagy Date: Sat, 4 Jul 2015 13:02:51 -0700 Subject: [PATCH 2/3] text formatting --- SimPEG/Regularization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SimPEG/Regularization.py b/SimPEG/Regularization.py index 1f766daa..e7fc4895 100644 --- a/SimPEG/Regularization.py +++ b/SimPEG/Regularization.py @@ -275,7 +275,7 @@ class Tikhonov(BaseRegularization): @Utils.timeIt def eval(self, m): if self.smoothModel == True: - r1 = self.W * ( self.mapping * (m- self.mref) ) + r1 = self.W * ( self.mapping * (m - self.mref) ) r2 = self.Ws * ( self.mapping * (m - self.mref) ) return 0.5*(r1.dot(r1)+r2.dot(r2)) elif self.smoothModel == False: From 001bcbce271f1fc7840ffcf2508ae4311c7d61ac Mon Sep 17 00:00:00 2001 From: Lindsey Heagy Date: Sat, 4 Jul 2015 13:21:56 -0700 Subject: [PATCH 3/3] fixed Tikhonov deriv and added non-zero mref to testing --- SimPEG/Regularization.py | 4 ++-- SimPEG/Tests/test_regularization.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) 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)