Changes between Version 62 and Version 71 of Ticket #30307
- Timestamp:
- 06/15/21 23:46:45 (12 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #30307
- Property Cc gh-honglizhaobob added
-
Property
Commit
changed from
27bc9b1ddd376da516228b8c8144c6139376f061
tof6bde0a9f9cfd69254aa0ca1ba8b0ffc04b77677
-
Ticket #30307 – Description
v62 v71 1 1 Currently every `Components` object has lots of metadata attributes in addition to the actual data dictionary in `._comp`. 2 2 3 If one has many different `Components` objects with the same metadata, we can reduce storage space as follows.3 If one has many different `Components` objects with the same symmetry metadata, we can reduce storage space as follows. 4 4 5 5 We create new classes `CompParent`, `CompParentWithSym`, ..., which 6 store the attributes and become `UniqueRepresentation`. We make `Components` objects elements of these parents. 7 8 Data associated with symmetries, computed currently each time for each `CompWithSym` object in methods such as `__init__`, `__add__`, `trace`, ... can then be precomputed and cached in the parent (for example using @cached_method in the parent class). 9 6 store the symmetry attributes and become `UniqueRepresentation`. We make `Components` objects elements of these parents. 10 7 11 8 The parents will also have index iterator methods. 9 10 Data associated with symmetries and dimensions, computed currently each time for each `CompWithSym` object in methods such as `__init__`, `__add__`, `trace`, ... can be precomputed and cached in the parent using `@cached_method` in the parent class). 11 12 12 13 13 This will make the code in #30229 (subspaces of tensor with symmetries) more elegant because it no longer needs a dummy `Components` object to represent the symmetry but rather a `CompParent` object.