Opened 6 years ago

Last modified 5 years ago

#20278 new enhancement

Compute fundamental domain for symmetry groups of polyhedra

Reported by: jdemeyer Owned by:
Priority: major Milestone: sage-7.4
Component: geometry Keywords:
Cc: tscrim Merged in:
Authors: Jeroen Demeyer Reviewers:
Report Upstream: N/A Work issues:
Branch: u/mkoeppe/ticket/20278 (Commits, GitHub, GitLab) Commit: 9e2c9274b6cf5d2c9479dd505027816a156affcf
Dependencies: Stopgaps:

Status badges

Description (last modified by jdemeyer)

Given a finite affine matrix group fixing a polyhedron (the restricted automorphism group by default), compute a fundamental domain for that group action.

Change History (21)

comment:1 Changed 6 years ago by jdemeyer

  • Description modified (diff)

comment:2 Changed 6 years ago by jdemeyer

  • Dependencies changed from #20259 to #20259, #20277

comment:3 Changed 6 years ago by jdemeyer

  • Branch set to u/jdemeyer/ticket/20278

comment:4 Changed 6 years ago by git

  • Commit set to 19baadb857b7f6ab9cc82d62a378e2c59a93d20c

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

f9663a7Implement the Moore-Penrose pseudoinverse
dc2eb79Merge remote-tracking branch 'trac/u/jdemeyer/homogeneous_coordinates_of_polyhedron_v_representation_objects' into t/20259/polyhedron_restricted_automorphism_group____allow_returning_the_affine_matrix_group
4966468Allow returning the matrix group in restricted_automorphism_group()
5b13494Merge remote-tracking branch 'trac/u/jdemeyer/polyhedron_restricted_automorphism_group____allow_returning_the_affine_matrix_group' into t/20278/ticket/20278
19baadbCompute fundamental domain for symmetry groups of polyhedra

comment:5 Changed 6 years ago by git

  • Commit changed from 19baadb857b7f6ab9cc82d62a378e2c59a93d20c to 9d6c0947be69294b10a6fca6d3c33e1009e32e90

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

a579410Fix for changed line number in rook_vector.__doc__
3a3f552Numerical noise: mark test as random
c5a766eMerge commit '496646879d95208d240ea521340f41029cf9bdfc'; commit '3a3f5521eb8ced6c64a329918ac3544633286e89' into t/20278/ticket/20278
9d6c094Compute fundamental domain for symmetry groups of polyhedra

comment:6 Changed 6 years ago by git

  • Commit changed from 9d6c0947be69294b10a6fca6d3c33e1009e32e90 to 3b9ece840c6284e009e58b95e899951a212a0a4e

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

3b9ece8Compute fundamental domain for symmetry groups of polyhedra

comment:7 Changed 6 years ago by git

  • Commit changed from 3b9ece840c6284e009e58b95e899951a212a0a4e to 1297c9656631fd0ed6c8d748d4a21f025ce5481b

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

1297c96Compute fundamental domain for symmetry groups of polyhedra

comment:8 Changed 6 years ago by git

  • Commit changed from 1297c9656631fd0ed6c8d748d4a21f025ce5481b to 7555e5215da9dddc84161a6c578000e7a9edda06

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

7555e52Compute fundamental domain for symmetry groups of polyhedra

comment:9 Changed 6 years ago by git

  • Commit changed from 7555e5215da9dddc84161a6c578000e7a9edda06 to 6f0649ee7b309482c93537fac614bcc7bb5937e9

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

e70a1eaAllow returning the matrix group in restricted_automorphism_group()
a10822dMerge commit 'e70a1eae87ee937b21bd8f2767ffcb8353c914ea'; commit '3a3f5521eb8ced6c64a329918ac3544633286e89' into t/20278/ticket/20278
6f0649eCompute fundamental domain for symmetry groups of polyhedra

comment:10 Changed 6 years ago by git

  • Commit changed from 6f0649ee7b309482c93537fac614bcc7bb5937e9 to b1576d6e10ecfdfc439a6b2d67e121e31ba26fdf

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

b1576d6Compute fundamental domain for symmetry groups of polyhedra

comment:11 Changed 6 years ago by git

  • Commit changed from b1576d6e10ecfdfc439a6b2d67e121e31ba26fdf to 80a3a4ed78969d5f773b99e0fa4cc8d31d46db9b

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

d82fa6eAllow returning the matrix group in restricted_automorphism_group()
80a3a4eCompute fundamental domain for symmetry groups of polyhedra

comment:12 Changed 6 years ago by jdemeyer

  • Dependencies changed from #20259, #20277 to #20259

comment:13 Changed 6 years ago by git

  • Commit changed from 80a3a4ed78969d5f773b99e0fa4cc8d31d46db9b to f6465af80306123ddbf32d69a6dbf8ecf4674ff7

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

d9f8bdeFix conversions matrix -> AffineGroup
4163d00Allow returning the matrix group in restricted_automorphism_group()
f6465afCompute fundamental domain for symmetry groups of polyhedra

comment:14 Changed 5 years ago by git

  • Commit changed from f6465af80306123ddbf32d69a6dbf8ecf4674ff7 to 10934f2b2a0ccbae1da31dc7f6b2e3e89e1fa5aa

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

10934f2Compute fundamental domain for symmetry groups of polyhedra

comment:15 Changed 5 years ago by jdemeyer

  • Dependencies #20259 deleted

comment:16 Changed 5 years ago by git

  • Commit changed from 10934f2b2a0ccbae1da31dc7f6b2e3e89e1fa5aa to 990f3f72b835628c632654ee8ca9e12b3596b5c6

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

990f3f7Compute fundamental domain for symmetry groups of polyhedra

comment:17 Changed 5 years ago by mkoeppe

  • Branch changed from u/jdemeyer/ticket/20278 to u/mkoeppe/ticket/20278

comment:18 Changed 5 years ago by mkoeppe

  • Commit changed from 990f3f72b835628c632654ee8ca9e12b3596b5c6 to 9e2c9274b6cf5d2c9479dd505027816a156affcf

There should be better error handling when the user passes a group that is not finite. By wishful thinking, I thought I could do:

sage: P = Polyhedron(lines=[(1,0), (0,1)])
sage: T2 = MatrixGroup(matrix(QQ,[[1, 0, 1], [0, 1, 0], [0, 0, 1]]), [[1, 0, 0], [0, 1, 1], [0, 0, 1]])
sage: P.fundamental_domain(T2)

but it gives an unhelpful error:

AttributeError                            Traceback (most recent call last)
<ipython-input-6-3e2d754d11ba> in <module>()
----> 1 P.fundamental_domain(T2)

/Users/mkoeppe/cvs/sage/local/lib/python2.7/site-packages/sage/geometry/polyhedron/base.pyc in fundamental_domain(self, group)
   4882             from sage.groups.affine_gps.affine_group import AffineGroup
   4883             AGL = AffineGroup(self.ambient_dim(), self.base_ring().fraction_field())
-> 4884             G = [AGL(g).matrix() for g in group]
   4885 
   4886         # We need to find a good "center" point for the fundamental

/Users/mkoeppe/cvs/sage/local/lib/python2.7/site-packages/sage/groups/matrix_gps/matrix_group.pyc in __iter__(self)
    612         if not self.is_finite():
    613             # use implementation from category framework
--> 614             for g in super(Group, self).__iter__():
    615                 yield g
    616             return

AttributeError: 'super' object has no attribute '__iter__'

New commits:

0d449b9Merge tag '7.3' into t/20278/ticket/20278
9e2c927Change 'kind' to 'output' following #20259

comment:19 Changed 5 years ago by mkoeppe

  • Milestone changed from sage-7.2 to sage-7.4

comment:20 Changed 5 years ago by mkoeppe

See also #21228.

comment:21 Changed 5 years ago by mkoeppe

  • Cc tscrim added
Note: See TracTickets for help on using tickets.