Opened 7 years ago

Closed 6 years ago

#16219 closed enhancement (fixed)

Implement a catalog for algebras

Reported by: tscrim Owned by: tscrim
Priority: major Milestone: sage-6.4
Component: interfaces Keywords: algebras catalog
Cc: jhpalmieri, ncohen Merged in:
Authors: Travis Scrimshaw Reviewers: Nicolas M. Thiéry
Report Upstream: N/A Work issues:
Branch: 1a8a288 (Commits, GitHub, GitLab) Commit: 1a8a28854c82086cf7e0b8eb73d694eeecb52fc9
Dependencies: #16508 Stopgaps:

Status badges

Description

Like groups, crystals, etc.

Change History (21)

comment:1 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:2 Changed 7 years ago by tscrim

  • Authors set to Travis Scrimshaw
  • Branch set to public/algebras/catalog-16219
  • Commit set to c951590b5659c5cd3f5f9343792a56b8126f9d3b
  • Status changed from new to needs_review

New commits:

e1373c9Initial catalog of algebras.
936590dMerge branch 'develop' into public/algebras/catalog-16219
fe1850cMerge branch 'develop' into public/algebras/catalog-16219
c951590Added some more algebras.

comment:3 Changed 7 years ago by git

  • Commit changed from c951590b5659c5cd3f5f9343792a56b8126f9d3b to 61d6bd1dd3be8ef99ac8c835fd94890e68bef235

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

61d6bd1Added quaternion algebra to doc and some cleanup of the file.

comment:4 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:5 follow-up: Changed 6 years ago by nthiery

I have just been through the diff, and overall it looks good.

It seems a bit redundant to both import the algebras and link to their doc. We should find a better way to handle this automatically at some point. But that's for a later ticket.

The documentation improvements elsewhere in the algebra module is nice. Yet's it's orthogonal to the main purpose of the ticket. Next time, please make it a separate ticket.

Why not lazy importing everything?

Up to this last point, I believe it's good to go (assuming all tests pass).

comment:6 Changed 6 years ago by nthiery

  • Status changed from needs_review to needs_work

comment:7 Changed 6 years ago by nthiery

  • Reviewers set to Nicolas M. Thiéry

comment:8 Changed 6 years ago by nthiery

Ah, also: at some point, we will want to point to all the Hopf algebras from combinat. But it's probably easier to do this once #16256 is done.

comment:9 in reply to: ↑ 5 ; follow-up: Changed 6 years ago by tscrim

Replying to nthiery:

I have just been through the diff, and overall it looks good.

Thanks for taking a look at this.

It seems a bit redundant to both import the algebras and link to their doc. We should find a better way to handle this automatically at some point. But that's for a later ticket.

Concur.

The documentation improvements elsewhere in the algebra module is nice. Yet's it's orthogonal to the main purpose of the ticket. Next time, please make it a separate ticket.

When I added the quaternion_algebra.py to the doc, it causes docbuild failures. The cleanup was just as I was going through reading the file in order for it to build.

Why not lazy importing everything?

I lazy imported things that were lazily imported into the global namespace, so it wouldn't trigger an import when doing tab completion on algebras. (as what happens for groups).

There's a more trickier question of what algebras could we remove from the global namespace (it's not nearly as clear as it was for crystals to me), but I think that can be done on a followup.

Up to this last point, I believe it's good to go (assuming all tests pass).

Was this suppose to be set as needs_info? I don't quite understand why this was set to needs_work.

Ah, also: at some point, we will want to point to all the Hopf algebras from combinat. But it's probably easier to do this once #16256 is done.

Yep, and it should probably be a subcatalog called combinatorial_hopf (or maybe just .hopf and include all Hopf algebras). Anyways, stuff for later and I'll take a look at #16256 soon.

comment:10 in reply to: ↑ 9 ; follow-up: Changed 6 years ago by nthiery

Replying to tscrim:

Why not lazy importing everything?

I lazy imported things that were lazily imported into the global namespace, so it wouldn't trigger an import when doing tab completion on algebras. (as what happens for groups). Was this suppose to be set as needs_info? I don't quite understand why this was set to needs_work.

I was thinking of lazy importing everything here right away. Maybe using a flag "at_startup" to make the point that those should really be lazy imported elsewhere as well. What do you think?

There's a more trickier question of what algebras could we remove from the global namespace (it's not nearly as clear as it was for crystals to me), but I think that can be done on a followup.

+1

Yep, and it should probably be a subcatalog called combinatorial_hopf (or maybe just .hopf and include all Hopf algebras). Anyways, stuff for later and I'll take a look at #16256 soon.

And at some point we will want to automatize the building of all those catalogs. E.g. following the prototype Florent wrote during the Sage days in Edinburgh that instruments TestSuite to build a database of all parents with their category, from which we can get all parents in a category by reverse lookup. I just created #17219 for this.

Cheers,

Nicolas

comment:11 in reply to: ↑ 10 ; follow-up: Changed 6 years ago by tscrim

Replying to nthiery:

I was thinking of lazy importing everything here right away. Maybe using a flag "at_startup" to make the point that those should really be lazy imported elsewhere as well. What do you think?

So do you mean you want everything to be lazily imported or do you want to lazy import the catalog? If you want the latter, this causes problems because then the imports are triggered on tab completion (you can see this occur with the groups.<tab>).

comment:12 in reply to: ↑ 11 Changed 6 years ago by nthiery

Replying to tscrim:

So do you mean you want everything to be lazily imported or do you want to lazy import the catalog? If you want the latter, this causes problems because then the imports are triggered on tab completion (you can see this occur with the groups.<tab>).

The former: lazy importing everything that is in the catalog.

comment:13 Changed 6 years ago by git

  • Commit changed from 61d6bd1dd3be8ef99ac8c835fd94890e68bef235 to 850bebb5bbf92322178bacddd68c7f89e0ca0e3b

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

850bebbMerge branch 'public/algebras/catalog-16219' of trac.sagemath.org:sage into public/algebras/catalog-16219

comment:14 Changed 6 years ago by tscrim

  • Status changed from needs_work to needs_review

IMO, we should not lazy import things which are (currently) not lazily imported into the global namespace as it is more coherent. I think we should have a (separate) discussion about which algebras should be lazily imported and handle it there.

comment:15 Changed 6 years ago by nthiery

I am not convinced, but I don't have a strong opinion either, and it's minor. I won't hold up this ticket just for this. Please proceed if you are convinced this is the way to go.

comment:16 Changed 6 years ago by tscrim

  • Status changed from needs_review to positive_review

I believe it is, and I'm interpreting that as a positive review. I've created #17271 for the lazy importing. Thanks Nicolas.

comment:17 Changed 6 years ago by git

  • Commit changed from 850bebb5bbf92322178bacddd68c7f89e0ca0e3b to 1a8a28854c82086cf7e0b8eb73d694eeecb52fc9
  • Status changed from positive_review to needs_review

Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. Last 10 new commits:

a4d5b24Cached methods should return immutable matrices
aae8f5bMerge branch 'u/jhpalmieri/DGA_new' of trac.sagemath.org:sage into public/algebras/cdga-16508
7b6f118Fixed doctests.
fb16080Merge branch 'develop' into public/algebras/cdga-16508
b8328e6Second pass of reworking things around by adding functionality.
d732dbeCommutative DGAs: rename some classes
497d9d6Merge branch 'public/algebras/cdga-16508' of trac.sagemath.org:sage into public/algebras/cdga-16508
3900c66Renamed CDGAlgebra -> cdg_algebra.
73ee329Merge branch 'public/algebras/catalog-16219' of trac.sagemath.org:sage into public/algebras/cdga-16508
1a8a288Added GradedCommutative to the algebras catalog.

comment:18 Changed 6 years ago by tscrim

  • Dependencies set to #16508

I've added #16508 to the catalog and moved DifferentialWeyl to it's correct spot in the catalog (it changed its name from Weyl). Very quick check needed.

comment:19 follow-up: Changed 6 years ago by nthiery

  • Status changed from needs_review to positive_review

Check done. Ok for me!

Just for the record: the comment for 73ee329 looks backward ...

comment:20 in reply to: ↑ 19 Changed 6 years ago by tscrim

Replying to nthiery:

Just for the record: the comment for 73ee329 looks backward ...

I was going to push this to #16508 until I noticed the out-of-order DifferentialWeyl, so in a sense it is backwards. ^^;;

comment:21 Changed 6 years ago by vbraun

  • Branch changed from public/algebras/catalog-16219 to 1a8a28854c82086cf7e0b8eb73d694eeecb52fc9
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.