public override bool Equals(Object obj)
{
if (!(obj is Matrix))
return false;
Matrix other = (Matrix)obj;
for (int i = 0; i < vals.Length; i++) {
if (vals[i] != other.vals[i])
return false;
}
return true;
}