spyrit.core.meas.HadamSmatrix2d.fast_adjoint
- HadamSmatrix2d.fast_adjoint(m: tensor, unvectorize: bool = False) tensor[source]
Apply the adjoint of the measurement matrix using the separability of the 2D S-transform.
The forward map is \(Y = S_{1d} X S_{1d}^T\), i.e. \(\mathrm{vec}(Y) = (S_{1d}\otimes S_{1d})\,\mathrm{vec}(X)\). Its adjoint is therefore \(X = S_{1d}^T Y S_{1d}\), which is why \(S_{1d}^T\) (not \(S_{1d}\)) is used below. When
scrambleis False, \(S_{1d}\) is symmetric and this is equivalent to applying \(S_{1d}\) directly.