Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

categorial constructions, pushout and coercions (extended) for asymptotic ring and growth groups #19073

Closed
dkrenn opened this issue Aug 22, 2015 · 47 comments

Comments

@dkrenn
Copy link
Contributor

dkrenn commented Aug 22, 2015

Extend coercions and deal with pushout constructions.

See also meta ticket #17601.

Depends on #17716
Depends on #18182
Depends on #19028
Depends on #18223

CC: @behackl

Component: asymptotic expansions

Author: Daniel Krenn

Branch/Commit: 8a32f1f

Reviewer: Clemens Heuberger

Issue created by migration from https://trac.sagemath.org/ticket/19073

@dkrenn dkrenn added this to the sage-6.9 milestone Aug 22, 2015
@dkrenn
Copy link
Contributor Author

dkrenn commented Aug 22, 2015

Branch: u/dkrenn/asy/groups-coercion

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 24, 2015

Commit: a23d36e

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 24, 2015

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

225e240new element constructor for cartesian products
296f432combine_exceptions function
68988a8fix a bug in element_constructor and rewrite it
7cd6018rewrite repr of term
1b73481correct a bug in term constructor
1cd896bextend has coercion
287c0aemake asymptotic ring a poset (Part I)
3030d88variable_names
74f2db0more cleanup and using generalizing methods for cartesian product
a23d36econstruction and functor and doctests

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 24, 2015

Branch pushed to git repo; I updated commit sha1. New commits:

3b49e70pushout: correct str/repr (switch to be constistent with remaining Sage)
a3b2cc6Merge branch 'pushout/functor-str' into u/dakrenn/asy/rings-coercion

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 24, 2015

Changed commit from a23d36e to a3b2cc6

@dkrenn

This comment has been minimized.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 25, 2015

Branch pushed to git repo; I updated commit sha1. New commits:

19247a5fix derived classes
dacbfcbmore replacements of `__str__` by _repr_
d1356e5Merge branch 'pushout/functor-str' into u/dakrenn/asy/rings-coercion
27601bafix missing docs
e1acc40improve docs (seealso, links, etc)
98e8860make doctest coverage 100% (asymptotic_ring)
e9acd0ecleanup (remove a comment)

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 25, 2015

Changed commit from a3b2cc6 to e9acd0e

@dkrenn
Copy link
Contributor Author

dkrenn commented Sep 9, 2015

Changed dependencies from #17600, #18930, #18182, #19028, #18587, #18223, #18586 to #17600, #17716, #18930, #18182, #19028, #18587, #18223, #18586

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 14, 2015

Changed commit from e9acd0e to 963f9da

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 14, 2015

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

58f931dadd asymptotic_expansions index
39621adMerge branch 't/17600/asy/growthGroup' into t/19073/asy/groups-coercion
9d6f2daMerge branch 't/17600/asy/growthGroup' into t/18930/asy/growthGroup-factory
6da5adeMerge branch 't/18930/asy/growthGroup-factory' into t/17715/asy/asymptoticTerm
2c1c39dMerge branch 't/17715/asy/asymptoticTerm' into t/17716/asy/asymptoticExpression
41a80a2Merge branch 't/17716/asy/asymptoticExpression' into t/19073/asy/groups-coercion
ca5da4aMerge branch 't/18930/asy/growthGroup-factory' into t/18587/asy/growth-group-cartesian
ac80aebadd growth_group_cartesian to index
96f7101Merge branch 't/18587/asy/growth-group-cartesian' into t/19028/asy/growthGroup-exponential
963f9daMerge branch 't/19028/asy/growthGroup-exponential' into t/19073/asy/groups-coercion

@dkrenn
Copy link
Contributor Author

dkrenn commented Sep 14, 2015

comment:10

merged 6.9.beta5

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 16, 2015

Branch pushed to git repo; I updated commit sha1. New commits:

cd17673Merge tag '6.9.beta6' into t/18182/18182-on-6.8
3eefe25correct typo in AUTHORS
5fe52e4fix doctests since name of cartesian product functor has changed
60b9375revert changes in base_ring of category_object and adapt doctests
8d6de43Merge remote-tracking branch 'trac/u/dkrenn/18182/pushout' into t/19073/asy/groups-coercion

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 16, 2015

Changed commit from 963f9da to 8d6de43

@dkrenn
Copy link
Contributor Author

dkrenn commented Sep 16, 2015

comment:13

merged 6.9.beta6 (with #18182)

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 16, 2015

Changed commit from 8d6de43 to 6180b43

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 16, 2015

Branch pushed to git repo; I updated commit sha1. New commits:

c16587cfix bug (tower has only one entry which is None)
6180b43Merge branch 'u/dkrenn/18182/pushout' of trac.sagemath.org:sage into t/19073/asy/groups-coercion

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 29, 2015

Changed commit from 6180b43 to 36e16a3

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 29, 2015

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

538e1e4doctest for simplify-keyword
e98964bremove superfluous doctest
5cf2a31doctests for AsymptoticRing.__init__
dc00f95improve documentation of _element_constructor_
abb08ffimprove _element_constructor_
78b9e96Trac #17716: additional doctest
055e35bTrac #17716: Fix ReSt error
e8e2501make entry in reference/index
e86db32Merge branch 'u/dkrenn/asy/asymptoticExpression' of trac.sagemath.org:sage into t/19073/asy/groups-coercion
36e16a3fix doctests after merge

@dkrenn
Copy link
Contributor Author

dkrenn commented Sep 29, 2015

comment:16

Merged in changes in dependencies.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 30, 2015

Branch pushed to git repo; I updated commit sha1. New commits:

dd82094fix duplicated docstring-parts

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 30, 2015

Changed commit from 36e16a3 to dd82094

@cheuberg
Copy link
Contributor

cheuberg commented Oct 4, 2015

Changed branch from u/dkrenn/asy/groups-coercion to u/cheuberg/asy/groups-coercion

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 8, 2015

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

bc70cb9Trac #18182, comment 20, 7: rename CartesianProductPolys --> CartesianProductPoly
592a551Merge branch 'u/dkrenn/coercion/pushout' of trac.sagemath.org:sage into t/19073/asy/groups-coercion
70aa9c4rename CartesianProductPosets to CartesianProductPoset
f21990dcode-simplify CartesianProduct assignment
8f9a619add a doctest dealing with coercion while comparing
3b923b7Merge branch 'u/dkrenn/cat/cartesian-product-posets' of trac.sagemath.org:sage into t/18587/asy/growth-group-cartesian
74547e6fix code after changes by previous merge
23c9a49Merge branch 't/18587/asy/growth-group-cartesian' into t/19028/asy/growthGroup-exponential
09221f0fixup due to changes in #18587 (coming from #18223)
311fc97Merge branch 'u/dkrenn/asy/growthGroup-exponential' of trac.sagemath.org:sage into t/19073/asy/groups-coercion

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 8, 2015

Changed commit from b306679 to 311fc97

@dkrenn
Copy link
Contributor Author

dkrenn commented Oct 8, 2015

comment:24

Merge in all dependencies.

@dkrenn
Copy link
Contributor Author

dkrenn commented Oct 8, 2015

Changed dependencies from #17600, #17716, #18930, #18182, #19028, #18587, #18223, #18586 to #17716, #18182, #19028, #18223, #18586

@cheuberg
Copy link
Contributor

cheuberg commented Oct 8, 2015

Changed branch from u/dkrenn/asy/groups-coercion to u/cheuberg/asy/groups-coercion

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 8, 2015

Changed commit from 311fc97 to 1583ffc

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 8, 2015

Branch pushed to git repo; I updated commit sha1. New commits:

2a80346Trac #19073: simplify signatures of helper functions in merge_overlapping
1583ffcTrac #19073: Reword and add doctest for _pushout_

@cheuberg
Copy link
Contributor

cheuberg commented Oct 8, 2015

comment:28

Replying to @dkrenn:

Replying to @cheuberg:

  1. Why is the default category now a monoid instead of a group?

A monoid is all what is needed to make the asymptotic ring a ring. Of course usually this will be a group to allow inversions in the ring, but as a minimal requirement, we have Monoids()

Ok, this explains why a GenericGrowthGroup is only a monoid.

The derived classes MonomialGrowthGroup and ExponentialGrowthGroup, however, will be groups in many cases.
Perhaps this can be resolved in or after #19083.

  1. GenericGrowthGroup._pushout_:
    • explain why there is no common canonical parent for objects with parents: Growth Group QQ^x and Growth Group x^QQ (commutativity of pushouts vs. non-commutativity of cartesian products of growth groups with the same generator?)

Documented.

I reworded that and added further doctests.

  • find_mergedoverlapping_index: key is evaluated frequently

Now cached.

However, the helper functions only need the keys, I added a commit to do so.

Please cross-review my changes and add item 2. to the TODO list of #19083 or, alternatively, open a ticket for that.
After that, consider this to be a conditional positive_review from my side, conditional on #18182.

@dkrenn
Copy link
Contributor Author

dkrenn commented Oct 12, 2015

Changed branch from u/cheuberg/asy/groups-coercion to u/dkrenn/asy/groups-coercion

@dkrenn
Copy link
Contributor Author

dkrenn commented Oct 12, 2015

Changed commit from 1583ffc to 8a32f1f

@dkrenn
Copy link
Contributor Author

dkrenn commented Oct 12, 2015

comment:30

Replying to @cheuberg:

Replying to @dkrenn:

Replying to @cheuberg:

  1. Why is the default category now a monoid instead of a group?

A monoid is all what is needed to make the asymptotic ring a ring. Of course usually this will be a group to allow inversions in the ring, but as a minimal requirement, we have Monoids()

Ok, this explains why a GenericGrowthGroup is only a monoid.

The derived classes MonomialGrowthGroup and ExponentialGrowthGroup, however, will be groups in many cases.
Perhaps this can be resolved in or after #19083.

Ok. Added it as a work issue on #19083.

  1. GenericGrowthGroup._pushout_:
    • explain why there is no common canonical parent for objects with parents: Growth Group QQ^x and Growth Group x^QQ (commutativity of pushouts vs. non-commutativity of cartesian products of growth groups with the same generator?)

Documented.

I reworded that and added further doctests.

Corrected PEP8.

  • find_mergedoverlapping_index: key is evaluated frequently

Now cached.

However, the helper functions only need the keys, I added a commit to do so.

Thanks.

Please cross-review my changes and add item 2. to the TODO list of #19083 or, alternatively, open a ticket for that.
After that, consider this to be a conditional positive_review from my side, conditional on #18182.

Everything done.


New commits:

8a32f1fcorrect PEP8-spacings in doctest

@cheuberg
Copy link
Contributor

comment:31

Removed dependency on "duplicate" ticket #18586.

@cheuberg
Copy link
Contributor

Changed dependencies from #17716, #18182, #19028, #18223, #18586 to #17716, #18182, #19028, #18223

@cheuberg cheuberg modified the milestones: sage-6.9, sage-6.10 Oct 23, 2015
@vbraun
Copy link
Member

vbraun commented Oct 23, 2015

comment:32

This is probably due to one of the tickets in beta2, probably best to wait for the next release and then fix:

sage -t --long src/sage/combinat/rigged_configurations/kr_tableaux.py
**********************************************************************
File "src/sage/combinat/rigged_configurations/kr_tableaux.py", line 1671, in sage.combinat.rigged_configurations.kr_tableaux.KRTableauxTypeDTri2Element.e
Failed example:
    KRT.module_generators[0].e(0)
Exception raised:
    Traceback (most recent call last):
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 496, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 858, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.combinat.rigged_configurations.kr_tableaux.KRTableauxTypeDTri2Element.e[1]>", line 1, in <module>
        KRT.module_generators[Integer(0)].e(Integer(0))
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/kr_tableaux.py", line 1680, in e
        ret = ret.to_virtual_configuration().e(0)
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/rigged_configuration_element.py", line 1327, in e
        ret = self.to_tensor_product_of_kirillov_reshetikhin_tableaux().e(a)
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/combinat/crystals/tensor_product.py", line 1258, in e
        position = self.positions_of_unmatched_plus(i)
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/combinat/crystals/tensor_product.py", line 1400, in positions_of_unmatched_plus
        l = self.positions_of_unmatched_minus(i, dual=True, reverse=True)
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/combinat/crystals/tensor_product.py", line 1380, in positions_of_unmatched_minus
        plus = self[j].epsilon(i)
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/kr_tableaux.py", line 1532, in epsilon
        return KirillovReshetikhinTableauxElement.epsilon(self, i)
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/kr_tableaux.py", line 1373, in epsilon
        return self.to_kirillov_reshetikhin_crystal().epsilon0()
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/kr_tableaux.py", line 1160, in to_kirillov_reshetikhin_crystal
        return self.parent().kirillov_reshetikhin_crystal()(self)
      File "sage/structure/parent.pyx", line 1098, in sage.structure.parent.Parent.__call__ (/mnt/disk/home/buildslave-sage/slave/sage_git/build/src/build/cythonized/sage/structure/parent.c:9821)
        return mor._call_(x)
      File "sage/structure/coerce_maps.pyx", line 109, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/mnt/disk/home/buildslave-sage/slave/sage_git/build/src/build/cythonized/sage/structure/coerce_maps.c:4543)
        raise
      File "sage/structure/coerce_maps.pyx", line 104, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/mnt/disk/home/buildslave-sage/slave/sage_git/build/src/build/cythonized/sage/structure/coerce_maps.c:4436)
        return C._element_constructor(x)
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/combinat/crystals/kirillov_reshetikhin.py", line 3024, in _element_constructor_
        return self.module_generator().f_string(f_str)
      File "/mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7/site-packages/sage/combinat/crystals/kirillov_reshetikhin.py", line 543, in module_generator
        return [ b for b in self.module_generators if b.weight() == weight][0]
    IndexError: list index out of range
**********************************************************************

@vbraun
Copy link
Member

vbraun commented Oct 24, 2015

comment:33

Nevermind was casued by something else

@vbraun
Copy link
Member

vbraun commented Oct 24, 2015

Changed branch from u/dkrenn/asy/groups-coercion to 8a32f1f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants