AGCA 6: quotient modules and modules over quotient rings #1227

Merged
merged 20 commits into from Jun 29, 2012

Projects

None yet

4 participants

@ness01
Contributor
ness01 commented Apr 11, 2012

It's been a while, but here is the next installment. The title says it all: this PR implements quotient modules, and modules over quotient rings.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sY-cMTDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 69a81b9
branch hash: cce80174fc5025576f44d32e903e8799952e589b

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYwqwTDA

Interpreter: /usr/bin/python3 (3.2.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 69a81b9
branch hash: cce80174fc5025576f44d32e903e8799952e589b

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYtbQTDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: dcb2475
branch hash: 84b35ee2832d91315e8b4b1fc18559c742f4061d

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sY7cAUDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 18afbcc
branch hash: 8d8173ae97f12da9eccc910ecf5b58b503cb809b

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sY5ZYVDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 3215b20
branch hash: 9dca9d6944036ab580eca3b4c78172110c19af9f

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sY0J4VDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 89f5c64
branch hash: c47014036550ee72800c72c98c24e304f8d144b8

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYjbYVDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 6a48abe
branch hash: c8f72add5a916a59b876df9cf16c2651faf2e058

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYkNoWDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 8426fe8
branch hash: 077d7bf3408eb45abdaaa67aafaeeb0d9746fa5b

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYn6UYDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 3b7bedf
branch hash: 7373b3d0c56e402265dc5ca977962ecf3fa5c6da

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYkNQYDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: ad44544
branch hash: 1a3de323f5e743d1f8c5ef841bf5a547f6e1179d

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYzZIZDA

Interpreter: /usr/bin/python3 (3.2.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: ./bin/test; ./bin/doctest
master hash: ad44544
branch hash: 1a3de323f5e743d1f8c5ef841bf5a547f6e1179d

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYtfMYDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: ad44544
branch hash: 3cfaa8969c5f25430ddba8a8f91f4eefa8cdc694

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYzpIZDA

Interpreter: /usr/bin/python3 (3.2.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: ./bin/test; ./bin/doctest
master hash: ad44544
branch hash: 3cfaa8969c5f25430ddba8a8f91f4eefa8cdc694

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYh6caDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: ca242b0
branch hash: 0f76bf8d63882be7b393f6f3ce5f0d98a10fd475

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYiKcaDA

Interpreter: /usr/bin/python3 (3.2.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: ./bin/test && ./bin/doctest
master hash: ca242b0
branch hash: 0f76bf8d63882be7b393f6f3ce5f0d98a10fd475

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYkc4aDA

Interpreter: /usr/bin/python2.6 (2.6.7-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: ca242b0
branch hash: 1cd317748cdc597c9735cf63dd28e100f846c2b6

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYuJcaDA

Interpreter: /usr/bin/python3 (3.2.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: ./bin/test && ./bin/doctest
master hash: 92d8dad
branch hash: 1cd317748cdc597c9735cf63dd28e100f846c2b6

Automatic review by SymPy Bot.

@asmeurer asmeurer and 1 other commented on an outdated diff May 31, 2012
sympy/polys/agca/modules.py
+ """Returns True if ``other`` is a submodule of ``self``."""
+ raise NotImplementedError
+
+ def multiply_ideal(self, other):
+ """
+ Multiply ``self`` by the ideal ``other``.
+ """
+ raise NotImplementedError
+
+ def __mul__(self, e):
+ if not isinstance(e, Ideal):
+ try:
+ e = self.ring.ideal(e)
+ except CoercionFailed:
+ return NotImplemented
+ return self.multiply_ideal(e)
@asmeurer
asmeurer May 31, 2012 Member

Shouldn't it also return NotImplemented if this raises NotImplementedError (as above)?

@ness01
ness01 Jun 6, 2012 Contributor

On 31.05.2012 02:08, Aaron Meurer wrote:

  •    """Returns True if `other` is a submodule of `self`."""
    
  •    raise NotImplementedError
    
  • def multiply_ideal(self, other):
  •    """
    
  •    Multiply `self` by the ideal `other`.
    
  •    """
    
  •    raise NotImplementedError
    
  • def mul(self, e):
  •    if not isinstance(e, Ideal):
    
  •        try:
    
  •            e = self.ring.ideal(e)
    
  •        except CoercionFailed:
    
  •            return NotImplemented
    
  •    return self.multiply_ideal(e)
    

Shouldn't it also return NotImplemented if this raises NotImplementedError (as above)?

Yeah I suppose ... changing it.

@asmeurer
Member

And I'm done here too.

@ness01
Contributor
ness01 commented May 31, 2012

On 31.05.2012 02:21, Aaron Meurer wrote:

And I'm done here too.

Thanks a lot for looking over this, I'll try to respond to the few
comments I haven't answered yet soon.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYvrsbDA

Interpreter: /opt/pym32/bin/python2.5 (2.5.6-final-0)
Architecture: Linux (32-bit)
Cache: yes
Test command: setup.py test
master hash: 1f3fd71
branch hash: 2b4e064dc714dc7d9e8eee4816cbd9436183bfb0

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYtu0aDA

Interpreter: /usr/bin/python2.7 (2.7.2-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 1f3fd71
branch hash: 2b4e064dc714dc7d9e8eee4816cbd9436183bfb0

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYkqcaDA

Interpreter: /usr/bin/python3 (3.2.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: ./bin/test && ./bin/doctest
master hash: 1f3fd71
branch hash: 2b4e064dc714dc7d9e8eee4816cbd9436183bfb0

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sY248aDA

Interpreter: /opt/pym32/bin/python2.5 (2.5.6-final-0)
Architecture: Linux (32-bit)
Cache: yes
Test command: setup.py test
master hash: 3dd5a63
branch hash: 39fef39ce50e025b62eb13040db5a67bdeb3fd81

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYqJ8aDA

Interpreter: /usr/bin/python2.7 (2.7.2-final-0)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 3dd5a63
branch hash: 39fef39ce50e025b62eb13040db5a67bdeb3fd81

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYjqQbDA

Interpreter: /usr/bin/python3 (3.2.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 3dd5a63
branch hash: 39fef39ce50e025b62eb13040db5a67bdeb3fd81

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sY0JcaDA

Interpreter: /opt/pym32/bin/python2.5 (2.5.6-final-0)
Architecture: Linux (32-bit)
Cache: yes
Test command: setup.py test
master hash: c0f8840
branch hash: 11d4f14ab3e0675d7c1be2e4fe8e8ebbc7e3febc

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sY_9IbDA

Interpreter: /usr/bin/python2.7 (2.7.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: c0f8840
branch hash: 11d4f14ab3e0675d7c1be2e4fe8e8ebbc7e3febc

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYp_UaDA

Interpreter: /usr/bin/python3 (3.2.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: c0f8840
branch hash: 11d4f14ab3e0675d7c1be2e4fe8e8ebbc7e3febc

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ❗️ There were merge conflicts; could not test the branch.

@ness01: Please rebase or merge your branch with master. See the report for a list of the merge conflicts.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sY1O0aDA

Interpreter: /opt/pym32/bin/python2.5 (2.5.6-final-0)
Architecture: Linux (32-bit)
Cache: yes
Test command: setup.py test
master hash: b688a43
branch hash: 627662a2ff45b7de9c4ecf1dcc1300fcaf7e42f5

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYpcAcDA

Interpreter: /opt/pym32/bin/python2.5 (2.5.6-final-0)
Architecture: Linux (32-bit)
Cache: yes
Test command: setup.py test
master hash: 8ea5b48
branch hash: 8a0c8ca3199c03cd9069910bdcdb7b39c4c2b1ad

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYpsAcDA

Interpreter: /usr/bin/python2.7 (2.7.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 8ea5b48
branch hash: 8a0c8ca3199c03cd9069910bdcdb7b39c4c2b1ad

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYvrgcDA

Interpreter: /usr/bin/python3 (3.2.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 8ea5b48
branch hash: 8a0c8ca3199c03cd9069910bdcdb7b39c4c2b1ad

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYxdkeDA

Interpreter: /opt/pym32/bin/python2.5 (2.5.6-final-0)
Architecture: Linux (32-bit)
Cache: yes
Test command: setup.py test
master hash: 804ddef
branch hash: 1d360067d9cf25706e00c38b25941016cb154c9c

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYxtkeDA

Interpreter: /usr/bin/python2.7 (2.7.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 804ddef
branch hash: 1d360067d9cf25706e00c38b25941016cb154c9c

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYvrIeDA

Interpreter: /usr/bin/python3 (3.2.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: 804ddef
branch hash: 1d360067d9cf25706e00c38b25941016cb154c9c

Automatic review by SymPy Bot.

@travisbot

This pull request fails (merged b6aa5e98 into 6925f5e).

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYncUdDA

Interpreter: /opt/pym32/bin/python2.5 (2.5.6-final-0)
Architecture: Linux (32-bit)
Cache: yes
Test command: setup.py test
master hash: aa989ce
branch hash: b6aa5e98075f8db095b5f62c41899001c242b05c

Automatic review by SymPy Bot.

Tom Bachmann added some commits Apr 4, 2012
Tom Bachmann [polys/agca] Start agca module.
Specifically: implement boilerplate classes Module, FreeModule, ModuleElement,
FreeModuleElement.

Adapt polyclasses to cooperate in module element multiplication.
c039be5
Tom Bachmann [polys/agca] Implement submodules over polynomial rings. 8b98651
Tom Bachmann [polys] Fix polyclasses arithmetic operators.
This was started in the last commit but not done completely.
d0a28ae
Tom Bachmann [printing] Add angle brackets '<' and '>' to pretty symbology. a606b1e
Tom Bachmann [printing] Implement pretty printing for basic module classes. 4aa4692
Tom Bachmann [polys/agca] Implement basic classes for ideals.
Also implement pretty printing and latex printing, extend ring domain
to have non-implemented method ideal(), and implement it for polynomial rings.

Tests in next commit.
89e88c1
Tom Bachmann [polys/agca] Add tests for ideals. bdb4545
Tom Bachmann [polys/agca] Implement syzygy computation. 61804cc
Tom Bachmann [polys/agca] Implement FreeModuleElement.__getitem__. f3a4c5f
Tom Bachmann [polys/domains] Implement _sdm_to_vector for poly rings.
This is a helper method to convert distributed modules back to ring elements.
0863224
Tom Bachmann [polys/agca] Implement expression of submodule element in terms of ge…
…nerators.
58069a9
Tom Bachmann [polys] Implement unit detection for polynomial rings. e2e98a4
Tom Bachmann [polys] Implement quotient ring domain.
Also implement some pretty printing, and some helpers in module/ideal
classes to "reduce" an element module an ideal/submodule.

Tests come in next commit.
a7f6d74
Tom Bachmann [polys] Add tests and docstrings for quotient rings. 078948f
Tom Bachmann [polys/agca] Add __pow__ operator to Ideal class. 7ddb9e0
Tom Bachmann [polys/agca] More tests for modules and poly rings.
This is to increase the coverage a bit.
b678612
Tom Bachmann [polys/agca] Add code for basic operations on quotient modules.
Also add pretty printing and doctests. Real tests in next commit.
9c5e3d5
Tom Bachmann [polys/agca] Tests for basic quotient module operations. a8900b0
Tom Bachmann [polys/agca] Implement syzygies for subquotients.
Also add tests.
740c0b1
Tom Bachmann [polys/agca] Test modules over quotient rings. c429ed1
@travisbot

This pull request fails (merged c429ed1 into aa989ce).

@Krastanov
Member

SymPy Bot Summary: ✳️ All tests have passed.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYgM0dDA

Interpreter: /opt/pym32/bin/python2.5 (2.5.6-final-0)
Architecture: Linux (32-bit)
Cache: yes
Test command: setup.py test
master hash: aa989ce
branch hash: c429ed1

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYgc0dDA

Interpreter: /usr/bin/python2.7 (2.7.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: aa989ce
branch hash: c429ed1

Automatic review by SymPy Bot.

@Krastanov
Member

SymPy Bot Summary: 🔴 There were test failures.

@ness01: Please fix the test failures.

Test results html report: http://reviews.sympy.org/report/agZzeW1weTNyDAsSBFRhc2sYjvQdDA

Interpreter: /usr/bin/python3 (3.2.3-candidate-2)
Architecture: Linux (64-bit)
Cache: yes
Test command: setup.py test
master hash: aa989ce
branch hash: c429ed1

Automatic review by SymPy Bot.

@ness01 ness01 merged commit c429ed1 into sympy:master Jun 29, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment