Skip to content
This repository has been archived by the owner on Apr 17, 2023. It is now read-only.
/ FineGrain Public archive

Finite group study, abelians or not, quotient group, direct product and many more...

License

Notifications You must be signed in to change notification settings

aidevnn/FineGrain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FineGrain

Finite group study, abelians or not, quotient group, direct and semidirect product and many more...

Starting to study Quotient Group in Z.

var zn = new Group256(20);
var G = zn.Generate("Z", 1);
var H = zn.Generate("5Z", 5);
G.DisplayHead();
H.DisplayHead();

var Qg = new QuotientGroup<byte, Integer256>(G, H);
Qg.Details();
Qg.DisplayClasses();

Will output

|Z| = 20
IsGroup      : True
IsCommutative: True

|5Z| = 4
IsGroup      : True
IsCommutative: True

|Z/5Z| = 5 with |Z| = 20 and |5Z| = 4, OpBoth
IsGroup      : True
IsCommutative: True

@ = (  0)[  1]
a = (  1)[ 20]
b = (  2)[ 10]
c = (  3)[ 20]
d = (  4)[  5]

|Z/5Z| = 5 with |Z| = 20 and |5Z| = 4, OpBoth
 *|@ a b c d
--|----------
 @|@ a b c d
 a|a b c d @
 b|b c d @ a
 c|c d @ a b
 d|d @ a b c


Class of : (  0)[  1]
    Represent
    (  0)[  1]
    (  5)[  4]
    ( 10)[  2]
    ( 15)[  4]
Class of : (  1)[ 20]
    Represent
    (  1)[ 20]
    (  6)[ 10]
    ( 11)[ 20]
    ( 16)[  5]
Class of : (  2)[ 10]
    Represent
    (  2)[ 10]
    (  7)[ 20]
    ( 12)[  5]
    ( 17)[ 20]
Class of : (  3)[ 20]
    Represent
    (  3)[ 20]
    (  8)[  5]
    ( 13)[ 20]
    ( 18)[ 10]
Class of : (  4)[  5]
    Represent
    (  4)[  5]
    (  9)[ 20]
    ( 14)[ 10]
    ( 19)[ 20]

Simple S3, the group of permutations

var sn = new Sigma(3);
var H0 = sn.Generate("H0", (1, 2, 3), (1, 2));
var H1 = sn.Generate("H1", (1, 2, 3));
H0.DisplayElements();
H1.DisplayElements();

var Qg0 = new QuotientGroup<byte, Permutation>(H0, H1);
Qg0.Details();
Qg0.DisplayClasses();

Will output

|H0| = 6
IsGroup      : True
IsCommutative:False

@ = ( 1  2  3)[ 1+]
a = ( 1  3  2)[ 2-]
b = ( 2  1  3)[ 2-]
c = ( 3  2  1)[ 2-]
d = ( 2  3  1)[ 3+]
e = ( 3  1  2)[ 3+]

|H1| = 3
IsGroup      : True
IsCommutative: True

@ = ( 1  2  3)[ 1+]
a = ( 2  3  1)[ 3+]
b = ( 3  1  2)[ 3+]

|H0/H1| = 2 with |H0| = 6 and |H1| = 3, OpBoth
IsGroup      : True
IsCommutative: True

@ = ( 1  2  3)[ 1+]
a = ( 1  3  2)[ 2-]

|H0/H1| = 2 with |H0| = 6 and |H1| = 3, OpBoth
 *|@ a
--|----
 @|@ a
 a|a @


Class of : ( 1  2  3)[ 1+]
    Represent
    ( 1  2  3)[ 1+]
    ( 2  3  1)[ 3+]
    ( 3  1  2)[ 3+]
Class of : ( 1  3  2)[ 2-]
    Represent
    ( 1  3  2)[ 2-]
    ( 2  1  3)[ 2-]
    ( 3  2  1)[ 2-]

Then S5

var H0 = sn.Generate("H0", (1, 2, 3), (4, 5));
var H1 = sn.Generate("H1", (4, 5));
H0.DisplayElements();
H1.DisplayElements();

var Qg0 = new QuotientGroup<byte, Permutation>(H0, H1);
Qg0.Details();
Qg0.DisplayClasses();

will output

|H0| = 6
IsGroup      : True
IsCommutative: True

@ = ( 1  2  3  4  5)[ 1+]
a = ( 1  2  3  5  4)[ 2-]
b = ( 2  3  1  4  5)[ 3+]
c = ( 3  1  2  4  5)[ 3+]
d = ( 2  3  1  5  4)[ 6-]
e = ( 3  1  2  5  4)[ 6-]

|H1| = 2
IsGroup      : True
IsCommutative: True

@ = ( 1  2  3  4  5)[ 1+]
a = ( 1  2  3  5  4)[ 2-]

|H0/H1| = 3 with |H0| = 6 and |H1| = 2, OpBoth
IsGroup      : True
IsCommutative: True

@ = ( 1  2  3  4  5)[ 1+]
a = ( 2  3  1  4  5)[ 3+]
b = ( 3  1  2  4  5)[ 3+]

|H0/H1| = 3 with |H0| = 6 and |H1| = 2, OpBoth
 *|@ a b
--|------
 @|@ a b
 a|a b @
 b|b @ a


Class of : ( 1  2  3  4  5)[ 1+]
    Represent
    ( 1  2  3  4  5)[ 1+]
    ( 1  2  3  5  4)[ 2-]
Class of : ( 2  3  1  4  5)[ 3+]
    Represent
    ( 2  3  1  4  5)[ 3+]
    ( 2  3  1  5  4)[ 6-]
Class of : ( 3  1  2  4  5)[ 3+]
    Represent
    ( 3  1  2  4  5)[ 3+]
    ( 3  1  2  5  4)[ 6-]

Releases

No releases published

Packages

No packages published

Languages