------ use A(x) <=> A.direct(x) use A.adjoint(x, out=y) <=> y = A.adjoint(x) use f.proximal(tau)(x) <=> f.prox(x, tau) f.convex_conj <=> f_cvx