Thanks for the reply, but my problem still persists.
Please consider the following verbs:
Sym =: (i. @: !) A. i.
Alt =: ( (I. @: (1&=) @: (C.!.2)) { ] ) @: Sym
a4 =. Alt 4
a4 is the alternating group on 4 letters.
Now I'll sloppily create v4
v4 =. 4 4 $ 0 1 2 3 1 0 3 2 2 3 0 1 3 2 1 0
v4 (klien four group) is a normal subgroup of a4. This means the left cosets
and right cosets of v4 in a4 should be the same.
i.e.
if I multiply ( use C.) all elements of a4 with v4, and then nub out
duplicates, a4 will be partitioned into 3 sets of size 4.
here is the right coset verb:
rcosets =: ~.@:(/:~"2)@:( ] C."_ 1 [ ) NB. a4 should be on left, v4 on right.
Yes the verb is weird, I swap x and y when using C. So we have v4 C."(_ 1) a4 ,
and then nub duplicates. I get
a4 rcosets v4
0 1 2 3
1 0 3 2
2 3 0 1
3 2 1 0
0 2 3 1
1 3 2 0
2 0 1 3
3 1 0 2
0 3 1 2
1 2 0 3
2 1 3 0
3 0 2 1
i.e. I get 3 sets of 4 permutations. Exactly what I wanted.
What I cannot do, is find the equivalent verb for getting left cosets.
i.e.
I need a verb that does:
a4 C."(r1 r2) v4 NB. what ranks r1, r2?
and then nub the resulting duplicate sets ~.@:(/:~"2
And the answer SHOULD be the same as the right cosets.
So, if I try
lcosets =: ~.@:(/:~"2) @: ( C."(1 _) ) NB. superfluous brackets, I know
The reuslt of
a4 lcosets v4
is simply
0 1 2 31 0 3 22 3 0 1
3 2 1 0
i.e. it's just v4 again. This makes no sense to me.
> Date: Sat, 12 Jul 2014 07:24:32 -0400
> From: [email protected]
> To: [email protected]
> Subject: Re: [Jprogramming] I just don't C. it.
>
> The explanation may be the rank of C, as you ask.
>
> C. b. 0
> 1 1 _
> 0 2 3 1 C."1 v
> 0 2 3 1
> 1 3 2 0
> 2 0 1 3
> 3 1 0 2
>
>
>
>
> --
> (B=)
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm