> just look at your code: > public override int GetHashCode() > { > // TODO: find a better hash function than det(M) > return (int)(m[0] * m[3] - m[2] * m[1]); > } Also, using xors is faster than using multiplications.