I'm looking for an algorithm to take the entire vector space of length n Boolean vectors and partition it into vectors that are the same up to a rotation of the entries.For example if n=3 the partitions would be:-{(0,0,0)}-{(0,0,1),(0,1,0),(1,0,0)}-{(0,1,1),(1,1,0),(1,0,1)}-{(1,1,1)}One (seemingly slow) way to do this would be to generate the list of all possible Boolean vectors of length n and at each entry of the list generate all vectors that are similar to the original and delete these from the list.Any ideas on a faster algorithm?
Grouping Boolean vectors by similarity up to a rotation
linear algebra;algorithms