Regularization tests

This commit is contained in:
rowanc1
2014-04-15 09:47:01 -07:00
parent 25421f739f
commit f10d6cc2b7
2 changed files with 8 additions and 8 deletions
+4 -4
View File
@@ -25,7 +25,7 @@ class BaseRegularization(object):
Utils.setKwargs(self, **kwargs)
self.mesh = mesh
self.mapping = mapping or Maps.IdentityMap(mesh)
self.mapping._assertMatchesPair(mapPair)
self.mapping._assertMatchesPair(self.mapPair)
mref = Parameters.ParameterProperty('mref', default=None, doc='Reference model.')
@@ -56,7 +56,7 @@ class BaseRegularization(object):
@property
def W(self):
"""Full regularization weighting matrix W."""
return sp.identity(self.model.nP)
return sp.identity(self.mapping.nP)
@Utils.timeIt
@@ -206,8 +206,8 @@ class Tikhonov(BaseRegularization):
alpha_yy = Utils.dependentProperty('_alpha_yy', 0.0, ['_W', '_Wyy'], "Weight for the second derivative in the y direction")
alpha_zz = Utils.dependentProperty('_alpha_zz', 0.0, ['_W', '_Wzz'], "Weight for the second derivative in the z direction")
def __init__(self, model, **kwargs):
BaseRegularization.__init__(self, model, **kwargs)
def __init__(self, mesh, mapping=None, **kwargs):
BaseRegularization.__init__(self, mesh, mapping=mapping, **kwargs)
@property
def Ws(self):
+4 -4
View File
@@ -19,10 +19,10 @@ class RegularizationTests(unittest.TestCase):
continue
# if 'Regularization' not in R: continue
print 'Check:', R
model = r.modelPair(self.mesh2)
reg = r(model)
m = model.example()
reg.mref = model.example()*0
mapping = r.mapPair(self.mesh2)
reg = r(self.mesh2, mapping=mapping)
m = mapping.example()
reg.mref = mapping.example()*0
passed = checkDerivative(lambda m : [reg.modelObj(m), reg.modelObjDeriv(m)], m, plotIt=False)
self.assertTrue(passed)