Add named constructors, mixed product (#4183)
Merge pull request #4290 from dschwen/tensorops_4183

Move another tensor product into the tensor classes