From e56ca4fcbb4f8a11ae7be0c5aa0e1dd24b09a04b Mon Sep 17 00:00:00 2001 From: Dave Marchant Date: Wed, 5 Feb 2014 21:48:25 -0800 Subject: [PATCH] Added sdInv to utils. --- SimPEG/Utils/__init__.py | 2 +- SimPEG/Utils/sputils.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/SimPEG/Utils/__init__.py b/SimPEG/Utils/__init__.py index 269cfdc5..1331cc8c 100644 --- a/SimPEG/Utils/__init__.py +++ b/SimPEG/Utils/__init__.py @@ -1,5 +1,5 @@ from matutils import getSubArray, mkvc, ndgrid, ind2sub, sub2ind -from sputils import spzeros, kron3, speye, sdiag, ddx, av, avExtrap +from sputils import spzeros, kron3, speye, sdiag, sdInv, ddx, av, avExtrap from meshutils import exampleLomGird, meshTensors from lomutils import volTetra, faceInfo, inv2X2BlockDiagonal, inv3X3BlockDiagonal, indexCube from interputils import interpmat diff --git a/SimPEG/Utils/sputils.py b/SimPEG/Utils/sputils.py index 06eef80d..f671be43 100644 --- a/SimPEG/Utils/sputils.py +++ b/SimPEG/Utils/sputils.py @@ -7,6 +7,9 @@ def sdiag(h): """Sparse diagonal matrix""" return sp.spdiags(mkvc(h), 0, h.size, h.size, format="csr") +def sdInv(M): + "Inverse of a sparse diagonal matrix" + return sdiag(1/M.diagonal()) def speye(n): """Sparse identity"""