Invariant analysis of CP violation