Hi, thanks for replying.
I already have the unique permutations. What I'm trying to do is "partition" 
the permutations into sets of similar permutations.
Permutations are said to be similar if there exists another (a third 
permutation) which multiplied by the first permutation, then it's inverse 
multiplied by that result, gives the second permutation. i.e. the first two 
permutations are conjugate.
permutations a and b are conjugate (similar) if there exists a third 
permutation, c, such that
a = c*b*c^(_1)
The interesting thing (relatively speaking) is that similar permutations club 
together. if a and b are conjugate and a and c are conjugate then b and c are 
also conjugate, so all the permutations are partitioned into a few conjugacy 
classes, e.g. for all the permutations of seven objects (5040 of them), there 
are only 15 conjugacy classes. My code is trying to identify those classes.

> Date: Thu, 10 Jul 2014 11:48:21 -0400
> From: mwlochb...@gmail.com
> To: programm...@jsoftware.com
> Subject: Re: [Jprogramming] Comaring Arrays
> 
> I haven't read the code you posted yet, but if you have a list of arrays
> and want to find the unique permutations, you almost certainly want
> 
> (#~ [: ~: /:~"_1)
> 
> . If you can accept a list of sorted arrays as the output (some of which
> may not be present in sorted form in the original input) rather than the
> first instance of each equivalence class in the input, you can use
> 
> ~.@:(/:~"_1)
> 
> Marshall
> 
> On Thu, Jul 10, 2014 at 09:07:21AM +0100, Jon Hough wrote:
> > The following two 4x4 arrays are rearrangements of each other's rows.
> > 
> > 
> > 3 2 1 0
> > 
> > 
> > 
> > 1 0 3 2
> > 
> > 
> > 
> > 2 3 0 1
> > 
> > 
> > 
> > 0 0 0 0
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 2 3 0 1
> > 
> > 
> > 
> > 3 2 1 0
> > 
> > 
> > 
> > 1 0 3 2
> > 
> > 
> > 
> > 0 0 0 0
> > 
> > 
> > I would like to know a way to acknowledge two arrays as being 
> > rearrangements of each other. Eventually my goal is to compare long lists 
> > of such arrays and nub out duplicates - duplicates being rearrangements.
> > 
> > 
> > The only way I can think to do this is to cycle through all permutations of 
> > the row of one of the arrays and test for equality with the other array, 
> > using A. . Of course, there are 24 permutations to test for 4x4 arrays, but 
> > obviously for bigger arrays things get worse.
> > 
> > 
> > Is there a faster way to check two arrays are (ignoring row permutations) 
> > equivalent?
> > 
> > 
> > 
> > 
> >                                       
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
                                          
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to