Zero-Forcing Precoding and Generalized Inverses | Synapse