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

FusionRing enhancements #27036

Closed
dwbump mannequin opened this issue Jan 9, 2019 · 95 comments
Closed

FusionRing enhancements #27036

dwbump mannequin opened this issue Jan 9, 2019 · 95 comments

Comments

@dwbump
Copy link
Mannequin

dwbump mannequin commented Jan 9, 2019

The FusionRing, implemented in #26440 is the WZW fusion or Verlinde algebra. It needs certain methods to be useful: the twist or ribbon element, the S-matrix and the quantum dimension. This ticket is to implement these methods.

The ticket #29615 is related to this one.

CC: @dwbump @tscrim @sagetrac-sage-combinat @sagetrac-buciumas @willieab @physicstravels

Component: combinatorics

Keywords: FusionRing

Author: Guillermo Aboumrad, Daniel Bump

Branch/Commit: public/fusion_ring_operations-27036 @ 8918e84

Reviewer: Travis Scrimshaw

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

@dwbump dwbump mannequin added this to the sage-8.6 milestone Jan 9, 2019
@dwbump dwbump mannequin added c: combinatorics labels Jan 9, 2019
@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jan 11, 2019

Commit: 8735919

@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jan 11, 2019

Branch: public/fusion-27036

@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jan 11, 2019

New commits:

8735919new methods for FusionRings: s-matrix, q_dimension, twists etc

@dwbump dwbump mannequin self-assigned this Jan 11, 2019
@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jan 11, 2019

comment:3

Work issues:

  • Further testing is needed. This should be able to duplicate the tables in arXiv:0712.1377: On classification of modular tensor categories. Eric Rowell, Richard Stong, Zhenghan Wang.
  • Add a reference to that paper.
  • Some methods need docstrings.
  • s_matrix should return entries in a CyclotomicField, not CC.
  • s_matrix element method should be kept but the code within the loop for i in rng: should be split off so the user can optionally work with an individual pair of elements rather than a matrix.
  • Type E s-matrices seem conjugated. Figure out why.

Design decisions:

  • Should the FusionRing be moved to a separate file? (perhaps not necessary unless code becomes much longer)
  • What is the right way to make methods special to FusionRing not available to parent class WeylCharacterRing? (fixed)
  • Can the ordered_basis, fusion_labels and basis methods be intelligently reorganized, and can we use python OrderedDict for the basis?

Figure out the right CyclotomicField which may be the square root of the one currently used.

@tscrim
Copy link
Collaborator

tscrim commented Jan 13, 2019

comment:4

There is the UniversalCyclotomicField if you do not want to be so careful about which roots you want.

As for making methods special to FusionRing not for the WCR, you should put those methods in the subclass.

@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jan 14, 2019

comment:5

Replying to @tscrim:

As for making methods special to FusionRing not for the WCR, you should put those methods in the subclass.

The original comment:3 is not clear but the issue is actually with WeylCharacterRing.Element methods.
that only pertain to FusionRing elements.

So I checked that the following works. We add a FusionRing.Element class that inherits from
WeylCharacterRing.Element. Then we move the WeylCharacterRing.Element methods such
as is_simple_obj,twists, etc. to the new class.

@embray
Copy link
Contributor

embray commented Jan 15, 2019

comment:6

Retarging tickets optimistically to the next milestone. If you are responsible for this ticket (either its reporter or owner) and don't believe you are likely to complete this ticket before the next release (8.7) please retarget this ticket's milestone to sage-pending or sage-wishlist.

@embray embray modified the milestones: sage-8.6, sage-8.7 Jan 15, 2019
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 17, 2019

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

9cf678bcreated FusionRing.Element class

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 17, 2019

Changed commit from 8735919 to 9cf678b

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 29, 2019

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

78007fadoctests added, updated q_field, and S-matrix computation

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 29, 2019

Changed commit from 9cf678b to 78007fa

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 1, 2019

Changed commit from 78007fa to 2904d89

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Feb 1, 2019

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

7a5b4aerevised doctest
2904d89work on revising self.s_ij

@embray
Copy link
Contributor

embray commented Mar 25, 2019

comment:10

Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually)

@embray embray modified the milestones: sage-8.7, sage-8.8 Mar 25, 2019
@embray
Copy link
Contributor

embray commented Jun 14, 2019

comment:11

As the Sage-8.8 release milestone is pending, we should delete the sage-8.8 milestone for tickets that are not actively being worked on or that still require significant work to move forward. If you feel that this ticket should be included in the next Sage release at the soonest please set its milestone to the next release milestone (sage-8.9).

@embray embray removed this from the sage-8.8 milestone Jun 14, 2019
@dwbump

This comment has been minimized.

@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jun 17, 2020

Changed commit from 2904d89 to 72c2c44

@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jun 17, 2020

comment:14

This patch is important but was neglected for a while. We are reviving it. The old branch was called public/fusion-27036 but this has been superceded by public/fusion_ring_operations-27036.

  • The old patch was ported to python3 and recent development branch by physicstravels.
  • The ordered_basis method has been abandoned in favor of a scheme based on the get_order and set_order methods of CombinatorialFreeModule.
  • The method fusion_matrix was eliminated.

New commits:

16b56a8new methods for FusionRings: s-matrix, q_dimension, twists etc
dd4f948created FusionRing.Element class
eb09e3fdoctests added, updated q_field, and S-matrix computation
7be38barevised doctest
a5bc48fwork on revising self.s_ij
5438494Update to py3. Fix doctests.
aabbb24use get_order instead of ordered_basis
72c2c44docstring edits

@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jun 17, 2020

Changed branch from public/fusion-27036 to public/fusion_ring_operations-27036

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 28, 2020

Changed commit from 04cefcf to c1338b9

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 28, 2020

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

c1338b9doc cleanup

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 28, 2020

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

55b2e6badded _test_verlinde method to check Verlinde formula

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 28, 2020

Changed commit from c1338b9 to 55b2e6b

@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jun 29, 2020

comment:51

The Verlinde formula is not quite stated in the usual way, because a complex conjugation is omitted, and N_ijk is used instead of Nk_ij. This appears to be correct (on the basis of testing) but why is it correct mathematically?

Since this isue came up I'm temporarily changing the ticket to Needs Work.

@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jun 29, 2020

Work Issues: Conjugation is omitted in the Verlinde formula. This is probably OK but needs to be justified.

@dwbump dwbump mannequin added s: needs work and removed s: needs review labels Jun 29, 2020
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2020

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

0974b08explain about conjugate in Verlinde formula

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2020

Changed commit from 55b2e6b to 0974b08

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2020

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

e9de384revision of twists docstring

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2020

Changed commit from 0974b08 to e9de384

@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jun 29, 2020

Changed work issues from Conjugation is omitted in the Verlinde formula. This is probably OK but needs to be justified. to none

@dwbump
Copy link
Mannequin Author

dwbump mannequin commented Jun 29, 2020

comment:54

I added a bit more explanation about the Verlinde formula.

@dwbump dwbump mannequin added s: needs review and removed s: needs work labels Jun 29, 2020
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2020

Changed commit from e9de384 to 0e97174

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2020

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

0e97174fix newline before docstring

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2020

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

1b6e82fMerge branch 'public/fusion_ring_operations-27036' of git://trac.sagemath.org/sage into public/fusion_ring_operations-27036
642e80fFinal reviewer changes.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2020

Changed commit from 0e97174 to 642e80f

@tscrim
Copy link
Collaborator

tscrim commented Jun 29, 2020

Changed reviewer from tscrim to Travis Scrimshaw

@tscrim
Copy link
Collaborator

tscrim commented Jun 29, 2020

comment:57

I ended up changing the _test_verlinde to go through only some of the basis elements up to a limit in case someone wants to run the TestSuite on a very large dimensional fusion ring. This is close to what is done in _test_associativity. If you disagree, then I can revert this. If you are happy with the last change and tweaks, then you can set a positive review.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2020

Changed commit from 642e80f to 8918e84

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 29, 2020

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

8918e84remove S = tester.some_elements()

@mkoeppe
Copy link
Member

mkoeppe commented Jul 8, 2020

comment:60

These have been merged into 9.2.beta4

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