triqs.gfs.descriptor_base.BaseBlock

class triqs.gfs.descriptor_base.BaseBlock(G, *args, **kw)[source]

Bases: Base

Block-aware descriptor base.

For a single-Gf target this behaves like Base. For a BlockGf target the descriptor builds one sub-descriptor per block, exposed through iteration so that __lshift__() can dispatch them block-wise.

Parameters:
GGf or BlockGf

Reference Green’s function the descriptor will eventually act on. Captured to detect the block-target case.

*args, **kw

Forwarded to the per-block sub-descriptor constructor.

Attributes

G

(Gf or BlockGf) Captured target (inherited from Base).

descriptor_iter

(generator of BaseBlock) Lazily-constructed per-block sub-descriptors. Only present when G is a BlockGf; see is_block_descriptor().

Methods

is_block_descriptor()

Whether the captured target is a BlockGf.