typedef vector < double > Trow; typedef vector < Trow > Tmatrix; template < class T > ostream & // template to print any vector operator << (ostream & os, vector < T > v) { for (int i = 0; i < v.size (); i++) os << " " << v[i]; os << "\n"; return os; } void readmatrix (istream & is, Tmatrix & m); // read a matrix Trow operator *(double a, Trow r); Tmatrix operator *(double a, Tmatrix m); Trow operator + (Trow r, const Trow & rr); Tmatrix operator +(Tmatrix mm, Tmatrix m); Trow operator * (const Tmatrix & m, const Trow & r); double norm(Trow r); Tmatrix idmatrix(int n);