Closed Alphaharrius closed 8 months ago
The problem lies with the method +(::CrystalFockMap, ::CrystalFockMap)
since FockMap(C) + FockMap(SCS')
yields the correct result.
The problem is related to the unmatched (k, k)
and its associated block in CrystalFockMap.blocks
generated from *(::AffineTransform, ::CrystalFock)
.
The symmetry representation generated from
AffineTransform * CrystalFock
has been enhanced to support multithreading capabilities of usingCrystalFockMap
. Yet it yields incorrect result when performing operations likeS*C*S'
whereS
is the symmetry representation;C
is the targetCrystalFockMap
to be symmetrized, the same operation performed underFockMap(S)*FockMap(C)*FockMap(S)'
yields correct result. Hence we believe that the problem is with either the*(::CrystalFockMap, ::CrystalFockMap)
, the generation method of the symmetry representation, oradjoint(::CrystalFockMap)
. Yet given that the*
andadjoint
is used in other areas and yield correct results, the generation method of the symmetry representation might be the source of error.