9.5 基于奇异值的范数

樊畿k-范数

  把矩阵的奇异值从大到小排列,前k个奇异值的和就是Ky Fan k-norm。Ky Fan是樊畿的英文名。用公式定义如下:
∥ A ∥ ( k ) = ∑ i = 1 k σ i ↓ \parallel A \parallel_{(k)}=\sum_{i=1}^k\sigma_i^{\downarrow} A(k)=i=1kσi
  当 k = 1 k=1 k=1时就是矩阵的2-范数,当 k = n k=n k=n时等于沙滕1-范数。因为定义简单,所以python代码也简单:

    # 樊畿范数
    def ky_fan_norm(self, k):
        values = self.sigular_values()
        values = sorted(values)
        result = 0
        n = len(values)
        for i in range(n - 1, n - k - 1, -1):
            result += values[i]
        return result

沙滕p-范数

  沙滕p-范数Schatten p-norm,又叫沙滕范数。它是基于奇异值定义的范数。其定义如下:
∥ A ∥ S p = ( ∑ i = 1 n σ i p ) 1 p \parallel A \parallel_{Sp}=(\sum_{i=1}^n\sigma_i^p)^{\frac1{p}} ASp=(i=1nσip)p1
  注意:沙滕-p范数不是矩阵的p-范数。举个例子,矩阵的2-范数是最大奇异值,但是沙滕2-范数却是矩阵的Frobenius范数。根据定义,计算沙滕p-范数的代码如下:

    # 沙滕范数
    def schatten_norm(self, p):
        values = self.sigular_values()
        result = 0
        for value in values:
            result += value ** p
        return result ** (1 / p)

核范数

  核范数nuclear norm又叫迹范数* trace norm*,就是沙滕1-范数,也是樊畿-n范数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醒过来摸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值