In the downlink of a multiuser multiple-input multiple-output (MIMO) communication system, simultaneous transmission to several users requires joint optimization of the transmitted signals. Allowing all users to have multiple antennas adds an additional degree of complexity to the problem. In this paper, we examine the case where a single base station transmits to multiple users using linear processing (beamforming) at each of the antenna arrays. We propose generalizations of several previous iterative algorithms for multiuser transmit beamforming that allow multiple antennas and multiple data streams for each user, and that take into account imperfect channel estimates at the transmitter. We then present a new hybrid algorithm that is based on coordinated transmit-receive beamforming, and combines the strengths of nonorthogonal iterative solutions with zero-forcing solutions. The problem of distributing power among the subchannels is solved by using standard bit-loading algorithms combined with the subchannel gains resulting from the zero-forcing solution. The result is a significant performance improvement over equal power distribution. At the same time, the number of iterations required to compute the final solution is reduced.