Opened 8 years ago
Closed 14 months ago
#15485 closed enhancement (duplicate)
Implement fusion algebras
Reported by:  tscrim  Owned by:  sagecombinat 

Priority:  major  Milestone:  sageduplicate/invalid/wontfix 
Component:  algebra  Keywords:  fusion algebras, rings, quantum groups, CFT 
Cc:  sagecombinat, aschilling, darij, bump  Merged in:  
Authors:  Reviewers:  Travis Scrimshaw  
Report Upstream:  N/A  Work issues:  
Branch:  Commit:  
Dependencies:  Stopgaps: 
Description (last modified by )
As defined by Fuchs for WZW field theories.
Change History (35)
comment:1 Changed 8 years ago by
 Branch set to public/algebras/fusion_algebras15485
 Cc sagecombinat aschilling added
 Commit set to 22fcc30f29ce189c1f5e33f49b8ad82d2ee5740e
 Dependencies set to #15289
 Status changed from new to needs_review
comment:2 Changed 8 years ago by
 Milestone changed from sage6.0 to sage6.1
comment:3 Changed 8 years ago by
 Milestone changed from sage6.1 to sage6.2
comment:4 Changed 8 years ago by
 Commit changed from 22fcc30f29ce189c1f5e33f49b8ad82d2ee5740e to 967207a2ab7d55bf2c1a54483a3c2d2346ecfd89
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
dc50e22  Merge branch 'develop' into public/algebras/fusion_algebras15485

6c8a02e  Merge branch 'develop' into public/algebras/fusion_algebras15485

12f1412  Merge branch 'develop' into public/algebras/fusion_algebras15485

c37df3e  Merge branch 'develop' into public/algebras/fusion_algebras15485

1bcda69  Merge branch 'develop' into public/algebras/fusion_algebras15485

545a8df  Merge branch 'develop' into public/monoids/15289indexed

2975c87  Merge branch 'develop' into public/monoids/15289indexed

4002b0d  Merge branch 'develop' into public/monoids/15289indexed

9e9b769  Merge branch 'develop' into public/monoids/15289indexed

a278afa  Added cardinality methods.

comment:5 Changed 8 years ago by
 Commit changed from 967207a2ab7d55bf2c1a54483a3c2d2346ecfd89 to 47a7f518c608edabfebc185b2ff7f68be01d164e
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
56703eb  Made Indexed* have entry points through Free*.

163df6e  Changed more _basis_keys to _indices, deprecated the former.

8db8e0a  Changed _an_element_ to indexed_monoid.py.

760c939  Merge branch 'public/monoids/15289indexed' of trac.sagemath.org:sage into public/monoids/15289indexed

03057a4  Merge branch 'develop' into public/monoids/15289indexed

a2996e0  Merge branch 'develop' into public/monoids/15289indexed

c1cc341  Merge branch 'develop' into public/monoids/15289indexed

49068b2  Merge branch 'develop' into public/monoids/15289indexed

6875cfb  Merge branch 'develop' into public/monoids/15289indexed

47a7f51  Merge branch 'public/algebras/fusion_algebras15485' of trac.sagemath.org:sage into public/algebras/fusion_algebras15485

comment:6 Changed 8 years ago by
 Commit changed from 47a7f518c608edabfebc185b2ff7f68be01d164e to 8b2566ffa91a40e424489679607048671d4d1f27
comment:7 Changed 8 years ago by
 Cc darij added
comment:8 Changed 8 years ago by
 Milestone changed from sage6.2 to sage6.3
comment:9 Changed 8 years ago by
 Commit changed from 8b2566ffa91a40e424489679607048671d4d1f27 to 49dba22b653a31e7a105bd7609b9d372250d2470
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
18fd094  Fixed affine weight lattice symmetric form.

cb88df7  Merge branch 'develop' into public/combinat/root_systems/improvements15384

760194b  More changes and fixes.

eab1afe  Fixed doctest.

66f5674  Fixed type BC positive roots.

e17ce53  Merge branch 'develop' into public/combinat/root_systems/improvements15384

7e83910  Fixes for other twisted root systems.

c91754d  Merge branch 'develop' into public/combinat/root_systems/improvements15384

c71ee92  Merge branch 'public/combinat/root_systems/improvements15384' into public/algebras/fusion_algebras15485

49dba22  Fixed doctests from recent versions.

comment:10 Changed 8 years ago by
 Dependencies changed from #15289 to #15289 #15384
comment:11 Changed 8 years ago by
 Commit changed from 49dba22b653a31e7a105bd7609b9d372250d2470 to 7876b6e39fe5b55e45b30205fc9bcc114268437b
Branch pushed to git repo; I updated commit sha1. New commits:
7876b6e  Merge branch 'public/algebras/fusion_algebras15485' of trac.sagemath.org:sage into public/algebras/fusion_algebras15485

comment:12 Changed 8 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:13 Changed 7 years ago by
 Commit changed from 7876b6e39fe5b55e45b30205fc9bcc114268437b to 840c56b9b94472456842a35f9ecda7122ba147db
Branch pushed to git repo; I updated commit sha1. New commits:
840c56b  Merge branch 'public/algebras/fusion_algebras15485' of trac.sagemath.org:sage into public/algebras/fusion_algebras15485

comment:14 Changed 7 years ago by
 Commit changed from 840c56b9b94472456842a35f9ecda7122ba147db to 743386a91a4a94249d114673cf3d5c00119a480e
comment:15 Changed 7 years ago by
 Commit changed from 743386a91a4a94249d114673cf3d5c00119a480e to 7a23e3ff9be09708f172af2d693a992675222854
Branch pushed to git repo; I updated commit sha1. New commits:
7a23e3f  Merge branch 'public/algebras/fusion_algebras15485' into 6.9.b7

comment:16 Changed 6 years ago by
 Commit changed from 7a23e3ff9be09708f172af2d693a992675222854 to f9a3601bafa1179094ca4e6aeae0934bd8d147cc
comment:17 Changed 6 years ago by
 Commit changed from f9a3601bafa1179094ca4e6aeae0934bd8d147cc to b2d45d966396a158f365a67b85cc287712fe14ed
Branch pushed to git repo; I updated commit sha1. New commits:
b2d45d9  Merge branch 'public/algebras/fusion_algebras15485' of trac.sagemath.org:sage into public/algebras/fusion_algebras15485

comment:18 Changed 6 years ago by
 Milestone changed from sage6.4 to sage7.2
comment:19 Changed 5 years ago by
 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
 Commit changed from b2d45d966396a158f365a67b85cc287712fe14ed to baf5b00e452fd3a0d467eb42a74744ff50115dcd
Branch pushed to git repo; I updated commit sha1. New commits:
baf5b00  Merge branch 'public/algebras/fusion_algebras15485' of trac.sagemath.org:sage into public/algebras/fusion_algebras15485

comment:21 Changed 5 years ago by
 Milestone changed from sage7.2 to sage8.1
 Status changed from needs_work to needs_review
Boring trivial rebase.
comment:22 followup: ↓ 26 Changed 5 years ago by
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.
 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.
 The examples in the init function should be in a TESTS: section instead
 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.  This raises an error:
sage: F(F.monomial(0))*F(F.monomial(1))
 While this works
sage: F.gens()[0] * F.gens()[1] F[Lambda[2]]
 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
 Status changed from needs_review to needs_work
comment:24 Changed 5 years ago by
 Commit changed from baf5b00e452fd3a0d467eb42a74744ff50115dcd to f29afd800db898c4caddcd97ad42d8df3be50691
comment:25 Changed 5 years ago by
 Commit changed from f29afd800db898c4caddcd97ad42d8df3be50691 to f05b087bca49eab5e1fc208352a9c651bf60970e
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
f05b087  Improving documentation, changing FusionAlgebra > VerlindeAlgebra, other updates.

comment:26 in reply to: ↑ 22 Changed 5 years ago by
 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.
 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.
 The examples in the init function should be in a TESTS: section instead
This really doesn't matter, but done.
 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 ondemand, 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).
 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.
 While this works
sage: F.gens()[0] * F.gens()[1] F[Lambda[2]]
You should not do this. See below.
 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 Ralgebra are the same as those as a free Rmodule. Yet, in this case, there is no natural order on the generators because there is no natural order on the indexing set.
comment:27 Changed 4 years ago by
The documentation in algebras/verlinde_algebra.py .mentions the "KacWaldron formula". I think this should be "KacWalton".
Walton, Mark A. Fusion rules in WessZuminoWitten models. Nuclear Phys. B 340 (1990), no. 23, 777–790.
Also in algebras/verlinde_algebra.py [Feigngold2004] should be [Feingold2004].
comment:28 Changed 4 years ago by
 Cc bump added
comment:29 Changed 4 years ago by
 Commit changed from f05b087bca49eab5e1fc208352a9c651bf60970e to 4492c9dfec8746189ef88e8f80881927526a2b44
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
7603245  Initial implementation.

592aa5b  Fixed doctests from recent versions.

177e074  trac #15485 fixing the catalog

2febb38  Improving documentation, changing FusionAlgebra > VerlindeAlgebra, other updates.

4492c9d  Fixing various small things.

comment:30 Changed 4 years ago by
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
 Status changed from needs_review to needs_work
red branch => needs work
comment:32 Changed 14 months ago by
 Milestone changed from sage8.1 to sage9.4
comment:33 Changed 14 months ago by
 Branch public/algebras/fusion_algebras15485 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
 Milestone changed from sage9.4 to sageduplicate/invalid/wontfix
comment:35 Changed 14 months ago by
 Resolution set to duplicate
 Status changed from positive_review to closed
New commits: