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

Splitting Algebras #29716

Closed
soehms opened this issue May 20, 2020 · 17 comments
Closed

Splitting Algebras #29716

soehms opened this issue May 20, 2020 · 17 comments

Comments

@soehms
Copy link
Member

soehms commented May 20, 2020

Splitting algebras have been considered by Dan Laksov, Anders Thorup, Torsten Ekedahl and others in order to study intersection theory of Grassmann and other flag schemes. Similarily as splitting fields they can be considered as extensions of rings containing all the roots of a given monic polynomial over that ring under the assumption that its Galois group is the symmetric group of order equal to the polynomial's degree.

Thus they can be used as a tool to express elements of a ring generated by n indeterminates in terms of symmetric functions in these indeterminates.

This ticket realizes splitting algebras by a recursive quotient ring construction splitting off some linear factor of the polynomial in each recursive step. Accordingly it will be inherited from class PolynomialQuotientRing.

CC: @tscrim

Component: commutative algebra

Keywords: splitting polynomial roots

Author: Sebastian Oehms

Branch/Commit: e52eece

Reviewer: Travis Scrimshaw

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

@soehms soehms added this to the sage-9.2 milestone May 20, 2020
@soehms
Copy link
Member Author

soehms commented May 20, 2020

Branch: u/soehms/splitting_algebra

@soehms
Copy link
Member Author

soehms commented May 24, 2020

New commits:

f1bb41e29716 initial version

@soehms
Copy link
Member Author

soehms commented May 24, 2020

Commit: f1bb41e

@soehms
Copy link
Member Author

soehms commented May 24, 2020

Author: Sebastian Oehms

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 28, 2020

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

ee46039Merge branch 'u/soehms/splitting_algebra' of git://trac.sagemath.org/sage into splitting_algebra_29716
2f0c99c29716 rebasing and pyflakes hints

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 28, 2020

Changed commit from f1bb41e to 2f0c99c

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 29, 2020

Changed commit from 2f0c99c to 5ea214f

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 29, 2020

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

8c2a4ccMerge branch 'u/soehms/splitting_algebra' of git://trac.sagemath.org/sage into splitting_algebra_29716
5ea214f29716: rebase to 9.2.beta0 and some style fixes

@tscrim
Copy link
Collaborator

tscrim commented Jun 8, 2020

@tscrim
Copy link
Collaborator

tscrim commented Jun 8, 2020

comment:5

I made it through the ticket, and mostly I changed some minor things. However, there is one more serious issue that I don't know how to fix:

sage: from sage.algebras.splitting_algebra import SplittingAlgebra
....: L.<u, v, w> = LaurentPolynomialRing(ZZ); x = polygen(L)
....: S.<X, Y> = SplittingAlgebra(x^3 - u*x^2 + v*x - w)
....: (X, Y)
....: 
(Y, X)

The names of the generators do not match, but I don't know how much confusion this will cause to users or how much this even makes sense. Could you clarify about what you expect to happen here?


New commits:

c3fe0daSome mild PEP8 stuff and other formatting stuff for splitting algebras.

@tscrim
Copy link
Collaborator

tscrim commented Jun 8, 2020

Changed commit from 5ea214f to c3fe0da

@tscrim
Copy link
Collaborator

tscrim commented Jun 8, 2020

Reviewer: Travis Scrimshaw

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 15, 2020

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

0ec9ab1Merge branch 'public/algebras/splitting_algebra-29716' of git://trac.sagemath.org/sage into splitting_algebra_29716
e52eece29716: correct _first_ngens

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 15, 2020

Changed commit from c3fe0da to e52eece

@soehms
Copy link
Member Author

soehms commented Jun 15, 2020

comment:7

Replying to @tscrim:

I made it through the ticket, and mostly I changed some minor things.

Thanks for all these PEP8 corrections! I'm suprised that the two missing supression of the warning didn't cause a doctest failure.

However, there is one more serious issue that I don't know how to fix:

sage: from sage.algebras.splitting_algebra import SplittingAlgebra
....: L.<u, v, w> = LaurentPolynomialRing(ZZ); x = polygen(L)
....: S.<X, Y> = SplittingAlgebra(x^3 - u*x^2 + v*x - w)
....: (X, Y)
....: 
(Y, X)

The names of the generators do not match, but I don't know how much confusion this will cause to users or how much this even makes sense. Could you clarify about what you expect to happen here?

I didn't realize the exchange of the indeterminates and this is definitely not intended. The reason for this is that I provided the _first_ngens by means of the recursive construction. But, since X is adjoined first and than Y this lead to the wrong order.

I dropped the method gens_recursive since it is needed nowhere else and replaced its invocation by the usage of the first n splitting_roots which are in the correct order.

I omit a separate test for this bug, since it is implicit in this change

-            (X + 1)*Y
+            X*Y + X

@tscrim
Copy link
Collaborator

tscrim commented Jun 23, 2020

comment:8

Thank you. LGTM now.

@vbraun
Copy link
Member

vbraun commented Jun 24, 2020

Changed branch from public/algebras/splitting_algebra-29716 to e52eece

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