Skip to content

Commit

Permalink
Rollback to character table from restriction. Fix #61 Isotypic decomp…
Browse files Browse the repository at this point in the history
…osition
  • Loading branch information
aidevnn committed Jun 5, 2024
1 parent b3bab8f commit e8dd5cd
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 10 deletions.
27 changes: 17 additions & 10 deletions FastGoat/Examples/GroupMatrixFormPart2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -524,11 +524,19 @@ static void GetCharacter(ConcreteGroup<Mat> mtGL, AllSubgroups<Mat> mtGLSubgrs)
ct.InductionFromSubGroups(mtGLSubgrs);
else
{
// independant from representation and from super group
if (mtGL.Count() == 24)
ct.SolveOrthogonality((2, 3.Range()));
else
ct.SolveOrthogonality((2, 6.Range()));
{
// ct.SolveOrthogonality((2, 6.Range()));
var gl = mtGL.Neutral().GL;
var m0 = new [] { 4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0 };
var m1 = gl.N == 4
? gl.Create(m0)
: gl.Create(MatrixExt.MergeDiagonalBlocks(([1], 1), (m0, 4)));
var mtGLSuper = Group.Generate("H", gl, mtGL.GetGenerators().Append(m1).ToArray());
ct.RestrictionFromSuperGroup(mtGLSuper);
}
}

Console.WriteLine($"Generators in {GLnC}");
Expand Down Expand Up @@ -568,7 +576,7 @@ static void GetCharacter(ConcreteGroup<Mat> mtGL, AllSubgroups<Mat> mtGLSubgrs)
if (!isIrreductible)
{
if (isIsotypic)
Console.WriteLine("Isotypic components: {0}",
Console.WriteLine("Isotypic components: ρ = {0}",
chiDecomp.Select(e => $"{((e.Item1 - 1).IsZero() ? "" : e.Item1)}Ꭓ.{e.Item2 + 1}").Glue(" + "));
else
chiDecomp.Println(e => $"({FG.PrettyPrintCnf(e.Item1).c}, Ꭓ.{e.Item2 + 1})", $"Decomposition");
Expand Down Expand Up @@ -648,7 +656,7 @@ public static void ExampleMetaCyclicGroupsRepresentations()
public static void ExampleGroupsRepresentations()
{
GlobalStopWatch.Restart();
var maxOrd = 48;
var maxOrd = 24;
foreach (var (g, mtGL, matSubgrs, names) in FG.AllGroupsOfOrder(1, maxOrd).Select(sg => MatrixFormOfGroup(sg)))
{
FG.DisplayName(mtGL, matSubgrs, names, false, false, true, 20);
Expand All @@ -658,15 +666,14 @@ public static void ExampleGroupsRepresentations()
GlobalStopWatch.Show("END");
Console.Beep();

// All groups of order up to 48
// END Time:11m50s
// Representations of all groups of order up to 48
// END Time:12m13s
//
// Irreductible:141 groups
// Reductible, Isotypic components:107 groups
// Non Isotypic decomposition:2 groups, C2 x SL(2,3), SL(2,3) x: C2
// Irreductibles:141 groups
// Reductibles with Isotypic components:109 groups
}

public static void ExampleNonIsotypicDecomposition()
public static void ExampleIsotypicDecomposition()
{
GlobalStopWatch.Restart();
var c2sl23 = FG.WordGroup("C2 x SL(2,3)", "a4, b3, c2, ababab, caca-1, cbcb-1, a2ba2b-1");
Expand Down
5 changes: 5 additions & 0 deletions FastGoat/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@

Console.WriteLine("Hello World");

void test0()
{
var s5 = FG.Symmetric(4);
var ct = FG.CharacterTableEmpty(s5);
Expand All @@ -47,3 +48,7 @@
Console.WriteLine($"{cj} {cj.IsNormal}/{Group.IsNormalSubgroup(s5, cj.Representative)}");
}
}

{
Console.WriteLine(48.Range(1).Sum(i => GroupExt.A000001[i])); // 250 groups up to order 48
}

0 comments on commit e8dd5cd

Please sign in to comment.