Closed simonbrandhorst closed 6 years ago
Description changed:
---
+++
@@ -4,6 +4,7 @@
As functionality:
- Its elements have an action on elements of the ambient space and the lattice
- action on the dual lattice
-- It is be a matrix group
+- It is a matrix group
- Compute generators in case the lattice is positive definite. One can use `QuadraticForm.automorphisms()` for that.
- It should also work for indefinite lattices. Just have some not implemented errors - like the generators.
+- Allow subgroups of the orthogonal group.
Commit: 3d4146f
Branch pushed to git repo; I updated commit sha1. New commits:
3d4146f | Formating. |
Branch pushed to git repo; I updated commit sha1. New commits:
63a5914 | Set category to none if we do not know. |
We still need to make sure that the actions are working. In particular on the discriminantGroup.
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
e5cecc5 | Polished docstrings |
38091bb | Fixed indentation for docstrings at module level. |
a7a9c39 | Lazy import IntegralLattice |
6ca8126 | Formatting, minor doc changes, cleanup, and whitespace removal. |
76987fa | Some trivial changes in the documentation. |
12c8163 | Added b as an alias for _mul_. |
c8ce05b | Added documentation for `b` and `inner_product` |
4569a08 | Fixed doctest failures from changed printing. |
df6a6ae | Merge branch 't/23699/torsion_quadratic_module_symmetric' into t/24036/orthogonal_groups_for_integrallattices |
4cb13ca | Use the new factory function for doctests |
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
8e983d0 | Merge branch 'public/lattices/torsion_quadratic_module_symmetric-23699' of git://trac.sagemath.org/sage into t/24150/factory_function_for_famous_lattices |
9337620 | Use the new factory function in the documentation of the other methods and clean up. |
e0057df | remove a superflous blank line |
27084a9 | Reducing lines to <80 characters |
94757dd | Fixed a typo. Doctests pass now. |
63dc485 | a few extra spaces after a comma |
220f941 | Some more small docfixes |
d4cf39f | Doing some code cleaning, improvements, and tweaks. |
d1807f1 | Merge branch 'public/quadratic_forms/lattice_factory-24150' of git://trac.sagemath.org/sage into t/24036/orthogonal_groups_for_integrallattices |
ff474a5 | Added an action on the discriminant group |
Branch pushed to git repo; I updated commit sha1. New commits:
0fb495a | Documentation fixes |
Changed dependencies from #23634 to #23634,#23699,#24150
Author: Simon Brandhorst
Branch pushed to git repo; I updated commit sha1. New commits:
dab23be | Merge branch 'develop' into t/24036/orthogonal_groups_for_integrallattices |
Branch pushed to git repo; I updated commit sha1. New commits:
1569ee1 | Merge branch 'develop' into t/24036/orthogonal_groups_for_integrallattices |
Branch pushed to git repo; I updated commit sha1. New commits:
1f60808 | Improved documentation. |
Branch pushed to git repo; I updated commit sha1. New commits:
e7c98fb | Some extra spaces. |
Branch pushed to git repo; I updated commit sha1. New commits:
0a39a03 | A few more docfixes |
The documentation builds and seems to look O.K. Tests pass too. Still waiting for patchbot.
One might want to consider moving the code to a different file to improve documentation?
Branch pushed to git repo; I updated commit sha1. New commits:
ee1c7c9 | Moved code to a new file to improve doc. |
Branch pushed to git repo; I updated commit sha1. New commits:
38ac155 | Fixing bugs |
Branch pushed to git repo; I updated commit sha1. New commits:
e4cb146 | Merge branch 'develop' of git://trac.sagemath.org/sage into t/24036/orthogonal_groups_for_integrallattices |
Branch pushed to git repo; I updated commit sha1. New commits:
92f85fa | Action on submodules of the invariant_quotient_module |
9bf3e7b | Merge branch 'u/sbrandhorst/orthogonal_groups_for_integrallattices' of git://trac.sagemath.org/sage into t/24036/orthogonal_groups_for_integrallattices |
480fd6e | Merge branch 'develop' into t/24036/orthogonal_groups_for_integrallattices |
Changed dependencies from #23634,#23699,#24150 to #23634,#23699,#24150,#24702
Branch pushed to git repo; I updated commit sha1. New commits:
f341138 | Fix free_module.intersection |
8759cb1 | Fix free_module.saturation |
0dd7769 | Indentation |
bb637b5 | Merge branch 'u/sbrandhorst/intersections_of_freequadraticmodules_have_the_wrong_ambient_module' of git://trac.sagemath.org/sage into t/24036/orthogonal_groups_for_integrallattices |
Reviewer: David Roe
Some comment:
submodule -- an invariant submodule
in GroupActionOnQuotientModule
needs to be changed from submodule to quotient.is_left=True
but then ignore it in the implementation of _call_
.__init__
method of GroupOfIsometries
are actually invariant./src/sage/groups/matrix_gps/orthogonal.py
, you say that you add OrthogonalMatrixGroup_with_gap
but don't, and you import FinitelyGeneratedMatrixGroup_gap
and Action
but don't use them.gens is None
rather than gens == None
is_finite
keyword on the orthogonal_group
method should be documented better (or removed).orthogonal_group
be a cached method?Branch pushed to git repo; I updated commit sha1. New commits:
fbb38c5 | left actions & cleanup |
You wrote: Should orthogonal_group be a cached method?
I would like that. But sometimes the input (=a list of generators) may be non-hashable and then
@
cashed method throws an error. Is there an easy way around?
Branch pushed to git repo; I updated commit sha1. New commits:
5ae4594 | Indentation. |
Doc builds now.
Replying to @simonbrandhorst:
You wrote: Should orthogonal_group be a cached method?
I would like that. But sometimes the input (=a list of generators) may be non-hashable and then
@cached_method
throws an error. Is there an easy way around?
Yeah, @cached_method
supports a key to normalize the input, which you can use to make it hashable. From the docstring for cached_method
,
The parameter ``key`` can be used to pass a function which creates a
custom cache key for inputs. In the following example, this parameter is
used to ignore the ``algorithm`` keyword for caching::
sage: class A(object):
....: def _f_normalize(self, x, algorithm): return x
....: @cached_method(key=_f_normalize)
....: def f(self, x, algorithm='default'): return x
sage: a = A()
sage: a.f(1, algorithm="default") is a.f(1) is a.f(1, algorithm="algorithm")
True
But you can leave that for another ticket. This looks good to me.
Changed branch from u/sbrandhorst/orthogonal_groups_for_integrallattices to 5ae4594
Implement a class for the orthogonal group of integral lattices. Its elements are isometries of the ambient spaces which preserve the lattice.
As functionality:
QuadraticForm.automorphisms()
for that.Depends on #23634 Depends on #23699 Depends on #24150 Depends on #24702
Component: linear algebra
Author: Simon Brandhorst
Branch/Commit:
5ae4594
Reviewer: David Roe
Issue created by migration from https://trac.sagemath.org/ticket/24036