  Transmit beamforming is a versatile technique for signal transmission from an
array of $N$ antennas to one or multiple users [1]. In wireless communications,
the goal is to increase the signal power at the intended user and reduce
interference to non-intended users. A high signal power is achieved by
transmitting the same data signal from all antennas, but with different
amplitudes and phases, such that the signal components add coherently at the
user. Low interference is accomplished by making the signal components add
destructively at non-intended users. This corresponds mathematically to
designing beamforming vectors (that describe the amplitudes and phases) to have
large inner products with the vectors describing the intended channels and
small inner products with non-intended user channels.
  While it is fairly easy to design a beamforming vector that maximizes the
signal power at the intended user, it is difficult to strike a perfect balance
between maximizing the signal power and minimizing the interference leakage. In
fact, the optimization of multiuser transmit beamforming is generally a
nondeterministic polynomial-time (NP) hard problem [2]. Nevertheless, this
lecture shows that the optimal transmit beamforming has a simple structure with
very intuitive properties and interpretations. This structure provides a
theoretical foundation for practical low-complexity beamforming schemes.
  (See this lecture note for the complete abstract/introduction)
