def __iadd__(self,other):
'''
Overloaded self addition(+) operator, which supports the self addition by an instance of Opt.
'''
assert other.site==self.site
if self.tag=='0':
return other
elif other.tag=='0':
return self
else:
if self.tag==other.tag:
self.value+=other.value
else:
self.value=np.array(1.0,dtype=np.find_common_type([self.value.dtype,other.value.dtype],[]))
self.tag='%s(%s)+%s(%s)'%(self.value,self.tag,other.value,other.tag)
self.matrix*=self.value
self.matrix+=other.value*other.matrix
return self
评论列表
文章目录