-
Notifications
You must be signed in to change notification settings - Fork 126
[SymmetrySectors] Non-abelian fusion #1363
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
Merged
Merged
Changes from all commits
Commits
Show all changes
210 commits
Select commit
Hold shift + click to select a range
882617d
clean start for non-abelian on main
ogauthe 11121c9
split fusion rules test
ogauthe 703c2f1
rename chain axis_cat
ogauthe 9b5eb7e
rename dimension quantum_dimension
ogauthe d4ef71a
rename test_category.jl test_simple_categories.jl
ogauthe 1e402c6
Merge branch 'ITensor:main' into non-abelian_fusion
ogauthe 11a762a
test inferred quantum_dimension
ogauthe 10ff71b
Remove isempty, length, and getindex for CategoryProduct
emstoudenmire c64af63
rm GradedAxesSectorsExt
ogauthe e6c5c49
fix category name
ogauthe 57738e6
remove ⊕
ogauthe 33c87e7
Merge branch 'ITensor:main' into non-abelian_fusion
ogauthe 8bdfd31
Merge branch 'ITensor:main' into non-abelian_fusion
ogauthe af6b20f
tensor_product for GradedUnitRange
ogauthe b84772f
fix pairing
ogauthe 9f86bf5
typo
ogauthe 256f275
do not define methods for unused Vector{<:AbstractCategory}
ogauthe 7c575e0
test different categories cannot be fused
ogauthe f695c5f
define SymmetryStyle and fusion of CategoryProduct{Tuple}
ogauthe c7b8b50
use SymmetryStyle
ogauthe 2508c61
fusion rules for NamedTuple
ogauthe e234a75
further investigate quantum_dimension type stability
ogauthe be3f351
improve type stability
ogauthe bb0d757
fix type stability for quantum_dimension
ogauthe 6e6b10c
fix product of singlet
ogauthe 667ea0f
pass Named Category Products, broken Ordered Products
ogauthe 11434d6
trickier tests
ogauthe 1830781
all test passing
ogauthe 3ae8e46
def and use gradedisequal
ogauthe fc96238
test mixed GradedUnitRange - Category
ogauthe b71f9b2
delete files not supposed to be under git
ogauthe 56de936
dispatch instead of test type
ogauthe 34dc147
define fusion_product for CategoryProduct
ogauthe 551db7a
rename label -> category_label
ogauthe 7f54001
split tensor_product and fusion_product
ogauthe 06febc1
simplify quantum_dimensions
ogauthe 2396e5e
blockmergesortperm for dual
ogauthe dfa478d
remove unused functions
ogauthe 0000e5c
add more comments
ogauthe 57b3fc8
support julia 1.6
ogauthe c6f24f8
Swap Ordered Products and Named Category Products
ogauthe c0e8e8d
inline pack_named_tuple, adjust tests
ogauthe 0e1869f
add comment on label type
ogauthe 9b3419c
parametric U1 and SU{N}, remove SU2
ogauthe b0e71fe
typo
ogauthe 20b80a5
Merge branch 'main' into non-abelian_fusion
ogauthe 68662a5
improve display
ogauthe 298338d
remove unused abstractgradedunitrange.jl
ogauthe 598cd42
define blocklabels and gradedisequal for UnitRangeDual
ogauthe bc10ca0
def trivial(::CategoryProduct)
ogauthe 60a5410
simplify SU{N}
ogauthe de95045
SU2 as a concrete type
ogauthe 043d106
trivial(::AbstractCategory)
ogauthe 63ab67e
avoid confusion between integer and tuple interfaces
ogauthe c4f10e0
define trivial(::AbstractUnitRange)
ogauthe d3e0f34
def isdual
ogauthe bc5a2b7
define block_boundaries
ogauthe 5ddf8ea
Merge branch 'main' into non-abelian_fusion
ogauthe 96e9992
define fusion_product(g1,g2,g3)
ogauthe ba863f1
remove unused dual(type)
ogauthe e618ed0
rename block_boundaries into block_dimensions
ogauthe 27b03d9
use block_dimensions in quantum_dimension. Set quantum_dimension(Empt…
ogauthe c36654e
simplify istrivial
ogauthe 7683df0
use iterator
ogauthe be768ab
single EmptyCategory type, act as trivial
ogauthe 326ec5f
define categories_trivial
ogauthe d3cced6
categories_isequal
ogauthe 00b2172
test sector() acts as trivial
ogauthe d30c320
fix new line in printing
ogauthe e738a11
Merge branch 'main' into non-abelian_fusion
ogauthe fc9bacb
sector with Type arg
ogauthe 3bcde67
reorder file
ogauthe 9c968b0
use @inferred_latest
ogauthe bf31a2e
clean categories_fusion_rule
ogauthe 7d7e57d
dual blocklabels
ogauthe 4dae197
fuse EmptyCategory
ogauthe aff0006
reorder file
ogauthe 1aa1317
replace for loops with Iterators
ogauthe 18763f6
used labelled
ogauthe 951f08e
use mapreduce
ogauthe bd8e6e7
define fusion_product for non-abelian groups
ogauthe f366af7
add tests
ogauthe cbda58b
support OneToOne
ogauthe cdc4030
share more implementation
ogauthe 1ef04c1
reorder file
ogauthe 2bfe8dd
rigorous comparisons
ogauthe 19df9ea
Merge branch 'main' into non-abelian_fusion
ogauthe a86e67e
Merge branch 'main' into non-abelian_fusion
ogauthe 3b4e3cb
fix tests
ogauthe d42c017
define flip
ogauthe 45e8cc6
show(::UnitRangeDual)
ogauthe 43c8b4d
fix tensor_product(::dual)
ogauthe fb59499
adapt to BlockArrays 1.1
ogauthe b47fded
fix Vararg
ogauthe 2193a93
Merge branch 'main' into non-abelian_fusion
ogauthe 9a04046
remove unneeded method
ogauthe 7397ba6
Merge branch 'main' into non-abelian_fusion
ogauthe e2548ee
add O(2) group
ogauthe b3a4e50
Merge branch 'main' into non-abelian_fusion
ogauthe f016ba1
Merge branch 'main' into non-abelian_fusion
ogauthe fbf0734
remove gradedisequal(::OneToOne)
ogauthe d9cd486
avoid mixing fusion_rule and fuse_blocklengths interfaces
ogauthe 933c0d4
Merge branch 'main' into non-abelian_fusion
ogauthe de8759d
fix fuse_blocklengths(::EmptyCategory)
ogauthe cd58321
rm 'NDTensors/src/lib/Sectors/Project.toml'
ogauthe f9f3b5b
use do-block syntax
ogauthe a4954fb
remove GradedRange.
ogauthe c7820aa
isdual default to false
ogauthe 3d65e28
fix unlabel type in trivial
ogauthe f19dc44
fix namespace
ogauthe 2e29af1
fix comment typo
ogauthe 5153333
add comments on O(2)
ogauthe de29e17
avoid using implementation detail
ogauthe f9e47ed
replace find_common/diff with categories_common/diff
ogauthe 7b61766
simplify categories_isequal and categories_isless
ogauthe ad12d60
Revert "rm 'NDTensors/src/lib/Sectors/Project.toml'"
ogauthe 8aeb097
explicit imports
ogauthe a4803f1
explicit import HalfInteger
ogauthe e8624e3
is_zero_even_or_odd(O2)
ogauthe 9d54770
remove gradedisequal(OneToOne)
ogauthe f165066
add comment on convention
ogauthe 94ae370
generic blockmergesort
ogauthe f417bec
fix import
ogauthe 26daedf
define EmptyCategoryProduct alias
ogauthe c50f3cd
fix typo in comment
ogauthe 6ea394c
generic blocksortperm/blockmergesortperm(a::AbstractUnitRange)
ogauthe b94f4e8
import at begining of file
ogauthe 2684005
comment on map use
ogauthe 0f485a2
clean-up categories_fusion_rule
ogauthe 8abad01
split gradedisequal into labelled_isequal and space_isequal
ogauthe e93bfe2
rename to_graded_axis to_gradedrange
ogauthe fe5237a
remove outdated comment
ogauthe 4cb7874
implicit tuple in CategoryProduct
ogauthe 1855045
remove redundant isless
ogauthe 737c5c2
use do-block syntax
ogauthe 65dc71e
fix blockmergesort(g::UnitRangeDual)
ogauthe b4380b0
use NoLabel as default blocklabel
ogauthe a36f4d7
assert issorted
ogauthe f325011
unify handling of tensor_product(dual)
ogauthe 77ef307
split shared and diff category
ogauthe b3e6008
generic blockaxes(::OneToOne)
ogauthe 648bc28
rename EmptyCategory to EmptyCategoryStyle
ogauthe c14422a
use only 2 symmetry styles: Abelian and NotAbelian
ogauthe a566784
rename EmptyCategory to TrivialSector
ogauthe 3ba966e
avoid sector
ogauthe a7a860d
add commennt
ogauthe 0089c58
use NotAbelianStyle in categories_fusion_rule
ogauthe 168c1ce
better variable name
ogauthe 843fc2d
impose same type in shared
ogauthe 7edaf03
remove sector, define TrivialSector()
ogauthe 7b548bf
do not assume Tuple category type
ogauthe 74c6e76
split shared_categories_fusion_rule methods
ogauthe 8c19a1f
use mapreduce
ogauthe 738d912
SymmetryStyle defined for types
ogauthe e63b3e0
fix test in Julia 1.6
ogauthe 90cad20
simplify reduce_style
ogauthe 22e9ac9
reorder file
ogauthe 10ff55c
do not forbid empty NamedTuple
ogauthe d5630db
add comment
ogauthe 4294dea
refactor label_fusion_rule
ogauthe 6cc612f
categories_symmetrystyle
ogauthe f3f6b96
non-abelian interface in tensor_product
ogauthe 7f98183
define TrivialSector
ogauthe 9fac111
use mapreduce
ogauthe 895e7ac
fix tests for julia 1.6
ogauthe d4794ed
rename Category to Sector
ogauthe 692e08a
fusion_rule(::AbelianStyle to call fusion_rule(::NotAbelianStyle
ogauthe d0b81d9
rename Sectors to SymmetrySectors
ogauthe d84df4e
more tolerant on missing sectors
ogauthe 2fe8bbc
factorize sym_sectors_insert_unspecified
ogauthe ddb62d5
rename sectors product_sectors
ogauthe d65bbbb
define abelian_label_fusion_rule
ogauthe 97f7522
use list comprehension
ogauthe e21d7ac
simplify product_sectors_fusion_rule
ogauthe 7461b11
fix tests for julia 1.6
ogauthe 20acb54
explicit variable name
ogauthe 21df582
inline factorize_gradedaxis
ogauthe ed52101
consistent type naming
ogauthe ede71b5
label_fusion_rule to return pair
ogauthe 7407e83
remove debug print
ogauthe 7a7f2b8
refactor recover_sector_product_type
ogauthe 77df75d
remove julia1.6 specific @inferred_latest
ogauthe 28299fd
Merge branch 'main' into non-abelian_fusion
ogauthe b322fca
fix tests
ogauthe 5e9d0db
Merge branch 'main' into non-abelian_fusion
ogauthe df35a5f
sort TrivialSector as trivial for any Sector
ogauthe 00fd5f8
use broadcast
ogauthe 435f775
refactor shared_product_sectors_fusion_rule
ogauthe beba332
test more comparisons
ogauthe 3f05a81
remove conflicting adjoint
ogauthe 8901076
enforce U1(Int32(1)) == U1(1)
ogauthe 8bd77e5
fix isless(U1)
ogauthe 0589a4e
style
ogauthe abe14a4
defined set_sector_label
ogauthe 15e1187
add test
ogauthe 9c5b664
Merge branch 'main' into non-abelian_fusion
ogauthe 5260dbd
inline empty edge cases
ogauthe 5db5015
rename product_sectors to arguments
ogauthe 6f6ae82
more compact
ogauthe 02442b2
add more tests
ogauthe 798bd10
compact arguments_isequal
ogauthe 752efe0
more tests
ogauthe 46ffcfb
generic case
ogauthe 36c076f
generic arguments_product
ogauthe 65453b6
better error messages
ogauthe c41c2fe
style
ogauthe f130f34
generic isless
ogauthe 900321a
generic isequal
ogauthe 3ba3ba9
avoid _argument_isless
ogauthe f8358fe
remove _arguments_isequal
ogauthe File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 0 additions & 2 deletions
2
NDTensors/src/lib/GradedAxes/ext/GradedAxesSectorsExt/Project.toml
This file was deleted.
Oops, something went wrong.
9 changes: 0 additions & 9 deletions
9
NDTensors/src/lib/GradedAxes/ext/GradedAxesSectorsExt/src/GradedAxesSectorsExt.jl
This file was deleted.
Oops, something went wrong.
3 changes: 0 additions & 3 deletions
3
NDTensors/src/lib/GradedAxes/ext/GradedAxesSectorsExt/test/Project.toml
This file was deleted.
Oops, something went wrong.
15 changes: 0 additions & 15 deletions
15
NDTensors/src/lib/GradedAxes/ext/GradedAxesSectorsExt/test/runtests.jl
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,7 @@ | ||
module GradedAxes | ||
include("blockedunitrange.jl") | ||
include("gradedunitrange.jl") | ||
include("fusion.jl") | ||
include("dual.jl") | ||
include("unitrangedual.jl") | ||
include("../ext/GradedAxesSectorsExt/src/GradedAxesSectorsExt.jl") | ||
include("fusion.jl") | ||
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.