Let x∈Rn, y∈Rp, and t=lcm(n,p). Their semi-tensor product is
x⋉→y=(x⊗1t/n)T(y⊗1t/p).
The dimension calculations are
(1×n)⊗(1×t/n)=(1×t),(p×1)⊗(t/p×1)=(t×1).
Therefore,
(1×t)(t×1)=(1×1).
Hence, x⋉→y∈R.
These are the three classical forms of STP.
P.S. The semi-tensor product was introduced to extend matrix multiplication. When the dimensions of two matrices are incompatible with ordinary matrix multiplication, extension multipliers are used to make their inner dimensions compatible.
Questions
Are MV-STP and VV-STP special cases of MM-STP?
No. MV-STP and VV-STP are not direct special cases of MM-STP under these definitions. MM-STP uses identity matrices as extension multipliers, whereas the vector-involved cases use all-ones vectors. VV-STP also transposes the first extended vector.
If not, why? Give a concrete example by assigning specific values in the MM-STP case to illustrate the differences from the MV-STP and VV-STP cases.
For MV-STP, set
A=[12],x=[345]T,t=6.
Treating x as a 3×1 matrix, MM-STP gives
(A⊗I3)(x⊗I2)=31048310∈R3×2.
In contrast, MV-STP gives
(A⊗I3)(x⊗12)=111314∈R3.
DK-STP
Let A∈Mm×n, B∈Mp×q, and t=lcm(n,p). The dimension-keeping semi-tensor product is defined by
A⋉B=(A⊗1t/nT)(B⊗1t/p).
The dimensions of the two extended components are
(m×n)⊗(1×t/n)=(m×t),(p×q)⊗(t/p×1)=(t×q).
Therefore,
(m×t)(t×q)=(m×q).
Hence,
A⋉B∈Mm×q.
The operation is called dimension-keeping because its result always keeps the row dimension of A and the column dimension of B. In particular, if A,B∈Mm×n, then
A⋉B∈Mm×n.
When n=p, both extension multipliers reduce to 11=[1], so DK-STP coincides with the ordinary matrix product AB.
P.S. In terms of the dimensions of the result, DK-STP is more similar to classical matrix multiplication.
Interpretation of the Three Products
For the classical matrix product AB, it represents the composition of two compatible linear transformations. In applications, it can also be interpreted as weighted aggregation: the entries of a row provide weights for combining the corresponding entries of a column.
I have not yet found a satisfactory explanation for the following two products:
The standard STP
DK-STP
Weighted DK-STP
For each k∈Z+, define the normalized all-ones vector
εk:=k11k∈Rk.
Let A∈Mm×n, B∈Mp×q, and t=lcm(n,p). The weighted dimension-keeping semi-tensor product is defined by
A⋉wB=(A⊗εt/nT)(B⊗εt/p).
The dimensions of the two extended components are
(m×n)⊗(1×t/n)=(m×t),(p×q)⊗(t/p×1)=(t×q).
Therefore,
(m×t)(t×q)=(m×q),
and hence
A⋉wB∈Mm×q.
Since
εt/n=tn1t/n,εt/p=tp1t/p,
the weighted and unweighted versions satisfy
A⋉wB=tnp(A⋉B).
The normalization gives each extension multiplier unit Euclidean norm. When n=p, t=n=p and the weighted DK-STP reduces to the ordinary matrix product AB.
Is weighted DK-STP a special case of DK-STP?
No. Weighted DK-STP is a normalized variant of DK-STP rather than a special case. Their relationship is
A⋉wB=tnp(A⋉B).
In general, they differ by the normalization factor np/t. They coincide only when n=p, for which t=n=p and np/t=1.