3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-25 05:43:40 +01:00

Clean up _gf_common.py -- removed duplicated python functions

This commit is contained in:
Priyanka Seth 2014-10-17 10:21:32 +02:00
parent c1f221e085
commit ec32223ea7

View File

@ -100,61 +100,3 @@ def _ilshift_(self, A):
else:
raise RuntimeError, " <<= operator: RHS not understood"
return self
#---------------------------------------------------
def from_L_G_R(self, L, G, R):
N1 = self.data.shape[1]
N2 = self.data.shape[2]
assert L.shape[0] == N1
assert L.shape[1] == G.data.shape[1]
assert R.shape[0] == G.data.shape[2]
assert R.shape[1] == N2
MatrixStack(self.data).matmul_L_R(L, G.data, R)
# this might be a bit slow
for o in range(G.tail.order_min, G.tail.order_max+1):
self.tail[o] = numpy.dot(L, numpy.dot(G.tail[o], R))
self.tail.mask.fill(G.tail.order_max)
#---------------------------------------------------
def invert(self):
"""Invert the matrix for all arguments"""
MatrixStack(self.data).invert()
self.tail.invert()
#---------------------------------------------------
# FIXME NEVER USED CLEAN UP
#def transpose(self):
# """Transposes the GF Bloc: return a new transposed view"""
# ### WARNING: this depends on the C++ layering ....
# return self.__class__(
# indices = list(self.indices),
# mesh = self.mesh,
# data = self.data.transpose( (0, 2, 1) ),
# tail = self.tail.transpose(),
# name = self.name+'(t)')
#---------------------------------------------------
def conjugate(self):
"""Complex conjugate of the GF Bloc. It follow the policy of numpy and
make a copy only if the Green function is complex valued"""
return self.__class__(
indices = list(self.indices),
mesh = self.mesh,
data = self.data.conjugate(),
tail = self.tail.conjugate(),
name = self.name+'*')
#------------------ Density -----------------------------------
def total_density(self):
"""Trace density"""
return numpy.trace(self.density())