mirror of
https://github.com/triqs/dft_tools
synced 2024-12-25 13:53:40 +01:00
Clean up _gf_common.py -- removed duplicated python functions
This commit is contained in:
parent
c1f221e085
commit
ec32223ea7
@ -100,61 +100,3 @@ def _ilshift_(self, A):
|
|||||||
else:
|
else:
|
||||||
raise RuntimeError, " <<= operator: RHS not understood"
|
raise RuntimeError, " <<= operator: RHS not understood"
|
||||||
return self
|
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())
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user