Thanks Roger! That's exactly what I needed. The boxed solution is also useful in a couple of instances.
Skip On Sat, May 16, 2020 at 7:15 PM Roger Hui <rogerhui.can...@gmail.com> wrote: > Hmm, you just want the keys: rotate each row so that the minimum item is > first. > > (n i."_1 <./"1 n)|."_1 n > 1 3 2 4 > 1 2 3 4 > 1 2 3 4 > 1 3 2 4 > 1 3 2 4 > 1 2 3 4 > 1 2 3 4 > 1 3 2 4 > > > On Sat, May 16, 2020 at 5:11 PM Roger Hui <rogerhui.can...@gmail.com> > wrote: > > > ((n i."_1 <./"1 n)|."_1 n) </. n > > ┌───────┬───────┐ > > │2 4 1 3│2 3 4 1│ > > │3 2 4 1│3 4 1 2│ > > │1 3 2 4│4 1 2 3│ > > │4 1 3 2│1 2 3 4│ > > └───────┴───────┘ > > > > Rotate each row so that the minimum item is first, then use those rotated > > rows as keys. > > > > > > On Sat, May 16, 2020 at 4:44 PM Skip Cave <s...@caveconsulting.com> > wrote: > > > >> I have run across this issue a few times in the past. > >> The following 8x4 array has several rows that are 'rotational > duplicates'. > >> > >> ]n=.8 4$2 4 1 3 2 3 4 1 3 4 1 2 3 2 4 1 1 3 2 4 4 1 2 3 1 2 3 4 4 1 3 2 > >> > >> 2 4 1 3 > >> > >> 2 3 4 1 > >> > >> 3 4 1 2 > >> > >> 3 2 4 1 > >> > >> 1 3 2 4 > >> > >> 4 1 2 3 > >> > >> 1 2 3 4 > >> > >> 4 1 3 2 > >> > >> > >> Is it possible to develop a verb that would find the rows that are > >> rotational duplicates of each other. That is, find all the rows that > would > >> be the same, if each row was rotated some integer value in the first > >> dimension. The output of the verb would be the same shape array, but > with > >> each duplicate row rotated such that they show as identical. Picking the > >> 'standard' rotation for a set of rotational duplicates is up to the > >> implementer. > >> > >> > >> Skip > >> ---------------------------------------------------------------------- > >> 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