Changes between Version 62 and Version 71 of Ticket #30307


Ignore:
Timestamp:
06/15/21 23:46:45 (12 months ago)
Author:
mkoeppe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #30307

    • Property Cc gh-honglizhaobob added
    • Property Commit changed from 27bc9b1ddd376da516228b8c8144c6139376f061 to f6bde0a9f9cfd69254aa0ca1ba8b0ffc04b77677
  • Ticket #30307 – Description

    v62 v71  
    11Currently every `Components` object has lots of metadata attributes in addition to the actual data dictionary in `._comp`. 
    22
    3 If one has many different `Components` objects with the same metadata, we can reduce storage space as follows.
     3If one has many different `Components` objects with the same symmetry metadata, we can reduce storage space as follows.
    44
    55We 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 
     6store the symmetry attributes and become `UniqueRepresentation`. We make `Components` objects elements of these parents. 
    107
    118The parents will also have index iterator methods.
     9
     10Data 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
    1212
    1313This 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.