Commit f8d24168 authored by Kaashif Hymabaccus's avatar Kaashif Hymabaccus

use random testing more

these are the important funcs
parent 5f7885d9
Pipeline #47426357 passed with stage
in 22 seconds
gap> G := SmallGroup(48, 3);;
gap> irreps := IrreducibleRepresentations(G);;
gap> my_irreps := [irreps[2], irreps[3], irreps[4]];;
gap> rho := DirectSumRepList(my_irreps);;
gap> # if we decompose, it should break into 3 bits with correct dimensions
gap> decomp := BlockDiagonalRepresentationFast(rho);;
gap> tau := decomp.diagonal_rep;;
gap> # check it gives an isomorphic rep
gap> AreRepsIsomorphic(rho, tau);
true
gap> spaces := Flat(decomp.decomposition);;
gap> # check dims of spaces and degrees of reps match up
gap> SortedList(List(spaces, Dimension)) = SortedList(List(my_irreps, DegreeOfRepresentation));
true
gap> List(spaces, space -> IsGInvariant@RepnDecomp(rho, space)); # check the spaces are actually subrepresentations
[true, true, true]
\ No newline at end of file
gap> tester := rep -> TestBlockDiagonalRepresentation@RepnDecomp(rep, BlockDiagonalRepresentationFast(rep.rep));;
gap> TestMany@RepnDecomp(tester, 2);
true
\ No newline at end of file
gap> G := SmallGroup(48, 4);;
gap> irreps := IrreducibleRepresentations(G);;
gap> my_irreps := [irreps[2], irreps[3], irreps[4]];;
gap> rho := DirectSumRepList(my_irreps);;
gap> # if we decompose, it should break into 3 bits with correct dimensions
gap> # interrupting this will mess up GAP due to the forking
gap> decomp := BlockDiagonalRepresentationParallel(rho, 4);;
gap> tau := decomp.diagonal_rep;;
gap> # check it gives an isomorphic rep
gap> AreRepsIsomorphic(rho, tau);
true
gap> spaces := Flat(decomp.decomposition);;
gap> # check dims of spaces and degrees of reps match up
gap> SortedList(List(spaces, Dimension)) = SortedList(List(my_irreps, DegreeOfRepresentation));
true
gap> List(spaces, space -> IsGInvariant@RepnDecomp(rho, space)); # check the spaces are actually subrepresentations
[true, true, true]
\ No newline at end of file
gap> tester := rep -> TestBlockDiagonalRepresentation@RepnDecomp(rep, BlockDiagonalRepresentationParallel(rep.rep, 2));;
gap> TestMany@RepnDecomp(tester, 2);
true
\ No newline at end of file
gap> tester := function(rep)
> local A;
> A := BlockDiagonalBasis(rep.rep);
> A := TransposedMat(A);
> A := TransposedMat(BlockDiagonalBasis(rep.rep));
> return TestCentralizerBasis@RepnDecomp(rep, List(RepresentationCentralizer(rep.rep), M -> A * M * A^-1));
> end;;
gap> TestMany@RepnDecomp(tester, 5);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment