有很多不同的矩阵和算子的范数这在许多不同的环境中都很有用。一些矩阵规范,例如Schatten规范和Ky Fan规范,由于奇异值分解,很容易计算。然而,许多其他规范的计算,例如诱导p-范数(当p≠1,2,∞)为NP-hard。在本文中,我们将研究一种获得几乎所有矩阵范数相当好的估计值的通用方法。
其基本思想是,每个范数都可以写成凸集上凸函数的最大化(特别是,每个范可以写成对偶范数的单位球上的最大化)。然而,这种最大化通常很难处理或解析求解,因此它可以帮助将范数写成两个或多个更简单集合上的最大化,每个集合可以单独解决。为了说明这是如何工作的,让我们从诱导矩阵范数开始。
诱导矩阵范数
诱导p→ 矩阵B的q范数定义如下:
\(显示样式\|B\|_{p\rightarrow-q}:=\max\big\{\|B\ mathbf{x}\|_q:\|\mathbf}\|_p=1\big\},\)
哪里
\(\显示样式\|\mathbf{x}\|p:=\左(\sum_{i}|x_i|^p\右)^{1/p}\)
是向量p-范数。这些规范有三种特殊情况,易于计算:
- 当p=q=2时,这是B的通常算子范数(即其最大奇异值)。
- 当p=q=1时,这是最大的绝对列和:\(\|B\|_{1\rightarrow1}=\max_j\sum_i|B_{ij}|\)。
- 当p=q=∞时,这是最大的绝对行和:\(\|B\|_{\infty\rightarrow\infty}=\max_i\sum_j|B_{ij}|\)。
然而,除了这三种特殊情况(以及其他一些特殊情况,例如当B只有非负的实项[1]时)之外,这种规范要混乱得多。一般来说,它的计算是NP-hard[2],那么我们如何才能很好地了解它的值呢?好吧,我们将范数重写为以下双重最大化:
\(显示样式\|B\|{p\rightarrow-q}=\max\big\{|\mathbf{y}^*B\mathbf{x}|:\|\mathbf{x}\|_p=1,\|\mathbf{y}\|{q^\prime}=1\big\},\)
其中,\(q^\prime \)是正实数,即\(1/q+1/q^\prime=1)(如果\(q=\infty \),则取\(q_\prime=1,以及vice-versa)。这个想法是交替地一次最大化\(\mathbf{x}\)和\(\mathbf{y}\)。
- 首先设置\(j=1\)并固定一个随机选择向量\(mathbf{x} _0(0)\),缩放到\(\|\mathbf{x} _0(0)\|_{p} =1\)。
- 计算
\(\max\big\{|\mathbf{y}^*B\mathbf{x}_{j-1}|:\|\mathbf{y}\|{q^\prime}=1\big\},\)
保留\(\mathbf{x}_{j-1}\)固定,并让\(\mathbf{y} _j(_j)\)是达到这个最大值的向量。由霍尔德不等式,我们知道这个最大值正好等于\(\|B\mathbf{x}_{j-1})。此外,Hölder不等式的等式条件告诉我们向量\(\mathbf{y} _j(_j)\)达到这个最大值的是具有与\(B\mathbf)相同的复杂相的相{x}_{j-1}\),其震级为\(|\mathbf{y} _j(_j)|^{q^\prime}\)是\(|B\mathbf的倍数{x}_{j-1}|^q\)(这里的符号\(|\cdot|^q)表示我们取向量每个项的绝对值和q次幂)。
- 计算
\(\max\big\{|\mathbf{y} _j(_j)^*B\mathbf{x}|:\|\mathbf{x}\|_{p}=1\big\},\)
保留\(\mathbf{y} _j(_j)\)修复,并让\(\mathbf{x} _j(_j)\)是达到这个最大值的向量。通过一个几乎与步骤2相同的自变量,这个最大值等于\(\|B^*\mathbf{y} _j(_j)\|_{p^\prime}\),其中\(p^\prime\)是正实数,例如\(1/p+1/p^\prime=1\)。此外,向量\(\mathbf{x} _j(_j)\)达到这个最大值的是具有与(B^*mathbf)相同的复相的{y} _j(_j)\),其震级为\(|\mathbf{x} _j(_j)|^p\)是\(|B^*\mathbf的倍数{y} _j(_j)|^{p^\prime}\)。
- 将\(j)增加1,然后返回步骤2。重复上述步骤,直到每次迭代后获得可忽略不计的收益。
该算法运行速度极快,因为Hölder不等式精确地告诉我们如何分别求解两个最大化,所以我们只剩下在每个步骤执行简单的向量计算。这种算法的缺点是,即使它总是收敛到一些局部最大值,它可能收敛到一个小于真实诱导p的值→ q范数。然而,在实践中,该算法的速度足够快,可以使用不同的(随机选择)起始向量运行数千次{x} _0(0)\)以非常好地了解\(B\_{p\rightarrowq}\)的值。
值得注意的是,该算法与[3]中提出的算法基本相同,并简化为功率法用于在p=q=2时找到最大奇异值。此算法已在QETLAB包作为MATLAB的诱导矩阵范数功能。
诱导Schatten超算子规范
超算子上也有一个自然的诱导范数家族(即线性映射(Phi:M_n\rightarrow M_n))。首先,对于矩阵(M_n中的X),我们定义其Schatten p-范数为其奇异值向量的p范数:
\(\|X\|p:=\左(\sum_{i=1}^n\sigma_i(X)^p\右)^{1/p}。)
Schatten p-范数的三种特殊情况包括:
- p=1,通常称为“跟踪规范”或“核规范”,
- p=2,通常称为“Frobenius范数”或“Hilbert–Schmidt范数”,以及
- p=∞,这是通常的算子范数。
Schatten范数本身很容易计算(因为奇异值很容易计算),但它们的诱导计数器部分则不然。
给定一个超算子(Phi:M_n\rightarrowM_n),它的诱导Schatten p→ q范数定义如下:
\(\|\Phi\|_{p\rightarrow-q}:=\max\big\{\\|\Phi(X)\|_q:\|X\|_p=1\big\}.\)
这些诱导Schatten范数在[4]中进行了深入研究,并在量子信息理论(尤其是当p=q=1时)和算子理论(特别是当p=q=∞时)中频繁出现。一般来说,它们是NP-hard来计算的,这并不奇怪,因为当\(\Phi \)仅作用于\(X \)的对角线项并将非对角线项目清零时,它们会减少到诱导矩阵范数(前面讨论过)。然而,即使在p=q=1和p=q=∞的特殊情况下,该范数的计算似乎也很困难(然而,当p=q=2时,计算起来很简单)。
然而,我们可以使用与上一节讨论的方法基本相同的方法,从数值上获得对该范数值的良好估计。我们首先将范数重写为双重最大化,其中每个最大化都很容易单独处理:
\(\|\Phi\|_{p\rightarrow-q}=\max\big\{|\mathrm{Tr}(Y^*\Phi(X))|:\|X\|_p=1,\|Y\|_{q^\prime}=1\big\},\)
其中,(q^\prime)再次是满足(1/q+1/q^\prime=1)的正实数(或无穷大)。现在,我们将在\(X\)和\(Y\)上最大化,交替地一次一个,就像之前一样:
- 首先设置\(j=1\)并修复一个随机选择矩阵\(X_0\),并将其缩放为\(X_0\|_p=1\)。
- 计算
\(\max\big\{|\mathrm{Tr}(Y^*\Phi(X_{j-1})|:\|Y\|_{q^\prime}=1\big\},\)
保持(X_{j-1})固定,并让(Y_j)为达到此最大值的矩阵。由Schatten范数的Hölder不等式,我们知道这个最大值正好等于\(\|\Phi(X_{j-1})\|{q}\)。此外,达到这个最大值的矩阵是与(Phi(X_{j-1}))具有相同左右奇异向量的矩阵,其奇异值是一个常数(c\),使得所有(i\)的(sigma_i(Y_j)^{q^prime}=c\ sigma_ i(Phi,提升到(q^素数)次方是奇异值向量的倍数(Phi(X{j-1})),提升到(q次方)。
- 计算
\(\max\big\{|\mathrm{Tr}(Y_j^*\Phi(X)|:\|X\|{p}=1\big\},\)
保持(Y_j)不变,并让(X_j)是达到这个最大值的矩阵。通过基本上与步骤2中相同的参数,我们知道这个最大值正好等于\(\|\Phi^*(Y_j)\|_{p^\prime}\),其中\(\ Phi^*\)是希尔伯特-施密特内积此外,达到这个最大值的矩阵(X_j)具有与(Phi^*(Y_j))相同的左奇异向量和右奇异向量,并且其奇异值是一个常数(c\),因此对于所有\(i\),(\sigma_i(X_j)^{p}=c\sigma-i(\Phi^X(Y_j)))^{p ^prime}\)。
- 将\(j)增加1,然后返回步骤2。重复上述步骤,直到每次迭代后获得可忽略不计的收益。
上述算法与导出矩阵范数的算法几乎相同,但向量(mathbf{x})和(mathbf{y})的绝对值和复相位分别被矩阵(x)和(y)的奇异值和奇异向量所取代。整个算法的运行速度仍然非常快,因为每个步骤只需要计算一个奇异值分解。
与诱导矩阵范数算法一样,该算法的缺点是,我们无法保证该方法实际上会收敛到诱导Schatten p→ q范数;只是它会收敛到它的某个下限。然而,该算法在实践中运行得很好,并且速度足够快,我们可以简单地运行几千次,从而很好地了解范数的实际情况。如果您有兴趣使用该算法,它已在QETLAB中实现为诱导SchattenForm功能。
纠缠规范
用于前两类范数的中心思想也可用于获得处理量子纠缠时不时出现的以下范数的下限:
\(\|X\|_{S(1)}:=\max\Big\{\Big|(\mathbf{v}\otimes\mathbf{w})^*X(\mathbf{X}\otimes\mathbf{y})\Big|:\|\mathbf1{v}\ |=\|\mathbf{w}\
(作为旁注:这一规范以及其他类似规范是重点关注的我的论文.)这个范数已经被写成了双重最大化,所以前两节中提出的想法从一开始就更清楚了:我们固定随机生成的向量\(\mathbf{v}\)和\(\mathbf{x}\),然后在所有向量\(\mathbf{w}\)和\(\mathbf{y}\)上最大化,这可以通过计算与算子最大奇异值相关联的左奇异向量和右奇异向量来实现
\(((mathbf{v}\otimes I)^*X(mathbf{X}\otemes I)以M_n表示。)
然后,我们将(mathbf{w})和(mathbf{y})固定为这些奇异向量,然后对所有向量(mathbf1{v})以及(mathbf2x})进行最大化(这也是一个奇异值问题),我们来回迭代,直到收敛到某个值。
与先前的离散范数一样,该算法总是收敛的,并且收敛到(X{S(1)})的下界,但可能不是其精确值。如果你想让这个算法旋转,它已经在QETLAB中实现为sk_文字功能。
值得一提的是,该算法在几个不同的方向上进行了直接推广。例如,它可以用来找到范数\(\|\cdot\|_{S(k)}\)的下界,其中我们在左和右上通过纯态最大化施密特秩不大于k而不是可分离纯态,它可以用来寻找纠缠几何测度的下限[5]。
参考文献:
- D.斯坦伯格。矩阵范数的计算及其在稳健优化中的应用研究论文。Technion–以色列理工大学,2005年。
- J.M.Hendrickx和A.Olshevsky。如果p≠1,2,∞,矩阵p-范数是NP-hard近似的。2009.电子打印:arXiv:0908.1397
- D.W.博伊德。功率法ℓ第页规范。线性代数及其应用1974年9月95日至101日。
- J.瓦特鲁斯。关于Schatten范数诱导的超算子范数的注记。 量子信息与计算, 5(1):58–68, 2005. 电子打印:arXiv:quant-ph/0411077
- T.-C.Wei和P。M.戈德巴特。纠缠的几何测量及其在二部和多部量子态中的应用。物理复习A, 68:042307, 2003. 电子打印:arXiv:quant-ph/0212030