public override bool Equals(object obj)
{
if (obj is Matrix)
{
var m = obj as Matrix;
if (Rows != m.Rows || Cols != m.Cols)
return false;
for (int i = 0; i < Rows; i++)
for (int j = 0; j < Cols; j++)
if (this[i, j] != m[i, j])
return false;
return true;
}
else
return false;
}