Hey Anne,

Here's a new version of the patch which changes the computation of `epsilon`

and `phi`

and caches in the parent `_sig`

. I also added a note on the global option on convention to `TensorProductOfCrystals`

.

I've added documentation about the signature rule, but this does not apply for non-regular crystals. For example, consider the highest weight element in B infinity tensored with itself. Both `phi_i`

and `epsilon_i`

are 0 for all `i`

, so by the signature rule, this would be `0`

for `f_i`

which is not the case.

For the previous implementation, did you mean the old `TensorProductOfCrystalsElement`

? If so, then it assumed the signature rule gave the crystal structure, which is why it didn't work. I didn't want to put this into the doc since it's an implementation detail, but if you think it should be, then we can add it in.

Also the dependency on #14266 is trivial due to a change of `sources.py`

, and this can easily be commuted past.

Thank you for doing the review,

Travis