diff --git a/SimPEG/__init__.py b/SimPEG/__init__.py index c7c3638b..07397233 100644 --- a/SimPEG/__init__.py +++ b/SimPEG/__init__.py @@ -1,14 +1,15 @@ import numpy as np import scipy.sparse as sp import utils -from utils import Solver +Solver = utils.Solver import mesh import forward import inverse -import visualize import examples import tests +Data = forward.Data + import scipy.version as _v if _v.version < '0.13.0': print 'Warning: upgrade your scipy to 0.13.0' diff --git a/SimPEG/forward/Problem.py b/SimPEG/forward/Problem.py index 2b2af6d1..1fb5de1f 100644 --- a/SimPEG/forward/Problem.py +++ b/SimPEG/forward/Problem.py @@ -1,5 +1,5 @@ from SimPEG import utils, np, sp -import Data +import SimPEGData norm = np.linalg.norm @@ -212,7 +212,7 @@ class Problem(object): noise = std*abs(dtrue)*np.random.randn(*dtrue.shape) dobs = dtrue+noise stdev = dobs*0 + std - return Data.SimPEGData(self, dobs=dobs, std=stdev, dtrue=dtrue, mtrue=m) + return SimPEGData.Data(dobs=dobs, std=stdev, dtrue=dtrue, mtrue=m) diff --git a/SimPEG/forward/Data.py b/SimPEG/forward/SimPEGData.py similarity index 90% rename from SimPEG/forward/Data.py rename to SimPEG/forward/SimPEGData.py index bc18e2a5..934fd47a 100644 --- a/SimPEG/forward/Data.py +++ b/SimPEG/forward/SimPEGData.py @@ -32,7 +32,7 @@ def requiresProblem(f): return requiresProblemWrapper -class SimPEGData(object): +class Data(object): """Data holds the observed data, and the standard deviations.""" __metaclass__ = utils.Save.Savable @@ -72,14 +72,17 @@ class SimPEGData(object): @requiresProblem def dpred(self, m, u=None): - pass + if u is None: u = self.prob.field(m) + @requiresProblem def residual(self, m, u=None): - pass + if u is None: u = self.prob.field(m) + @requiresProblem def residualWeighted(self, m, u=None): - pass + if u is None: u = self.prob.field(m) + @requiresProblem def projectField(self, m, u=None): """ Projection matrix. @@ -87,6 +90,7 @@ class SimPEGData(object): .. math:: d_\\text{pred} = Pu(m) """ + if u is None: u = self.prob.field(m) return self.P*u diff --git a/SimPEG/forward/__init__.py b/SimPEG/forward/__init__.py index 6eb4042d..47153f5c 100644 --- a/SimPEG/forward/__init__.py +++ b/SimPEG/forward/__init__.py @@ -1,3 +1,3 @@ from Problem import * import ModelTransforms -from Data import * +from SimPEGData import * diff --git a/SimPEG/tests/__init__.py b/SimPEG/tests/__init__.py index feede8f7..32112042 100644 --- a/SimPEG/tests/__init__.py +++ b/SimPEG/tests/__init__.py @@ -1,4 +1,3 @@ -import TestUtils from TestUtils import checkDerivative, Rosenbrock, OrderTest, getQuadratic diff --git a/SimPEG/utils/Solver.py b/SimPEG/utils/Solver.py index e0f1e017..0b6e0d95 100644 --- a/SimPEG/utils/Solver.py +++ b/SimPEG/utils/Solver.py @@ -1,7 +1,8 @@ import numpy as np import scipy.sparse as sp import scipy.sparse.linalg as linalg -from SimPEG.utils import mkvc, sdiag +from matutils import mkvc +from sputils import sdiag import warnings DEFAULTS = {'direct':'scipy', 'iter':'scipy', 'triangular':'fortran', 'diagonal':'python'} diff --git a/SimPEG/utils/__init__.py b/SimPEG/utils/__init__.py index ab67b25d..2def4332 100644 --- a/SimPEG/utils/__init__.py +++ b/SimPEG/utils/__init__.py @@ -1,16 +1,9 @@ -import matutils -import sputils -import lomutils -import interputils -import ModelBuilder -import meshutils from matutils import getSubArray, mkvc, ndgrid, ind2sub, sub2ind from sputils import spzeros, kron3, speye, sdiag, ddx, av, avExtrap from meshutils import exampleLomGird, meshTensors from lomutils import volTetra, faceInfo, inv2X2BlockDiagonal, inv3X3BlockDiagonal, indexCube from interputils import interpmat from ipythonUtils import easyAnimate as animate -import Solver from Solver import Solver import Save import Geophysics