1 什么是超图
要想了解超图,首先需要知道图的概念。
图,是由多个 顶点 以及连接顶点的 边 组成。
- 顶点表示对象;
- 边连接了两个顶点,表示两个顶点之间的关系。
中文术语 | 英文术语 |
---|---|
图 | Graph |
节点 | Node |
顶点 | Vertex |
边 | Edge |
注意:顶点和节点是相同的概念,不同的文献称呼不同。这里统一为顶点。
超图,则是在图的基础上进行了扩展。图中每条边代表两个顶点之间的关系,也既是说一条边中有两个顶点,顶点个数等于 2。而超图中的边可以表示多个顶点之间的关系,也既是说一条边中可以有多个顶点,顶点个数可以大于 2。
注意:这里不讨论顶点连接自身的情况。
超图,是由多个 顶点 以及连接顶点的 边 组成。
- 顶点表示对象;
- 边连接了多个顶点,表示多个顶点之间的关系。
中文术语 | 英文术语 |
---|---|
超图 | Hypergraph |
节点 | Node |
顶点 | Vertex |
边 | Edge |
2 为什么需要超图
2.1 引入
图和超图来源于生活,服务于生活。我们从生活中的实际场景出发来回答这个问题。
假设小明和小文共同在某期刊上发表了一篇文章,那么可以用图来表示小明、小文以及发表文章之间的关系,如下图所示:
其中:
- 圈表示顶点
- 不同颜色的圈区分不同的顶点(对象)。
蓝色圈表示小明,绿色圈表示小文,中间的黑色连线是边,表示小明和小文共同发表文章这件事。
假设他们的团队增加了,新增了一个小莉。小明、小文、小莉三个人共同发表了另外一篇文章,那么应该怎么表示呢?
一个自然而然的想法,就是新增一个顶点,然后将两两之间连接起来,如下图所示:
但实际上,这样的图,可行吗?
按照之前对图的解读,那么上面这个图会解读成:
小明和小文共同发表了一篇文章
小明和小莉共同发表了一篇文章
小文和小莉共同发表了一篇文章
从图中解读出来的意义和我们实际要表示的意义完全不一样了。
那么如何表示多个对象(顶点)之间的关系呢?这个时候就需要超图出马了。
超图表示的小明、小文、小莉三者共同发表一篇文章的关系如下图所示:
上面这个超图中,有三个顶点(圈圈表示),分别是蓝色圈表示的小明,绿色圈表示的小文,橙色圈表示的小莉;以及一条边(虚线),连接了三个顶点。
2.2 例子
论文中给出了一个例子,来比较“直观”地感受一下图和超图表示同一个“复杂”问题的差异。
假设:
有一群作者,用集合
E
E
E 来表示。令
E
=
{
e
1
,
e
2
,
e
3
}
E=\{e_1, e_2, e_3\}
E={e1,e2,e3},则表示有 3 个作者,分别是
e
1
e_1
e1、
e
2
e_2
e2 和
e
3
e_3
e3;有一些文章,用集合
V
V
V 来表示。令
V
=
{
v
1
,
v
2
,
v
3
,
v
4
,
v
5
,
v
6
,
v
7
}
V=\{v_1, v_2, v_3, v_4, v_5, v_6, v_7\}
V={v1,v2,v3,v4,v5,v6,v7},则表示有 7 篇文章,分别是
v
1
v_1
v1、
v
2
v_2
v2、
v
3
v_3
v3、
v
4
v_4
v4、
v
5
v_5
v5、
v
6
v_6
v6 和
v
7
v_7
v7。
批注:这个是原文的表格。我认为这个表格有一点点问题,最后一行应该删除。
这个表格表示了这一群作者与这些文章之间的关系。
如果作者
e
j
e_j
ej 是文章
v
i
v_i
vi 的创作者,
(
v
i
;
e
j
)
=
1
(v_i; e_j) = 1
(vi;ej)=1;否则的话呢,
(
v
i
;
e
j
)
=
0
(v_i; e_j) = 0
(vi;ej)=0。
那么根据这个表格可以获取到一些信息:
序号 | 信息 |
---|---|
(1) | 作者 e 1 e_1 e1 创作了文章 v 1 v_1 v1 和 v 2 v_2 v2 |
(2) | 作者 e 2 e_2 e2 创作了文章 v 5 v_5 v5、 v 6 v_6 v6 和 v 7 v_7 v7 |
(3) | 作者 e 3 e_3 e3 创作了文章 v 2 v_2 v2、 v 3 v_3 v3、 v 4 v_4 v4 和 v 6 v_6 v6 |
(4) | 文章 v 1 v_1 v1 是独属于作者 e 1 e_1 e1 |
(5) | 文章 v 2 v_2 v2 是作者 e 1 e_1 e1 和 e 3 e_3 e3 共同创作 |
(6) | … |
假设: 将文章 v i v_i vi 作为顶点,任意两篇文章如果至少存在一个共同作者,那么代表这两篇文章的顶点之间就存在边;否则的话,这两个顶点之间不存在边。
那么依据上面的条件假设,就可以得到下面的图:
解读:
以上定义是论文中的原始定义,我初看的时候比较懵逼。其实换个说法,更简单。所有的文章上面都有作者名字,寻找两篇文章的共同作者,不就是看两篇文章是否是同一个人写的吗?那么这样思考的话,只需要去查询某个作者所写的文章,任意两篇文章之间都应该有一条边。
比如,作者 e 1 e_1 e1,写的文章集合为 { v 1 , v 2 } \{v_1, v_2\} {v1,v2},任意两篇文章之间都应该有一条边(因为文章 v 1 v_1 v1、 v 2 v_2 v2 至少存在一个共同作者,那就是 e 1 e_1 e1),所以顶点 v 1 v_1 v1、 v 2 v_2 v2 之间存在一条边。作者 e 2 e_2 e2,写的文章集合为 { v 5 , v 6 , v 7 } \{v_5, v_6, v_7\} {v5,v6,v7},所以 v 5 v_5 v5、 v 6 v_6 v6 之间存在一条边, v 5 v_5 v5、 v 7 v_7 v7 之间存在一条边, v 6 v_6 v6、 v 7 v_7 v7 之间存在一条边。同理可得,作者 e 3 e_3 e3 涉及的顶点。
那么,如果用 超图 来表示呢?请看下图:
将文章
v
i
v_i
vi 视为顶点,作者
e
j
e_j
ej 视为边,得到了上面的图。图中黑色圆点表示顶点,虚线圈表示边。
解读:
作者 e 1 e_1 e1 写过两篇文章, v 1 v_1 v1 和 v 2 v_2 v2,那么顶点 v 1 v_1 v1、 v 2 v_2 v2 有共同作者 e 1 e_1 e1,所以 e 1 e_1 e1 包含了顶点 v 1 v_1 v1、 v 2 v_2 v2。
文章 v 1 v_1 v1 是作者 e 1 e_1 e1 单独创作的,所以 v 1 v_1 v1 仅属于 e 1 e_1 e1,没有被其他边包含。与此同时,文章 v 2 v_2 v2 是作者 e 1 e_1 e1 和 e 3 e_3 e3 共同创作的,所以边 e 1 e_1 e1 包含了 v 2 v_2 v2, e 3 e_3 e3 也包含了 v 2 v_2 v2。
3 超图相关性质
3.1 符号
那么前面说了那么多,到底超图是什么样的呢?接下来给出超图的数学定义。
首先给出一些必要的符号说明,见下表:
符号 | 术语 | 含义 |
---|---|---|
G = ( V , E , w ) G=(V, E, w) G=(V,E,w) | Hypergraph | 超图 |
V V V | Vertex set | 有限顶点集合(对象) |
E E E | Hyperedge set | 有限(超)边集合 |
w w w | Weight | 权重 |
v v v | Vertex | 顶点集合中的顶点, v ∈ V v \in V v∈V |
e e e | Hyperedge | (超)边集合中的(超)边, e ∈ E e \in E e∈E |
3.2 定义
超图 表示为一个二元组,
G
=
(
V
,
E
)
,
G = (V, E),
G=(V,E),
其中
V
V
V 是有限顶点集合,
E
E
E 是有限超边集合。
有些时候,会用到 加权超图。
加权超图,在超图的基础上,增加了超边的权重。
G
=
(
V
,
E
,
w
)
,
G = (V, E, w),
G=(V,E,w),
其中,
V
V
V、
E
E
E 的含义同上,
w
(
e
)
w(e)
w(e) 表示超边
e
e
e 的权重。值得注意的是,
w
(
e
)
≥
0
w(e) \geq 0
w(e)≥0。
补充解读:
V V V 是顶点集合,包含了所有的 v v v,用数学符号表示为
V = ⋃ i = 1 n v i V = \bigcup^n_{i=1} v_i V=i=1⋃nvi 超边包含了多个顶点, e e e 是一条超边,因此 e e e 中包含了多个顶点 v v v,用数学符号表示为
e = ⋃ i = p q v i e = \bigcup^{q}_{i=p} v_i e=i=p⋃qvi
由此有:对于任意超边 e ∈ E e \in E e∈E,存在
e ⊆ V e \subseteq V e⊆V 关系成立。
引申出以下等式:
⋃ e ∈ E e = V \bigcup_{e\in E} e= V e∈E⋃e=V
3.3 性质
关联
- 当且仅当顶点 v ∈ V v \in V v∈V 是超边 e ∈ E e \in E e∈E 的一部分时,即满足 v ∈ e v \in e v∈e,称 v v v 与 e e e 关联。
解读:如果边 e e e 包含顶点 v v v,则称 v v v 和 e e e 关联。
顶点的度
- 对于顶点
v
∈
V
v \in V
v∈V,其度(degree)定义为
d ( v ) = ∑ e ∈ E ∣ v ∈ e w ( e ) . d(v) = \sum_{e \in E \mid v \in e} w(e). d(v)=e∈E∣v∈e∑w(e).
解读:顶点的度,其实就是包含该顶点的所有边的权重之和。
超边的度
- 对于超边
e
∈
E
e \in E
e∈E,其度(degree)定义为
δ ( e ) = ∣ e ∣ . \delta(e) = \lvert e \rvert. δ(e)=∣e∣.
补充:对于任意集合 S S S, ∣ S ∣ \lvert S \rvert ∣S∣ 表示 S S S 的基数。
解读:超边的度,其实就是该边包含的顶点个数。
关联矩阵
超图
G
G
G 除了用二元组或三元组外,还可以用关联矩阵来表示。
H
i
j
=
h
(
v
i
,
e
j
)
=
{
1
,
if
v
i
∈
e
j
;
0
,
otherwise
.
H_{ij} = h(v_i, e_j) = \begin{cases} 1, & \text{if } v_i \in e_j; \\ 0, & \text{otherwise}. \end{cases}
Hij=h(vi,ej)={1,0,if vi∈ej;otherwise.
H H H 是一个大小为 ∣ V ∣ × ∣ E ∣ \lvert V \rvert \times \lvert E \rvert ∣V∣×∣E∣ 的矩阵,它的第 i i i 行、第 j j j 列的元素 H i j H_{ij} Hij 取值如上式所示。 H H H 被称为 G G G 的关联矩阵(incidence matrix)。
解读:假设 V V V 中包含的顶点个数为 m m m, E E E 中包含的超边条数为 n n n,即 ∣ V ∣ = m \lvert V \rvert =m ∣V∣=m, ∣ E ∣ = n \lvert E \rvert =n ∣E∣=n,那么
H = [ H 11 H 12 ⋯ H 1 , n − 1 H 1 n H 21 H 22 ⋯ H 2 , n − 1 H 2 n ⋮ ⋮ ⋱ ⋮ ⋮ H m − 1 , 1 H m − 1 , 2 ⋯ H m − 1 , n − 1 H m − 1 , n H m 1 H m 2 ⋯ H m , n − 1 H m n ] m × n = ∣ V ∣ × ∣ E ∣ H = \begin{bmatrix} H_{11} & H_{12} & \cdots & H_{1,n-1} & H_{1n} \\ H_{21} & H_{22} & \cdots & H_{2,n-1} & H_{2n} \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ H_{m-1,1}& H_{m-1, 2} & \cdots & H_{m-1, n-1} & H_{m-1, n} \\ H_{m1}& H_{m2} & \cdots & H_{m,n-1} & H_{mn} \end{bmatrix}_{m\times n=\lvert V \rvert \times \lvert E \rvert} H= H11H21⋮Hm−1,1Hm1H12H22⋮Hm−1,2Hm2⋯⋯⋱⋯⋯H1,n−1H2,n−1⋮Hm−1,n−1Hm,n−1H1nH2n⋮Hm−1,nHmn m×n=∣V∣×∣E∣
对角矩阵
- 在关联矩阵
H
H
H 的基础上,我们可以对顶点的度进行重写:
d ( v ) = ∑ e ∈ E w ( e ) h ( v , e ) . d(v) = \sum_{e \in E} w(e) h(v, e). d(v)=e∈E∑w(e)h(v,e).
解读:前面解读过,在超图中,顶点的度是包含该顶点的所有超边的权重和。那么超边 e e e,顶点 v v v, e e e 对 d ( v ) d(v) d(v) 的贡献是多少呢?一定是 w ( e ) w(e) w(e) 吗?不一定,对吧!!!
分情况讨论:
- 如果 v ∈ e v \in e v∈e,那么 e e e 对 d ( v ) d(v) d(v) 贡献为 w ( e ) w(e) w(e);
- 如果 v ∉ e v \not \in e v∈e,那么 e e e 对 d ( v ) d(v) d(v) 的贡献为 0 0 0。
计算的时候,每次判断一下 v v v 是否属于 e e e,然后遍历所有的边 e ∈ E e \in E e∈E,累加满足条件的 w ( e ) w(e) w(e) 就能得到 d ( v ) d(v) d(v):
d ( v ) = ∑ e ∈ E ∣ v ∈ e w ( e ) . d(v) = \sum_{e \in E \mid v \in e} w(e). d(v)=e∈E∣v∈e∑w(e).
每次都要判断检查一下,真的很麻烦!那么在计算的时候能不能不进行判断呢?
诶,还真的可以。这就要用到前面提到的关联矩阵了。如果 v ∈ e v \in e v∈e,则 h ( v , e ) = 1 h(v, e)=1 h(v,e)=1;否则 h ( v , e ) = 0 h(v, e)=0 h(v,e)=0。
那么在计算的时候,只需要让 h ( v , e ) h(v, e) h(v,e) 与 w ( e ) w(e) w(e) 相乘,得到
w ( e ) h ( v , e ) w(e) h(v, e) w(e)h(v,e)形式,就能自动地进行判断了。
- 如果 v ∈ e v \in e v∈e,则 h ( v , e ) = 1 h(v, e)=1 h(v,e)=1,进一步 w ( e ) h ( v , e ) = w ( e ) w(e) h(v, e)=w(e) w(e)h(v,e)=w(e);
- 如果 v ∉ e v \not \in e v∈e,则 h ( v , e ) = 0 h(v, e)=0 h(v,e)=0,进一步 w ( e ) h ( v , e ) = 0 w(e) h(v,e)=0 w(e)h(v,e)=0。
这样就和前面判断的结果是一致的了。
超边的度进行重写:
δ
(
e
)
=
∑
v
∈
V
h
(
v
,
e
)
.
\delta(e) = \sum_{v \in V} h(v, e).
δ(e)=v∈V∑h(v,e).
解读:前面解读过,在超图中,超边的度等于超边包含的顶点个数。回归到关联的定义,如果 v ∈ e v \in e v∈e,则 h ( v , e ) = 1 h(v, e)=1 h(v,e)=1;否则, h ( v , e ) = 0 h(v,e)=0 h(v,e)=0。如果 e e e 包含了 v v v,那么超边 e e e 的度 δ ( e ) \delta(e) δ(e) 就应该增加 1 1 1。这个增加的幅度,不正好等于 h ( v , e ) = 1 h(v,e)=1 h(v,e)=1 吗?如果 e e e 没有包含 v v v,那么 δ ( e ) \delta(e) δ(e) 不应该增加或者说增加的幅度为 0 0 0。这个值不正好等于 h ( v , e ) = 0 h(v, e)=0 h(v,e)=0 吗?巧了,不是?(手动狗头)
以顶点度组成的对角矩阵表示为 D v D_v Dv,以超边度组成的对角矩阵表示为 D e D_e De。
解读:
D v = [ d ( v 1 ) 0 ⋯ 0 0 0 d ( v 2 ) ⋯ 0 0 ⋮ ⋮ ⋱ ⋮ ⋮ 0 0 ⋯ d ( v m − 1 ) 0 0 0 ⋯ 0 d ( v m ) ] m × m = ∣ V ∣ × ∣ V ∣ , D_v = \begin{bmatrix} d(v_1)& 0 & \cdots & 0 & 0 \\ 0 & d(v_2) & \cdots & 0 &0 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & \cdots & d(v_{m-1}) & 0 \\ 0 & 0 & \cdots & 0 & d(v_m) \end{bmatrix}_{m \times m=\lvert V \rvert \times \lvert V \rvert}, Dv= d(v1)0⋮000d(v2)⋮00⋯⋯⋱⋯⋯00⋮d(vm−1)000⋮0d(vm) m×m=∣V∣×∣V∣,
D e = [ δ ( e 1 ) 0 ⋯ 0 0 0 δ ( e 2 ) ⋯ 0 0 ⋮ ⋮ ⋱ ⋮ ⋮ 0 0 ⋯ δ ( e n − 1 ) 0 0 0 ⋯ 0 δ ( e n ) ] n × n = ∣ E ∣ × ∣ E ∣ . D_e = \begin{bmatrix} \delta(e_1)& 0 & \cdots & 0 & 0 \\ 0 & \delta(e_2) & \cdots & 0 &0 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & \cdots & \delta(e_{n-1}) & 0 \\ 0 & 0 & \cdots & 0 & \delta(e_n) \end{bmatrix}_{n \times n=\lvert E \rvert \times \lvert E \rvert}. De= δ(e1)0⋮000δ(e2)⋮00⋯⋯⋱⋯⋯00⋮δ(en−1)000⋮0δ(en) n×n=∣E∣×∣E∣.
邻接矩阵
假设新增一个矩阵
W
W
W,表示超边的权重组成的对角矩阵。
结合前面提到的矩阵,可以得到超图
G
G
G 的邻接矩阵(adjacency matrix):
A
A
A,定义为:
A
=
H
W
H
T
−
D
v
,
A = HWH^{T} - D_v,
A=HWHT−Dv,
其中
H
T
H^{T}
HT 是
H
H
H 的转置。
解读:
W = [ w ( e 1 ) 0 ⋯ 0 0 0 w ( e 2 ) ⋯ 0 0 ⋮ ⋮ ⋱ ⋮ ⋮ 0 0 ⋯ w ( e n − 1 ) 0 0 0 ⋯ 0 w ( e n ) ] n × n = ∣ E ∣ × ∣ E ∣ . W = \begin{bmatrix} w(e_1)& 0 & \cdots & 0 & 0 \\ 0 & w(e_2) & \cdots & 0 &0 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & \cdots & w(e_{n-1}) & 0 \\ 0 & 0 & \cdots & 0 & w(e_n) \end{bmatrix}_{n \times n=\lvert E \rvert \times \lvert E \rvert}. W= w(e1)0⋮000w(e2)⋮00⋯⋯⋱⋯⋯00⋮w(en−1)000⋮0w(en) n×n=∣E∣×∣E∣.
- 首先
H m × n W n × n = [ H 11 H 12 ⋯ H 1 , n − 1 H 1 n H 21 H 22 ⋯ H 2 , n − 1 H 2 n ⋮ ⋮ ⋱ ⋮ ⋮ H m − 1 , 1 H m − 1 , 2 ⋯ H m − 1 , n − 1 H m − 1 , n H m 1 H m 2 ⋯ H m , n − 1 H m n ] ⋅ [ w ( e 1 ) 0 ⋯ 0 0 0 w ( e 2 ) ⋯ 0 0 ⋮ ⋮ ⋱ ⋮ ⋮ 0 0 ⋯ w ( e n − 1 ) 0 0 0 ⋯ 0 w ( e n ) ] = [ H 11 w ( e 1 ) H 12 w ( e 2 ) ⋯ H 1 , n − 1 w ( e n − 1 ) H 1 n w ( e n ) H 21 w ( e 1 ) H 22 w ( e 2 ) ⋯ H 2 , n − 1 w ( e n − 1 ) H 2 n w ( e n ) ⋮ ⋮ ⋱ ⋮ ⋮ H m − 1 , 1 w ( e 1 ) H m − 1 , 2 w ( e 2 ) ⋯ H m − 1 , n − 1 w ( e n − 1 ) H m − 1 , n w ( e n ) H m 1 w ( e 1 ) H m 2 w ( e 2 ) ⋯ H m , n − 1 w ( e n − 1 ) H m n w ( e n ) ] m × n \begin{aligned} H_{m\times n}W_{n \times n} &= \begin{bmatrix} H_{11} & H_{12} & \cdots & H_{1,n-1} & H_{1n} \\ H_{21} & H_{22} & \cdots & H_{2,n-1} & H_{2n} \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ H_{m-1,1}& H_{m-1, 2} & \cdots & H_{m-1, n-1} & H_{m-1, n} \\ H_{m1}& H_{m2} & \cdots & H_{m,n-1} & H_{mn} \end{bmatrix} \cdot \begin{bmatrix} w(e_1)& 0 & \cdots & 0 & 0 \\ 0 & w(e_2) & \cdots & 0 &0 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & \cdots & w(e_{n-1}) & 0 \\ 0 & 0 & \cdots & 0 & w(e_n) \end{bmatrix} \\ &= \begin{bmatrix} H_{11} w(e_1)& H_{12} w(e_2) & \cdots & H_{1,n-1} w(e_{n-1}) & H_{1n} w(e_n) \\ H_{21} w(e_1) & H_{22} w(e_2) & \cdots & H_{2,n-1} w(e_{n-1}) & H_{2n} w(e_n) \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ H_{m-1,1} w(e_1)& H_{m-1, 2} w(e_2) & \cdots & H_{m-1, n-1} w(e_{n-1}) & H_{m-1, n} w(e_n) \\ H_{m1} w(e_1) & H_{m2} w(e_2) & \cdots & H_{m,n-1} w(e_{n-1}) & H_{mn} w(e_n) \end{bmatrix}_{m \times n } \end{aligned} Hm×nWn×n= H11H21⋮Hm−1,1Hm1H12H22⋮Hm−1,2Hm2⋯⋯⋱⋯⋯H1,n−1H2,n−1⋮Hm−1,n−1Hm,n−1H1nH2n⋮Hm−1,nHmn ⋅ w(e1)0⋮000w(e2)⋮00⋯⋯⋱⋯⋯00⋮w(en−1)000⋮0w(en) = H11w(e1)H21w(e1)⋮Hm−1,1w(e1)Hm1w(e1)H12w(e2)H22w(e2)⋮Hm−1,2w(e2)Hm2w(e2)⋯⋯⋱⋯⋯H1,n−1w(en−1)H2,n−1w(en−1)⋮Hm−1,n−1w(en−1)Hm,n−1w(en−1)H1nw(en)H2nw(en)⋮Hm−1,nw(en)Hmnw(en) m×n- 接着
[ H W ] m × n [ H T ] n × m = [ H 11 w ( e 1 ) H 12 w ( e 2 ) ⋯ H 1 , n − 1 w ( e n − 1 ) H 1 n w ( e n ) H 21 w ( e 1 ) H 22 w ( e 2 ) ⋯ H 2 , n − 1 w ( e n − 1 ) H 2 n w ( e n ) ⋮ ⋮ ⋱ ⋮ ⋮ H m − 1 , 1 w ( e 1 ) H m − 1 , 2 w ( e 2 ) ⋯ H m − 1 , n − 1 w ( e n − 1 ) H m − 1 , n w ( e n ) H m 1 w ( e 1 ) H m 2 w ( e 2 ) ⋯ H m , n − 1 w ( e n − 1 ) H m n w ( e n ) ] ⋅ [ H 11 H 21 ⋯ H m − 1 , 1 H m 1 H 12 H 22 ⋯ H m − 1 , 2 H m 2 ⋮ ⋮ ⋱ ⋮ ⋮ H 1 , n − 1 H 2 , n − 1 ⋯ H m − 1 , n − 1 H m , n − 1 H 1 n H 2 n ⋯ H m − 1 , n H m n ] = [ ⋮ ] m × m \begin{aligned} [HW]_{m\times n} [H^{T}]_{n \times m} &= \begin{bmatrix} H_{11} w(e_1)& H_{12} w(e_2) & \cdots & H_{1,n-1} w(e_{n-1}) & H_{1n} w(e_n) \\ H_{21} w(e_1) & H_{22} w(e_2) & \cdots & H_{2,n-1} w(e_{n-1}) & H_{2n} w(e_n) \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ H_{m-1,1} w(e_1)& H_{m-1, 2} w(e_2) & \cdots & H_{m-1, n-1} w(e_{n-1}) & H_{m-1, n} w(e_n) \\ H_{m1} w(e_1) & H_{m2} w(e_2) & \cdots & H_{m,n-1} w(e_{n-1}) & H_{mn} w(e_n) \end{bmatrix} \cdot \begin{bmatrix} H_{11} & H_{21} & \cdots & H_{m-1,1} & H_{m1} \\ H_{12} & H_{22} & \cdots & H_{m-1, 2}& H_{m2} \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ H_{1,n-1} & H_{2,n-1} & \cdots & H_{m-1, n-1} & H_{m,n-1} \\ H_{1n} & H_{2n} & \cdots & H_{m-1, n} & H_{mn} \end{bmatrix} \\ &= \begin{bmatrix} \vdots \end{bmatrix}_{m \times m} \end{aligned} [HW]m×n[HT]n×m= H11w(e1)H21w(e1)⋮Hm−1,1w(e1)Hm1w(e1)H12w(e2)H22w(e2)⋮Hm−1,2w(e2)Hm2w(e2)⋯⋯⋱⋯⋯H1,n−1w(en−1)H2,n−1w(en−1)⋮Hm−1,n−1w(en−1)Hm,n−1w(en−1)H1nw(en)H2nw(en)⋮Hm−1,nw(en)Hmnw(en) ⋅ H11H12⋮H1,n−1H1nH21H22⋮H2,n−1H2n⋯⋯⋱⋯⋯Hm−1,1Hm−1,2⋮Hm−1,n−1Hm−1,nHm1Hm2⋮Hm,n−1Hmn =[⋮]m×m