① 什么是双随机矩阵
满足三条约束:每行和 = 1、每列和 = 1、所有元素 >= 0。编辑下面 3x3 矩阵,观察约束是否成立。
② 2x2 情形:一条线段
2x2 双随机矩阵只有 1 个自由度:B(t) = [[t, 1-t], [1-t, t]],其中 t 属于 [0,1]。
t = 0.50
③ 3x3 情形:6 个置换矩阵顶点
3x3 的所有置换矩阵一共 6 个,它们是 Birkhoff 多面体的顶点。点击任意顶点,查看对应矩阵和投影位置。
当前顶点:P1
④ 凸组合:任意双随机矩阵都可分解
Birkhoff-von Neumann 定理:任意双随机矩阵可写为置换矩阵的非负加权和,且权重和为 1。
⑤ Sinkhorn:把任意正矩阵拉回双随机集合
交替执行行归一化与列归一化。点击按钮观察偏差如何收敛。
H = exp(M / tau)\nfor k in range(K):\n H = H / row_sum(H)\n H = H / col_sum(H)
⑥ mHC 中的作用:稳定混合残差流
在 mHC 中,H_res 被约束为双随机矩阵,可以在不显著放大信号的前提下完成多流通信。
矩阵约束作用
H_res双随机流与流之间的软重排,保证稳定混合
H_pre[0,1] 门控从多流读入主干计算
H_post[0,2] 门控把主干输出分发回多流
x_{l+1} = H_res x_l + H_post ⊙ F(H_pre x_l)
你可以把它理解为:先混流,再把主干计算结果按比例写回,整体比无约束混合更稳。