Skip to main content
Commonmark migration
Source Link

&cat[[h: h in Conjugates(G,H`subgroup) | S subset h]: H in Subgroups(G)];

will create a list of all subgroups of $G$ containing a given group $S$. The main caveat here is that the function Subgroups(G) produces a list of representatives of conjugacy classes of subgroups of $G$. So after that you have to go through all conjugates of each such representative. Also, the elements of the list that Subgroups(G) returns are so-called records. To actually access the subgroup itself, you use the construction H`subgroup, where H is one such record. The command &cat concatenates a list of lists into one long list, just like the command &+list adds all the elements of the list and so on.

If you want to loop through this list, you can do something like

for h in &cat[[h: h in Conjugates(G,H`subgroup) | S subset h]: H in Subgroups(G)] do

 

...

 

end for;

or just have two nested loops, one over the elements of Subgroup(G), and one over the $G$-conjugates of each of them.

I am afraid there is no really good place to learn magma other than the online handbook and the people who already know it.

&cat[[h: h in Conjugates(G,H`subgroup) | S subset h]: H in Subgroups(G)];

will create a list of all subgroups of $G$ containing a given group $S$. The main caveat here is that the function Subgroups(G) produces a list of representatives of conjugacy classes of subgroups of $G$. So after that you have to go through all conjugates of each such representative. Also, the elements of the list that Subgroups(G) returns are so-called records. To actually access the subgroup itself, you use the construction H`subgroup, where H is one such record. The command &cat concatenates a list of lists into one long list, just like the command &+list adds all the elements of the list and so on.

If you want to loop through this list, you can do something like

for h in &cat[[h: h in Conjugates(G,H`subgroup) | S subset h]: H in Subgroups(G)] do

 

...

 

end for;

or just have two nested loops, one over the elements of Subgroup(G), and one over the $G$-conjugates of each of them.

I am afraid there is no really good place to learn magma other than the online handbook and the people who already know it.

&cat[[h: h in Conjugates(G,H`subgroup) | S subset h]: H in Subgroups(G)];

will create a list of all subgroups of $G$ containing a given group $S$. The main caveat here is that the function Subgroups(G) produces a list of representatives of conjugacy classes of subgroups of $G$. So after that you have to go through all conjugates of each such representative. Also, the elements of the list that Subgroups(G) returns are so-called records. To actually access the subgroup itself, you use the construction H`subgroup, where H is one such record. The command &cat concatenates a list of lists into one long list, just like the command &+list adds all the elements of the list and so on.

If you want to loop through this list, you can do something like

for h in &cat[[h: h in Conjugates(G,H`subgroup) | S subset h]: H in Subgroups(G)] do

...

end for;

or just have two nested loops, one over the elements of Subgroup(G), and one over the $G$-conjugates of each of them.

I am afraid there is no really good place to learn magma other than the online handbook and the people who already know it.

Source Link
Alex B.
  • 13k
  • 4
  • 56
  • 90

&cat[[h: h in Conjugates(G,H`subgroup) | S subset h]: H in Subgroups(G)];

will create a list of all subgroups of $G$ containing a given group $S$. The main caveat here is that the function Subgroups(G) produces a list of representatives of conjugacy classes of subgroups of $G$. So after that you have to go through all conjugates of each such representative. Also, the elements of the list that Subgroups(G) returns are so-called records. To actually access the subgroup itself, you use the construction H`subgroup, where H is one such record. The command &cat concatenates a list of lists into one long list, just like the command &+list adds all the elements of the list and so on.

If you want to loop through this list, you can do something like

for h in &cat[[h: h in Conjugates(G,H`subgroup) | S subset h]: H in Subgroups(G)] do

...

end for;

or just have two nested loops, one over the elements of Subgroup(G), and one over the $G$-conjugates of each of them.

I am afraid there is no really good place to learn magma other than the online handbook and the people who already know it.