La dichiarazione friend è una dichiarazione in un certo senso slegata dal resto della classe, dato che si riferisce a roba che sta fuori da essa; per questo motivo, non è implicito il "template<typename mType>", ovvero che la funzione che stai rendendo friend sia un template, perché questo è implicito solo per i membri della classe. Per questo motivo, dunque, la dichiarazione friend che ti serve necessita del template, dato che stai rendendo friend un template che in linea di principio è indipendente da quello della classe.

In alternativa, credo che sarebbe bastato scrivere:
codice:
	friend std::ostream&  operator<< (std::ostream& , Matrix<mType>& );
	friend std::ostream&  operator<< (std::ostream& , const  Matrix<mType>& );
ma dovrei controllare sullo standard.