NB. Group Table for S3 and S4 Permutations NB. S4 Permutation 2011/11/4 =============================== NB. Usage: S4_perm '' Alph =: (97 + i.26){a. S4_num =: (i. 24) A. (i.4) S4_num1 =: <"(1) S4_num S4_cha =: 'E', 23{.Alph S4_cha1 =: }: , S4_cha,.' ' S4_numtable =: (S4_cha),"(0 1) '|',"(1) (": S4_num) NB. S4 Permutation Group / Multiplication Table NB. using subroutine: convf4 NB. using values: Alph, S4_num, S4_num1, S4_cha, S4_cha1 S4_perm =: 3 : 0 S4 =. S4_num1 'E a b c d e f g h i j k l m n o p q r s t u v w' =. S4 DA4 =: 'ABCD' S4_DA =: |: (DA4 {~ L:0 S4) ({~ L:0 "(0)) / S4 S4_func =: convf4 L:0 S4_DA S4_Tab =. (24, (3*24))$; ((' '&,)@(,&' ')) L:0 S4_func S4_Tab0 =. 0{S4_Tab S4_Table =: ((' |'), S4_Tab0),"(2) ('-+',(3*24)#'-'),"(2) S4_cha ,"(0 1) '|',"(1) S4_Tab ) convf4 =: 3 : 0"1 S4_DA0 =. 0 { S4_DA n =. S4_DA0 i. < ‚™ n{'E', Alph ) NB. S3 Permutation ========================================== NB. Usage: S3_perm '' S3_num =: (i. 6) A. (i.3) S3_num1 =: <"(1) S3_num S3_cha =: 'E', 5{.Alph S3_cha1 =: }: , S3_cha,.' ' S3_numtable =: (S3_cha),"(0 1) '|',"(1) (": S3_num) S3_perm =: 3 : 0 S3 =. S3_num1 'E a b c d e' =. S3 DA3 =: 'ABC' S3_DA =: |: (DA3 {~ L:0 S3) ({~ L:0 "(0)) / S3 S3_func =: convf3 L:0 S3_DA S3_Tab =. (6, (3*6))$; ((' '&,)@(,&' ')) L:0 S3_func S3_Tab0 =. 0{S3_Tab S3_Table =: ((' |'), S3_Tab0),"(2) ('-+',(3*6)#'-'),"(2) S3_cha ,"(0 1) '|',"(1) S3_Tab ) convf3 =: 3 : 0"1 S3_DA0 =. 0 { S3_DA n =. S3_DA0 i. < ‚™ n{'E', Alph )