Text this: Iterative Optimization Algorithms to Determine Transmit and Receive Weights for MIMO Systems