Opened 8 years ago

Closed 14 months ago

#15485 closed enhancement (duplicate)

Implement fusion algebras

Reported by: tscrim Owned by: sage-combinat
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: algebra Keywords: fusion algebras, rings, quantum groups, CFT
Cc: sage-combinat, aschilling, darij, bump Merged in:
Authors: Reviewers: Travis Scrimshaw
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by tscrim)

As defined by Fuchs for WZW field theories.

Change History (35)

comment:1 Changed 8 years ago by tscrim

  • Branch set to public/algebras/fusion_algebras-15485
  • Cc sage-combinat aschilling added
  • Commit set to 22fcc30f29ce189c1f5e33f49b8ad82d2ee5740e
  • Dependencies set to #15289
  • Status changed from new to needs_review

New commits:

22fcc30Initial implementation.
9dca526Added comparison operations.
a493beeMerge branch 'master' into public/monoids/15289-indexed
c1b5afe#15289: Implemented indexed monoids and groups.
6fd33b2#15169: Fix FreeAlgebra? element constructor from a base field.

comment:2 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.0 to sage-6.1

comment:3 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:4 Changed 8 years ago by git

  • Commit changed from 22fcc30f29ce189c1f5e33f49b8ad82d2ee5740e to 967207a2ab7d55bf2c1a54483a3c2d2346ecfd89

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

dc50e22Merge branch 'develop' into public/algebras/fusion_algebras-15485
6c8a02eMerge branch 'develop' into public/algebras/fusion_algebras-15485
12f1412Merge branch 'develop' into public/algebras/fusion_algebras-15485
c37df3eMerge branch 'develop' into public/algebras/fusion_algebras-15485
1bcda69Merge branch 'develop' into public/algebras/fusion_algebras-15485
545a8dfMerge branch 'develop' into public/monoids/15289-indexed
2975c87Merge branch 'develop' into public/monoids/15289-indexed
4002b0dMerge branch 'develop' into public/monoids/15289-indexed
9e9b769Merge branch 'develop' into public/monoids/15289-indexed
a278afaAdded cardinality methods.

comment:5 Changed 8 years ago by git

  • Commit changed from 967207a2ab7d55bf2c1a54483a3c2d2346ecfd89 to 47a7f518c608edabfebc185b2ff7f68be01d164e

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

56703ebMade Indexed* have entry points through Free*.
163df6eChanged more _basis_keys to _indices, deprecated the former.
8db8e0aChanged _an_element_ to indexed_monoid.py.
760c939Merge branch 'public/monoids/15289-indexed' of trac.sagemath.org:sage into public/monoids/15289-indexed
03057a4Merge branch 'develop' into public/monoids/15289-indexed
a2996e0Merge branch 'develop' into public/monoids/15289-indexed
c1cc341Merge branch 'develop' into public/monoids/15289-indexed
49068b2Merge branch 'develop' into public/monoids/15289-indexed
6875cfbMerge branch 'develop' into public/monoids/15289-indexed
47a7f51Merge branch 'public/algebras/fusion_algebras-15485' of trac.sagemath.org:sage into public/algebras/fusion_algebras-15485

comment:6 Changed 8 years ago by git

  • Commit changed from 47a7f518c608edabfebc185b2ff7f68be01d164e to 8b2566ffa91a40e424489679607048671d4d1f27

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

1818a3eMerge branch 'develop' into public/monoids/15289-indexed
8b2566fMerge branch 'public/monoids/15289-indexed' into public/algebras/fusion_algebras-15485

comment:7 Changed 8 years ago by tscrim

  • Cc darij added

comment:8 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:9 Changed 8 years ago by git

  • Commit changed from 8b2566ffa91a40e424489679607048671d4d1f27 to 49dba22b653a31e7a105bd7609b9d372250d2470

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

18fd094Fixed affine weight lattice symmetric form.
cb88df7Merge branch 'develop' into public/combinat/root_systems/improvements-15384
760194bMore changes and fixes.
eab1afeFixed doctest.
66f5674Fixed type BC positive roots.
e17ce53Merge branch 'develop' into public/combinat/root_systems/improvements-15384
7e83910Fixes for other twisted root systems.
c91754dMerge branch 'develop' into public/combinat/root_systems/improvements-15384
c71ee92Merge branch 'public/combinat/root_systems/improvements-15384' into public/algebras/fusion_algebras-15485
49dba22Fixed doctests from recent versions.

comment:10 Changed 8 years ago by tscrim

  • Dependencies changed from #15289 to #15289 #15384

comment:11 Changed 8 years ago by git

  • Commit changed from 49dba22b653a31e7a105bd7609b9d372250d2470 to 7876b6e39fe5b55e45b30205fc9bcc114268437b

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

7876b6eMerge branch 'public/algebras/fusion_algebras-15485' of trac.sagemath.org:sage into public/algebras/fusion_algebras-15485

comment:12 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:13 Changed 7 years ago by git

  • Commit changed from 7876b6e39fe5b55e45b30205fc9bcc114268437b to 840c56b9b94472456842a35f9ecda7122ba147db

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

840c56bMerge branch 'public/algebras/fusion_algebras-15485' of trac.sagemath.org:sage into public/algebras/fusion_algebras-15485

comment:14 Changed 7 years ago by git

  • Commit changed from 840c56b9b94472456842a35f9ecda7122ba147db to 743386a91a4a94249d114673cf3d5c00119a480e

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

7c3629dMerge branch 'public/algebras/fusion_algebras-15485' into 6.7.b2
743386atrac #15485 fixing the catalog

comment:15 Changed 7 years ago by git

  • Commit changed from 743386a91a4a94249d114673cf3d5c00119a480e to 7a23e3ff9be09708f172af2d693a992675222854

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

7a23e3fMerge branch 'public/algebras/fusion_algebras-15485' into 6.9.b7

comment:16 Changed 6 years ago by git

  • Commit changed from 7a23e3ff9be09708f172af2d693a992675222854 to f9a3601bafa1179094ca4e6aeae0934bd8d147cc

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

356f93eInitial implementation.
164e3efFixed doctests from recent versions.
f9a3601trac #15485 fixing the catalog

comment:17 Changed 6 years ago by git

  • Commit changed from f9a3601bafa1179094ca4e6aeae0934bd8d147cc to b2d45d966396a158f365a67b85cc287712fe14ed

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

b2d45d9Merge branch 'public/algebras/fusion_algebras-15485' of trac.sagemath.org:sage into public/algebras/fusion_algebras-15485

comment:18 Changed 6 years ago by tscrim

  • Milestone changed from sage-6.4 to sage-7.2

comment:19 Changed 5 years ago by mderickx

  • Status changed from needs_review to needs_work

Merge conflict with sage 8.1.beta3 needs to be resolved

comment:20 Changed 5 years ago by git

  • Commit changed from b2d45d966396a158f365a67b85cc287712fe14ed to baf5b00e452fd3a0d467eb42a74744ff50115dcd

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

baf5b00Merge branch 'public/algebras/fusion_algebras-15485' of trac.sagemath.org:sage into public/algebras/fusion_algebras-15485

comment:21 Changed 5 years ago by tscrim

  • Milestone changed from sage-7.2 to sage-8.1
  • Status changed from needs_work to needs_review

Boring trivial rebase.

Last edited 5 years ago by tscrim (previous) (diff)

comment:22 follow-up: Changed 5 years ago by mderickx

Hi,

I thought maybe it was not to much work to learn what fusion algebras are, but this seems more work then expected. So here some non mathematical comments.

  1. in the class docstring it might be good to list the INPUT: heading before all the mathematical explanation going on (but after the only senctence description of this class). This is something you want to be able to see at a quick glance if you sort of know how to use this class but forgot what the exact input was.
  2. The examples in the init function should be in a TESTS: section instead
  3. Is there a reason you don't subclass sage.algebras.finite_dimensional_algebras.finite_dimensional_algebra.FiniteDimensionalAlgebra Otherwise, if this gives problems, you should at least make it behave more like a FiniteDimensionalAlgebra?, by making a function that computes the underlying FiniteDimensionalAlgebra? and delegates the most important function to the abstract underlying algebra to make it behave like a FiniteDimensionalAlgebra? in order for users to have a consistent user experience.
  4. This raises an error:
    sage: F(F.monomial(0))*F(F.monomial(1))
    
  5. While this works
    sage: F.gens()[0] * F.gens()[1]
    F[Lambda[2]]
    
  6. It would be nice to have a method gen like FreeModule?(QQ,42) has (although admittedly this is a shortcoming of CombinatorialFreeModule?) I just found this out in testing this ticket.

comment:23 Changed 5 years ago by mderickx

  • Status changed from needs_review to needs_work

comment:24 Changed 5 years ago by git

  • Commit changed from baf5b00e452fd3a0d467eb42a74744ff50115dcd to f29afd800db898c4caddcd97ad42d8df3be50691

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

404ae34Merge branch 'public/algebras/fusion_algebras-15485' of git://trac.sagemath.org/sage into public/algebras/fusion_algebras-15485
f29afd8Improving documentation, changing FusionAlgebra -> VerlindeAlgebra, other updates.

comment:25 Changed 5 years ago by git

  • Commit changed from f29afd800db898c4caddcd97ad42d8df3be50691 to f05b087bca49eab5e1fc208352a9c651bf60970e

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

f05b087Improving documentation, changing FusionAlgebra -> VerlindeAlgebra, other updates.

comment:26 in reply to: ↑ 22 Changed 5 years ago by tscrim

  • Description modified (diff)
  • Status changed from needs_work to needs_review

Replying to mderickx:

I thought maybe it was not to much work to learn what fusion algebras are, but this seems more work then expected. So here some non mathematical comments.

All the same, thank you for taking a look at the ticket.

  1. in the class docstring it might be good to list the INPUT: heading before all the mathematical explanation going on (but after the only senctence description of this class). This is something you want to be able to see at a quick glance if you sort of know how to use this class but forgot what the exact input was.

I disagree with this as I feel it is better to define your objects for people. If you need to look at the inputs, it takes 3 seconds to scroll to find the INPUT: block. Also, I think Sage more consistently has things this way.

  1. The examples in the init function should be in a TESTS: section instead

This really doesn't matter, but done.

  1. Is there a reason you don't subclass sage.algebras.finite_dimensional_algebras.finite_dimensional_algebra.FiniteDimensionalAlgebra Otherwise, if this gives problems, you should at least make it behave more like a FiniteDimensionalAlgebra?, by making a function that computes the underlying FiniteDimensionalAlgebra? and delegates the most important function to the abstract underlying algebra to make it behave like a FiniteDimensionalAlgebra? in order for users to have a consistent user experience.

Yes, there are many. Most importantly, it would mean we have to construct the entire multiplication table upon initialization rather than on-demand, which could be very expensive. Also, FiniteDimensionalAlgebra is a more concrete implementation than CombinatorialFreeModule and does not have the same feature set in terms of indexing of the basis. The consistency should be controlled through the category (is gen the thing you are talking about?); so if you want something, lift it from FiniteDimensionalAlgebra (or have some generic implementation or requirement added to the API).

  1. This raises an error:
    sage: F(F.monomial(0))*F(F.monomial(1))
    

As it should. monomial wants something of the index set (although this is not checked currently for speed reasons and Python's "consenting adults" philosophy). While 0 could be considered in the index set, 1 definitely is not.

  1. While this works
    sage: F.gens()[0] * F.gens()[1]
    F[Lambda[2]]
    

You should not do this. See below.

  1. It would be nice to have a method gen like FreeModule?(QQ,42) has (although admittedly this is a shortcoming of CombinatorialFreeModule?) I just found this out in testing this ticket.

I completely disagree because gens (and hence gen) is ambiguous, and hence, should generally be avoided. In particular, the generators as a what? See #15381 and #17768.

In this case, there is not a good way to determine what generates it as an algebra, so the generators as an R-algebra are the same as those as a free R-module. Yet, in this case, there is no natural order on the generators because there is no natural order on the indexing set.

Last edited 5 years ago by tscrim (previous) (diff)

comment:27 Changed 4 years ago by bump

The documentation in algebras/verlinde_algebra.py .mentions the "Kac-Waldron formula". I think this should be "Kac-Walton".

Walton, Mark A. Fusion rules in Wess-Zumino-Witten models. Nuclear Phys. B 340 (1990), no. 2-3, 777–790.

Also in algebras/verlinde_algebra.py [Feigngold2004] should be [Feingold2004].

Last edited 4 years ago by bump (previous) (diff)

comment:28 Changed 4 years ago by bump

  • Cc bump added

comment:29 Changed 4 years ago by git

  • Commit changed from f05b087bca49eab5e1fc208352a9c651bf60970e to 4492c9dfec8746189ef88e8f80881927526a2b44

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

7603245Initial implementation.
592aa5bFixed doctests from recent versions.
177e074trac #15485 fixing the catalog
2febb38Improving documentation, changing FusionAlgebra -> VerlindeAlgebra, other updates.
4492c9dFixing various small things.

comment:30 Changed 4 years ago by tscrim

I have fixed Dan's comment:27 (Waldron must have been a Freudenthal slip :P). I also rebased this over the current develop to help clean up the history a bit.

comment:31 Changed 14 months ago by chapoton

  • Status changed from needs_review to needs_work

red branch => needs work

comment:32 Changed 14 months ago by chapoton

  • Milestone changed from sage-8.1 to sage-9.4

comment:33 Changed 14 months ago by tscrim

  • Authors Travis Scrimshaw deleted
  • Branch public/algebras/fusion_algebras-15485 deleted
  • Commit 4492c9dfec8746189ef88e8f80881927526a2b44 deleted
  • Dependencies #15289 #15384 deleted
  • Reviewers set to Travis Scrimshaw
  • Status changed from needs_work to positive_review

This is a duplicate of #26440.

comment:34 Changed 14 months ago by tscrim

  • Milestone changed from sage-9.4 to sage-duplicate/invalid/wontfix

comment:35 Changed 14 months ago by chapoton

  • Resolution set to duplicate
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.