We prove new upper bounds on the size of families of vectors in \Znm with restricted modular inner products, when m is a large integer. More formally, if u1ut\Znm and v1vt\Znm satisfy uivi0(modm) and uivj0(modm) for all i=j[t] , we prove that tO(mn2+847) . This improves a recent bound of tmn2+O(log(m)) by \cite{BDL13} and is the best possible up to the constant 847 when m is sufficiently larger than n.
The maximal size of such families, called `Matching-Vector families', shows up in recent constructions of locally decodable error correcting codes (LDCs) and determines the rate of the code. Using our result we are able to show that these codes, called Matching-Vector codes, must have encoding length at least K1918 for K-bit messages, regardless of their query complexity. This improves a known super linear bound of K2(logK) proved in \cite{DGY11}.