Page 1 of 1

How to define Matrix Group from generators?

Posted: 21 Apr 2021, 14:43
by Kurt
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.

Re: How to define Matrix Group from generators?

Posted: 24 Apr 2021, 18:31
by joswig
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.

Re: How to define Matrix Group from generators?

Posted: 28 Apr 2021, 12:20
by Kurt
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>"?

Re: How to define Matrix Group from generators?

Posted: 06 May 2021, 11:44
by gawrilow
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.