Matter of rank

a4 C."1"1 _ v4


   0 1 2 3 e."1 2 a4 C."1"1 _ v4
1 0 0 1 0 0 0 0 1 0 0 1


compared to yours:

   0 1 2 3 e."1 2 a4 C."1 _ v4
1 1 1 1 1 1 1 1 1 1 1 1



On 13-07-14 11:39, Jon Hough wrote:
Just to elucidate my problem, because I think I'm doing a dismal job of 
explaining it.
Keep a4 and v4 as defined previously (alternating group and klien 4 group)
Consider

  a4 C."(1 _) v4


This gives an almost expected result.


But it becomes suspicous when I observe each of the 12 sets of 4 permutations 
(not been nubbed yet). ALL of them contain 0 1 2 3, i.e. they all contain the 
identity, which I think shouldn't be. In fact, they are all the same 4 
permutations, with rows rearranged, whereas I expected 12 sets of 4 
permutations, which can be partitioned into 3 separate sets, after nubbing.


Then I try


result1 =: (1{a4) C."(1 _) v4 NB. multiply the 2nd permutaiton in a4 by V4


This gives
0 1 2 32 3 0 13 2 1 0




1 0 3 2




Which I think is wrong. Well, unexpected anyway.


So, next I multiply 2nd permutation in A4 by the first permutation in V4 (which 
is the identity permutation).

1{a4 C."(1 _) (0{ v4)




0 2 3 1


This is what I expected. And actually I believe this should be the first 
permutation in result1. I cannot understand why result1's ifrst permutation is 
the identity, 0 1 2 3.


The root of my problem is, why the discrepancy?


To add to my problem, if I do the multiplication the other way around:


v4 C."(_ 1) a4


I get what I expect: 12 sets of permutations that can be, after removing 
duplicates, reduced to 3 sets, i.e. the right cosets of V4 in A4.

From: [email protected]
To: [email protected]
Date: Sun, 13 Jul 2014 07:38:38 +0100
Subject: Re: [Jprogramming] I just don't C. it.

Thanks,
  I'm worried your lcosets and rcosets are actually the same verb, given that 
the arguments are swapped.
The idea is that left multiplying (C.) everything by v4 and right multiplying 
everything by v4 will give individually different result, because A4 is not 
commutative, but will partition A4 into the same sets.

Does not the "~" swap a4 and v4 in rcosets, so that it is effectively the same 
as lcosets?
If so, this is not what I intended.
a4 lcosets v4  should be the results of doing " for all a in a4, v in v4,   
a*v", where * can be considered as C.
whereas,a4 rcosets v4 should be the results of doing the same but v*a, instead 
of a*v.

Both your lcosets and rcosets verbs seem to do the same,  v C. a.

Unless, that is, my reading of your verbs is wrong.
Regards.

From: [email protected]
Date: Sat, 12 Jul 2014 22:41:38 -0400
To: [email protected]
Subject: Re: [Jprogramming] I just don't C. it.

I've reduced your notation slightly - playing with alternate expressions
helps me understand.
    Sym=: A.&i.~ !
    Alt=: ({~  1 I.@:= C.!.2)@:Sym
    rcosets=: ~.@:(/:~"2)@:(C."_ 1~)
    a4=: Alt 4
    v4=: 0 7 16 23 A.i.4
    lcosets=: ~.@:(/:~"2)@:(C."_ 1)

    (a4 rcosets v4) -: (v4 lcosets a4)
1

Note that I played with sub expressions (and sometimes looked at result
shapes instead of results) while playing with this.

It seems obvious now that I think I have things straight, but originally it
was not. But let's see if you agree.

Thanks,

--
Raul



On Sat, Jul 12, 2014 at 9:16 PM, Jon Hough <[email protected]> wrote:

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

----------------------------------------------------------------------
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

--
Met vriendelijke groet,
@@i = Arie Groeneveld

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to