We study the design optimization of linear precoders for maximizing the mutual information between finite alphabet input and the corresponding output over complex-valued vector channels. This mutual information is a nonlinear and non-concave function of the precoder parameters, posing a major obstacle to precoder design optimization. Our work presents three main contributions: First, we prove that the mutual information is a concave function of a matrix which itself is a quadratic function of the precoder matrix. Second, we propose a parameterized iterative algorithm for finding optimal linear precoders to achieve the global maximum of the mutual information. The proposed iterative algorithm is numerically robust, computationally efficient, and globally convergent. Third, we demonstrate that maximizing the mutual information between a discrete constellation input and the corresponding output of a vector channel not only provides the highest practically achievable rate but also serves as an excellent criterion for minimizing the coded bit error rate. Our numerical examples show that the proposed algorithm achieves mutual information very close to the channel capacity for channel coding rate under 0.75, and also exhibits a large gain over existing linear precoding and/or power allocation algorithms. Moreover, our examples show that certain existing methods are susceptible to being trapped at locally optimal precoders.