# 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.

## 1 Answer

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