How to define Matrix Group from generators?

Questions and problems about using polymake go here.
Kurt
Posts: 2
Joined: 21 Apr 2021, 14:24

How to define Matrix Group from generators?

Postby Kurt » 21 Apr 2021, 14:43

How can I define a Matrix Group from a set of generators?

I can't find this in the tutorial.

I am very new to polymake.

User avatar
joswig
Main Author
Posts: 279
Joined: 24 Dec 2010, 11:10

Re: How to define Matrix Group from generators?

Postby joswig » 24 Apr 2021, 18:31

There is no actual support of matrix groups in polymake. Our groups are usually permutation groups.

There is only some very limited functionality to convert between matrices and permutations.

If you need the full strength of matrix groups (and polyhedral geometry) you should use Oscar, which will become a comprehensive computer algebra system of the next generation, written in Julia. While the current version 0.5.2 is far from complete, it can do very many things already.

Kurt
Posts: 2
Joined: 21 Apr 2021, 14:24

Re: How to define Matrix Group from generators?

Postby Kurt » 28 Apr 2021, 12:20

OK, thank you for the clarification. I don't really need the full strength of matrix groups. If the command

" orbit<Scalar>(Array<Matrix<Scalar>> G, Vector<Scalar> V)

The orbit of a vector V under a group generated by G.
"

works, then I actually only need the permutation group that acts on the vertices of this orbit polytope like the matrix group does. Is there a way to get this permutation group?

Regarding this command though. It doesn't work for me if I just write

"orbit(@a,$v);"

for an array a and a vector v. The error that appears is:

"
polymake: ERROR: no matching overloaded instance of Polymake::group::orbit<Rational>(Matrix<Rational, NonSymmetric>, Matrix<Rational, NonSymmetric>, Vector<Rational>) at input line 1.
"

Do I have to write something at the position of the first "<Scalar>"?

User avatar
gawrilow
Main Author
Posts: 422
Joined: 25 Dec 2010, 17:40

Re: How to define Matrix Group from generators?

Postby gawrilow » 06 May 2021, 11:44

In perl, an array should be passed by reference, otherwise it's unrolled into single elements passed separately to the function. Just add a backslash:
orbit(\@a,$v);

Regarding the group: I'd naively expect it as a regular subobject $p->GROUP. Actually, the true group experts among us should give more authoritative advice.


Return to “Helpdesk”