Better adjointness tests
For the gridder paper, @parras and I have been thinking about better criteria for measuring the adjointness of two operators.
In Nifty, we test the adjointness of the operators Op1
and Op2
by drawing random fields a
(living on Op1.target
) and b
(living on Op1.domain
) and testing whether abs(vdot(a, Op1(b)) - vdot(Op2(a), b))
is "small". But we don't really have a good definition of what "small" means.
Our idea was to compare this expression to min(|a|*|Op1(b)|, |Op2(a)|*|b|)
. So our reference value is basically the smaller (to be pessimistic) of the two dot products, but with their cosine terms removed, so that we do not run into problems when, for example, a
is orthogonal to Op1(b)
.