Skip to content

IPT tutorial: issue with multiplying G_tau #4

@tayral

Description

@tayral

Hi,
On branch "unstable", the ipynb 05-IPT... returns an error when calling the solve method of the IPT solver. It is caused by the line Sigma_t << U/2 * Gt * Gt * Gt:

TypeError                                 Traceback (most recent call last)
<ipython-input-3-9ca55848cf11> in <module>()
     17 for i in range(n_loops):
     18     S.g0 << inverse( iOmega_n - t**2 * S.g )
---> 19     S.solve(U = U)
     20 
     21     # Get real axis function with Pade approximation

<ipython-input-2-f1c49a130509> in solve(self, U)
     16     def solve(self, U):
     17         self.g0t << InverseFourier(self.g0)
---> 18         self.sigmat << (U**2) * self.g0t * self.g0t * self.g0t
     19         self.sigma << Fourier(self.sigmat)
     20 

/home/tayral/Work/TRIQS_1.6/install_gcc7/lib/python2.7/dist-packages/pytriqs/gf/gf.pyc in __mul__(self, y)
    447     def __mul__(self,y):
    448         c = self.copy()
--> 449         c *= y
    450         return c
    451 

/home/tayral/Work/TRIQS_1.6/install_gcc7/lib/python2.7/dist-packages/pytriqs/gf/gf.pyc in __imul__(self, arg)
    441         if descriptor_base.is_lazy(arg): return lazy_expressions.make_lazy(self) * arg
    442         # Multiply by a GF !?
--> 443         self._data[:] *= arg
    444         if self._singularity : self._singularity *= arg
    445         return self

TypeError: ufunc 'multiply' output (typecode 'O') could not be coerced to provided output parameter (typecode 'D') according to the casting rule ''same_kind''

I posted a boiled-down version of the problem on the TRIQS issue list (issue 404)

Thomas

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions