propagate

Function propagate 

Source
fn propagate(
    below: Blocks,
    phase: [Complex; 2],
) -> (Blocks, [DMatrix<Complex>; 3])
Expand description

Place the propagation P = diag(phase) across a layer above the stack below.

Propagation reflects nothing, so the Redheffer product reduces to the closed form [P V0, P V1 P, V2, V3 P]. Returns it with the blocks its pullback reads.