# TensorReduce causes “inhomogeneous dimensions” error

I want to use TensorReduce to realize the following property of wedge:

v1\[TensorWedge]v1 = 0
v1\[TensorWedge]v2 = - v2\[TensorWedge]v1
(v1+v2)\[TensorWedge]v3 = v1\[TensorWedge]v3 + v2\[TensorWedge]v3


I have the following expression:

9 Subscript[p, 1]\[TensorWedge]Subscript[p, 1] +
9 Subscript[q, 1]\[TensorWedge]Subscript[p, 1] +
27 Subscript[p, 1]\[TensorWedge]Subscript[p,
2]\[TensorWedge]Subscript[q, 2] +
27 Subscript[q, 1]\[TensorWedge]Subscript[p,
2]\[TensorWedge]Subscript[q, 2]


I try to simplify this expression using the following statement:

TensorReduce[%,
Assumptions -> (Subscript[p, 1] | Subscript[q, 1] |
Subscript[p, 2] | Subscript[q, 2]) ∈ Vectors[d1]]


But I got the error: TensorDimensions: inhomogeneous dimensions in sum ......

I was a little confused since TensorReduce works well when all wedge products have same number of terms. I am not familiar with symbolic tensors.

The reason for the error message is that the dimensions of the two term tensor wedge products is not the same as the dimensions of the 3 term tensor wedge products:

TensorDimensions[TensorWedge[p, q], Assumptions->(p|q) ∈ Vectors[d]]
TensorDimensions[TensorWedge[p, q, r], Assumptions->(p|q|r) ∈ Vectors[d]]


{d, d}

{d, d, d}

You can't sum symbolic arrays with different dimensions.

• Got it! May be I should use the direct sum. – Jenny Guo May 23 at 14:51