DK-STP (Dimension-Keeping Semi-Tensor Product) - 1

Classical STP

MM-STP

Let A∈Mm×nA \in \mathcal{M}_{m\times n}, B∈Mp×qB \in \mathcal{M}_{p\times q}, and t=lcm⁡(n,p)t=\operatorname{lcm}(n,p). Define

A⋉B=(A⊗It/n)(B⊗It/p).A\ltimes B=(A\otimes I_{t/n})(B\otimes I_{t/p}).

The dimensions are

(m×n)⊗(t/n×t/n)=(mt/n×t),(m\times n)\otimes(t/n\times t/n)=(mt/n\times t), (p×q)⊗(t/p×t/p)=(t×qt/p).(p\times q)\otimes(t/p\times t/p)=(t\times qt/p).

Hence, A⋉B∈Mmt/n×qt/pA\ltimes B\in\mathcal{M}_{mt/n\times qt/p}.

MV-STP

Let A∈Mm×nA\in\mathcal{M}_{m\times n}, x∈Rpx\in\mathbb{R}^p, and t=lcm⁡(n,p)t=\operatorname{lcm}(n,p). Define

A⋉→x=(A⊗It/n)(x⊗1t/p).A\mathop{\ltimes}\limits^{\rightarrow}x=(A\otimes I_{t/n})(x\otimes\mathbf{1}_{t/p}).

The dimensions are

(m×n)⊗(t/n×t/n)=(mt/n×t),(m\times n)\otimes(t/n\times t/n)=(mt/n\times t), (p×1)⊗(t/p×1)=(t×1).(p\times1)\otimes(t/p\times1)=(t\times1).

Therefore,

(mt/n×t)(t×1)=(mt/n×1).(mt/n\times t)(t\times1)=(mt/n\times1).

Hence, A⋉→x∈Rmt/nA\mathop{\ltimes}\limits^{\rightarrow}x\in\mathbb{R}^{mt/n}.

VV-STP

Let x∈Rnx\in\mathbb{R}^n, y∈Rpy\in\mathbb{R}^p, and t=lcm⁡(n,p)t=\operatorname{lcm}(n,p). Their semi-tensor product is

x⋉→y=(x⊗1t/n)T(y⊗1t/p).x\mathop{\ltimes}\limits^{\rightarrow}y =(x\otimes\mathbf{1}_{t/n})^{\mathsf T}(y\otimes\mathbf{1}_{t/p}).

The dimension calculations are

(1×n)⊗(1×t/n)=(1×t),(1\times n)\otimes(1\times t/n)=(1\times t), (p×1)⊗(t/p×1)=(t×1).(p\times1)\otimes(t/p\times1)=(t\times1).

Therefore,

(1×t)(t×1)=(1×1).(1\times t)(t\times1)=(1\times1).

Hence, x⋉→y∈Rx\mathop{\ltimes}\limits^{\rightarrow}y\in\mathbb{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.A=\begin{bmatrix}1&2\end{bmatrix},\qquad x=\begin{bmatrix}3&4&5\end{bmatrix}^{\mathsf T},\qquad t=6.

Treating xx as a 3×13\times1 matrix, MM-STP gives

(A⊗I3)(x⊗I2)=[38103410]∈R3×2.(A\otimes I_3)(x\otimes I_2) =\begin{bmatrix}3&8\\10&3\\4&10\end{bmatrix}\in\mathbb{R}^{3\times2}.

In contrast, MV-STP gives

(A⊗I3)(x⊗12)=[111314]∈R3.(A\otimes I_3)(x\otimes\mathbf{1}_2) =\begin{bmatrix}11\\13\\14\end{bmatrix}\in\mathbb{R}^{3}.

DK-STP

Let A∈Mm×nA\in\mathcal{M}_{m\times n}, B∈Mp×qB\in\mathcal{M}_{p\times q}, and t=lcm⁡(n,p)t=\operatorname{lcm}(n,p). The dimension-keeping semi-tensor product is defined by

A⋉B=(A⊗1t/nT)(B⊗1t/p).A\mathbin{\varowedge}B =(A\otimes\mathbf{1}_{t/n}^{\mathsf T})(B\otimes\mathbf{1}_{t/p}).

The dimensions of the two extended components are

(m×n)⊗(1×t/n)=(m×t),(m\times n)\otimes(1\times t/n)=(m\times t), (p×q)⊗(t/p×1)=(t×q).(p\times q)\otimes(t/p\times1)=(t\times q).

Therefore,

(m×t)(t×q)=(m×q).(m\times t)(t\times q)=(m\times q).

Hence,

A⋉B∈Mm×q.A\mathbin{\varowedge}B\in\mathcal{M}_{m\times q}.

The operation is called dimension-keeping because its result always keeps the row dimension of AA and the column dimension of BB. In particular, if A,B∈Mm×nA,B\in\mathcal{M}_{m\times n}, then

A⋉B∈Mm×n.A\mathbin{\varowedge}B\in\mathcal{M}_{m\times n}.

When n=pn=p, both extension multipliers reduce to 11=[1]\mathbf{1}_1=[1], so DK-STP coincides with the ordinary matrix product ABAB.

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 ABAB, 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+k\in\mathbb{Z}_{+}, define the normalized all-ones vector

εk:=1k1k∈Rk.\varepsilon_k:=\frac{1}{\sqrt{k}}\mathbf{1}_k\in\mathbb{R}^k.

Let A∈Mm×nA\in\mathcal{M}_{m\times n}, B∈Mp×qB\in\mathcal{M}_{p\times q}, and t=lcm⁡(n,p)t=\operatorname{lcm}(n,p). The weighted dimension-keeping semi-tensor product is defined by

A⋉wB=(A⊗εt/nT)(B⊗εt/p).A\mathbin{\varowedge}_{w}B =(A\otimes\varepsilon_{t/n}^{\mathsf T})(B\otimes\varepsilon_{t/p}).

The dimensions of the two extended components are

(m×n)⊗(1×t/n)=(m×t),(m\times n)\otimes(1\times t/n)=(m\times t), (p×q)⊗(t/p×1)=(t×q).(p\times q)\otimes(t/p\times1)=(t\times q).

Therefore,

(m×t)(t×q)=(m×q),(m\times t)(t\times q)=(m\times q),

and hence

A⋉wB∈Mm×q.A\mathbin{\varowedge}_{w}B\in\mathcal{M}_{m\times q}.

Since

εt/n=nt1t/n,εt/p=pt1t/p,\varepsilon_{t/n}=\sqrt{\frac{n}{t}}\mathbf{1}_{t/n}, \qquad \varepsilon_{t/p}=\sqrt{\frac{p}{t}}\mathbf{1}_{t/p},

the weighted and unweighted versions satisfy

A⋉wB=npt(A⋉B).A\mathbin{\varowedge}_{w}B =\frac{\sqrt{np}}{t}\left(A\mathbin{\varowedge}B\right).

The normalization gives each extension multiplier unit Euclidean norm. When n=pn=p, t=n=pt=n=p and the weighted DK-STP reduces to the ordinary matrix product ABAB.

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=npt(A⋉B).A\mathbin{\varowedge}_{w}B =\frac{\sqrt{np}}{t}\left(A\mathbin{\varowedge}B\right).

In general, they differ by the normalization factor np/t\sqrt{np}/t. They coincide only when n=pn=p, for which t=n=pt=n=p and np/t=1\sqrt{np}/t=1.

Theory of Computation