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

use Parent in quotient rings too #37158

Draft
wants to merge 24 commits into
base: develop
Choose a base branch
from

Conversation

fchapoton
Copy link
Contributor

@fchapoton fchapoton commented Jan 24, 2024

instead of using the deprecated ParentWithGens

📝 Checklist

  • The title is concise, informative, and self-explanatory.
  • The description explains in detail what this PR is about.

vbraun pushed a commit to vbraun/sage that referenced this pull request Feb 1, 2024
…Gens

    
Let's try to get rid of the last direct inheritance to `ParentWithGens`.

(not quite the last one, see sagemath#37158 )

There remains many indirect inheritance, mostly through `Ring`,
`Algebra`, `CommutativeRing` and their subclasses. This is a step
towards cleaning and simplifying the old coercion framework.

The present changes is close to the heart of sage, so appropriate
timings should be checked.

### 📝 Checklist

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
    
URL: sagemath#37156
Reported by: Frédéric Chapoton
Reviewer(s): Kwankyu Lee
@fchapoton fchapoton force-pushed the use_parent_for_quotient_rings branch from dd2dbd6 to 55226d6 Compare February 6, 2024 14:08
@fchapoton
Copy link
Contributor Author

fchapoton commented Feb 6, 2024

strange:

sage: FiniteDimensionalAlgebra(k,[],assume_associative=True)
Finite-dimensional algebra of degree 0 over Finite Field of size 5

is not in Rings()

and also

sage: C = AlgebrasWithBasis(QQ).example()
sage: C in Rings()
True


sage: A=Algebras(QQ)
sage: A.super_categories()
[Category of rings,
 Category of associative algebras over Rational Field,
 Category of unital algebras over Rational Field]

@fchapoton
Copy link
Contributor Author

fchapoton commented Feb 6, 2024

and now we have that

sage: from sage.categories.magmatic_algebras import *
sage: cat1 = MagmaticAlgebras(GF(3)).FiniteDimensional().WithBasis()
sage: cat2 = Algebras(GF(3)).FiniteDimensional().WithBasis()
sage: cat1.Associative()
Category of finite dimensional associative algebras with basis over Finite Field of size 3
sage: cat1.Associative() is cat2
False
sage: cat2
Category of finite dimensional algebras with basis over Finite Field of size 3

and simplified problem is

sage: cat1 = MagmaticAlgebras(GF(3))
sage: cat2 = Algebras(GF(3))
sage: cat1.Associative() is cat2
False

seems to be a difference in Unital


sage: cat3=cat1.Associative()
sage: cat3
Category of associative algebras over Finite Field of size 3
sage: cat3.axioms()
frozenset({'AdditiveAssociative',
           'AdditiveCommutative',
           'AdditiveInverse',
           'AdditiveUnital',
           'Associative',
           'Distributive'})
sage: cat2.axioms()
frozenset({'AdditiveAssociative',
           'AdditiveCommutative',
           'AdditiveInverse',
           'AdditiveUnital',
           'Associative',
           'Distributive',
           'Unital'})
sage: cat3.Unital() is cat2
True

Copy link

github-actions bot commented Apr 9, 2024

Documentation preview for this PR (built with commit b95c863; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@fchapoton fchapoton marked this pull request as draft July 11, 2024 07:51
@fchapoton
Copy link
Contributor Author

I have now made a simple first step in #38375.

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

Successfully merging this pull request may close these issues.

2 participants