We consider the problem of minimizing network's transmit power for given transmission rate demands of all links in a multi-input multi-output (MIMO) ad hoc network. The problem is nonconvex, hence, challenging to be solved, even in a centralized manner. To derive a distributed solution, we reformulate the problem as a noncooperative game. We then propose a network interference function (NIF) that captures the total interference incurred at unintended receivers by all transmitters. The proposed NIF sets the light for designing transmitter-dependent pricing policies for the above game. A price-based iterative water-filling algorithm (PIWF) is proposed to find MIMO precoding matrices, which determines both beam directions and transmission power allocation among antennas (or data streams) at each transmitter. Simulations show that PIWF is more power-efficient than all existing MIMO precoding methods. Additionally, NIF under PIWF is also the least. Simulations also show the fast convergence of PIWF.