-
Notifications
You must be signed in to change notification settings - Fork 1
First draft of FusionTensor #5
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
Conversation
I have issues with building test both on local and on GitHub actions. Locally, I get an error LoadError: ArgumentError: Package LinearAlgebra not found in current path. although the package is included in the |
From reading the comments above, I see two problems with the current design:
Independently, there is a question whether I think Concerning struct SymmetricDataMatrix <: AbstractBlockSparseMatrix
matrix_blocks::Vector{Pair{AbstractSector,AbstractMatrix}}
row_axis::AbstractGradedUnitRange
column_axis::AbstractGradedUnitRange
end which would act very similarly to the current |
I opened dedicated issues for most of the points. There are still some discussions about precise naming conventions, but I feel like this is more a question of taste than a real issue. I think this is ready to merge as a starting point. |
Could you open issues for them anyway? I think it is good to keep track of these things so we remember to circle back to them. |
This PR provides a first draft for
FusionTensors
. It defines a generic interface to implement non-abelian symmetries. It currently supportsO(2)
,SU(2)
, any abelian group defined inSymmetrySectors
. It allows to construct, permute and contract tensors.Work to be done in future PR:
removeFusedAxes
, currently only used inFusionTensor
initializationSymmetrySectors
Work depending on other packages
TensorAlgebra
interface oncecontract
preserves domain and codomain informationnsymbol
toSymmetrySectors
(define nsymbol SymmetrySectors.jl#4)