Traits

Trait definitions for tensor basic operations, mainly including getting a (mutable) number, or a (mutable) slice from a defined tensor
Define for upper-formated tensors specifically, like ERIFold4 with the indice of [i,j,k,l], and MatrixUpper with the indice of [i,j]. According to the upper-formated tensor definition, in principle, i=<j and k<=l. WARNING: For efficiency, “uncheck” here means that we don’t check the index order during the tensor operations. WARNING: As a result, a wrong index order could lead to a wrong operation.