nifty7.operators.chain_operator module

class ChainOperator(ops, _callingfrommake=False)[source]

Bases: nifty7.operators.linear_operator.LinearOperator

Class representing chains of operators.


This operator has to be called using the make method.


Return repr(self).

apply(x, mode)[source]

Applies the Operator to a given x, in a specified mode.

  • x (Field) – The input Field, defined on the Operator’s domain or target, depending on mode.

  • mode (int) –

    • TIMES: normal application

    • ADJOINT_TIMES: adjoint application

    • INVERSE_TIMES: inverse application

    • ADJOINT_INVERSE_TIMES or INVERSE_ADJOINT_TIMES: adjoint inverse application


The processed Field defined on the Operator’s target or domain, depending on mode.

Return type


static make(ops)[source]

Build a ChainOperator (or something simpler if possible), a sequence of concatenated LinearOperators.


ops (list of LinearOperator) – Individual operators of the chain.

static simplify(ops)[source]