矩阵1-范数与二重求和的求和可交换

2024-05-31 23:36

本文主要是介绍矩阵1-范数与二重求和的求和可交换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

矩阵1-范数与二重求和的求和可交换

1、矩阵1-范数

A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] A = \begin{bmatrix} a_{11} &a_{12} &\cdots &a_{1n} \\ a_{21} &a_{22} &\cdots &a_{2n} \\ \vdots &\vdots &\ddots &\vdots \\ a_{n1} &a_{n2} &\cdots &a_{nn} \\ \end{bmatrix} A= a11a21an1a12a22an2a1na2nann

∣ ∣ A ∣ ∣ m 1 = ∑ i = 1 n ( ∑ j = 1 n ∣ a i j ∣ ) = ∑ j = 1 n ( ∑ i = 1 n ∣ a i j ∣ ) ||A||_{m1} = \sum_{i=1}^{n} (\sum_{j=1}^{n}|a_{ij}|) = \sum_{j=1}^{n} (\sum_{i=1}^{n}|a_{ij}|) ∣∣Am1=i=1n(j=1naij)=j=1n(i=1naij)

2、二重求和的求和符号可交换

对于矩阵1-范数而言,求和符号交换前后是按行求和按列求和的区别。本质上都是把每个元素取模并相加。

再讨论一个例子,自相关函数 r ( m ) r(m) r(m)

对于一个广义平稳离散时间随机过程 u ( n ) u(n) u(n)而言,其自相关函数定义为:
r ( m ) = E { u ( n ) u ∗ ( n − m ) } = ∫ ∫ u ( n ) u ∗ ( n − m ) p ( u n , u n − m ; n , n − m ) d u n d u n − m r(m) = E\{u(n)u^*(n-m)\} = \int\int u(n)u^*(n-m)p(u_n,u_{n-m};n,n-m)\mathrm{d}u_n \mathrm{d}u_{n-m} r(m)=E{u(n)u(nm)}=∫∫u(n)u(nm)p(un,unm;n,nm)dundunm
其中 E E E​是求期望, p ( ) p() p()表示联合概率密度函数。积分范围是 u ( n ) u(n) u(n)的值域,作为离散时间信号,值域不一定是离散的,值域经过量化后称为“数字信号”。

假设观测了N个采样点,那么可以得到 u ( n ) u(n) u(n)的离散傅立叶变换DFT:
U ( k ) = ∑ n = 0 N − 1 u ( n ) e − j 2 π N k n U(k) = \sum_{n=0}^{N-1} u(n) e^{-j\frac{2\pi}{N}kn} U(k)=n=0N1u(n)ejN2πkn
在信号处理领域,通常会从0开始编号,也比较符合实际,电路采样一般从一个时钟上升边沿开始算起。

当我们考虑 U ( k ) U(k) U(k)的自相关函数的时候:
r U ( m ) = E { U ( k ) U ∗ ( k − m ) } = E { ∑ n = 0 N − 1 u ( n ) e − j 2 π N k n ∑ l = 0 N − 1 u ( l ) e j 2 π N ( k − m ) l } r_U(m) = E\{U(k)U^*(k-m)\} = E\{\sum_{n=0}^{N-1} u(n) e^{-j\frac{2\pi}{N}kn}\sum_{l=0}^{N-1} u(l) e^{j\frac{2\pi}{N}(k-m)l}\} rU(m)=E{U(k)U(km)}=E{n=0N1u(n)ejN2πknl=0N1u(l)ejN2π(km)l}
注意到这里出现了两个和相乘的形式,那么根据多项式乘法规则,应该得到 N 2 N^2 N2项之和。

这个时候就可以写成:
r U ( m ) = E { ∑ n = 0 N − 1 ∑ l = 0 N − 1 u ( n ) u ( l ) e − j 2 π N k n e j 2 π N ( k − m ) l } r_U(m) =E\{\sum_{n=0}^{N-1} \sum_{l=0}^{N-1} u(n)u(l) e^{-j\frac{2\pi}{N}kn} e^{j\frac{2\pi}{N}(k-m)l}\} rU(m)=E{n=0N1l=0N1u(n)u(l)ejN2πknejN2π(km)l}

抽象一下:

考虑两个序列 a = ( a 1 , a 2 , ⋯ , a n ) T a = (a_1,a_2,\cdots,a_n)^T a=(a1,a2,,an)T b = ( b 1 , b 2 , ⋯ , b n ) T b=(b_1,b_2,\cdots,b_n)^T b=(b1,b2,,bn)T的1-范数相乘,
∣ ∣ a ∣ ∣ 1 ⋅ ∣ ∣ b ∣ ∣ 1 = ∑ i = 1 n ∣ a i ∣ ∑ j = 1 n ∣ b j ∣ = ∑ i = 1 n ∑ j = 1 n ∣ a i ∣ ∣ b j ∣ = ∑ i = 1 n ∑ j = 1 n ∣ a i b j ∣ ||a||_1\cdot ||b||_1 = \sum_{i=1}^n|a_i| \sum_{j=1}^n |b_j| = \sum_{i=1}^n \sum_{j=1}^n |a_i||b_j| = \sum_{i=1}^n \sum_{j=1}^n |a_ib_j| ∣∣a1∣∣b1=i=1naij=1nbj=i=1nj=1nai∣∣bj=i=1nj=1naibj
实际上可以表示成一个矩阵:
[ a 1 b 1 a 1 b 2 ⋯ a 1 b n a 2 b 1 a 2 b 2 ⋯ a 2 b 2 ⋮ ⋮ ⋱ ⋮ a n b 1 a n b 2 ⋯ a n b n ] \begin{bmatrix} a_1 b_1 &a_1 b_2 &\cdots &a_1 b_n \\ a_2 b_1 &a_2 b_2 &\cdots &a_2 b_2 \\ \vdots &\vdots &\ddots &\vdots \\ a_n b_1 &a_n b_2 &\cdots &a_n b_n \\ \end{bmatrix} a1b1a2b1anb1a1b2a2b2anb2a1bna2b2anbn

再考虑这个问题的反面,即有没有二重求和是不能交换求和顺序的呢?

对于数值函数的二重积分,二重积分的值与积分次序无关要求积分区域既可表示成X-型区域,又可表示成Y-型区域。

对于二重求和而言,相当于对于一个矩形区域,变积分为求和。所以对于大多数情况而言,二重求和都是可以交换求和顺序的。(没有说得很绝对,因为这还仅仅是我自己的考虑,没有去考证)

这篇关于矩阵1-范数与二重求和的求和可交换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1019361

相关文章

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

《数据结构(C语言版)第二版》第八章-排序(8.3-交换排序、8.4-选择排序)

8.3 交换排序 8.3.1 冒泡排序 【算法特点】 (1) 稳定排序。 (2) 可用于链式存储结构。 (3) 移动记录次数较多,算法平均时间性能比直接插入排序差。当初始记录无序,n较大时, 此算法不宜采用。 #include <stdio.h>#include <stdlib.h>#define MAXSIZE 26typedef int KeyType;typedef char In

hdu 6198 dfs枚举找规律+矩阵乘法

number number number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description We define a sequence  F : ⋅   F0=0,F1=1 ; ⋅   Fn=Fn

【数据结构入门】排序算法之交换排序与归并排序

前言         在前一篇博客,我们学习了排序算法中的插入排序和选择排序,接下来我们将继续探索交换排序与归并排序,这两个排序都是重头戏,让我们接着往下看。  一、交换排序 1.1 冒泡排序 冒泡排序是一种简单的排序算法。 1.1.1 基本思想 它的基本思想是通过相邻元素的比较和交换,让较大的元素逐渐向右移动,从而将最大的元素移动到最右边。 动画演示: 1.1.2 具体步

1 模拟——67. 二进制求和

1 模拟 67. 二进制求和 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 示例 1:输入:a = "11", b = "1"输出:"100"示例 2:输入:a = "1010", b = "1011"输出:"10101" 算法设计 可以从低位到高位(从后向前)计算,用一个变量carry记录进位,如果有字符没处理完或者有进位,则循环处理。两个字符串对

线性代数|机器学习-P35距离矩阵和普鲁克问题

文章目录 1. 距离矩阵2. 正交普鲁克问题3. 实例说明 1. 距离矩阵 假设有三个点 x 1 , x 2 , x 3 x_1,x_2,x_3 x1​,x2​,x3​,三个点距离如下: ∣ ∣ x 1 − x 2 ∣ ∣ 2 = 1 , ∣ ∣ x 2 − x 3 ∣ ∣ 2 = 1 , ∣ ∣ x 1 − x 3 ∣ ∣ 2 = 6 \begin{equation} ||x

【线性代数】正定矩阵,二次型函数

本文主要介绍正定矩阵,二次型函数,及其相关的解析证明过程和各个过程的可视化几何解释(深蓝色字体)。 非常喜欢清华大学张颢老师说过的一段话:如果你不能用可视化的方式看到事情的结果,那么你就很难对这个事情有认知,认知就是直觉,解析的东西可以让你理解,但未必能让你形成直觉,因为他太反直觉了。 正定矩阵 定义 给定一个大小为 n×n 的实对称矩阵 A ,若对于任意长度为 n 的非零向量 ,有 恒成

Leetcode67---二进制求和

https://leetcode.cn/problems/add-binary/description/ 给出的两个二进制,我们可以从最后开始往前运算。 给当前短的一位前面补充0即可。 class Solution {public String addBinary(String a, String b) {//给的就是二进制字符串 最后一位开始遍历 如果没有就补充0?StringBuil

python科学计算:NumPy 线性代数与矩阵操作

1 NumPy 中的矩阵与数组 在 NumPy 中,矩阵实际上是一种特殊的二维数组,因此几乎所有数组的操作都可以应用到矩阵上。不过,矩阵运算与一般的数组运算存在一定的区别,尤其是在点积、乘法等操作中。 1.1 创建矩阵 矩阵可以通过 NumPy 的 array() 函数创建。矩阵的形状可以通过 shape 属性来访问。 import numpy as np# 创建一个 2x3 矩阵mat

不设临时变量交换a,b的值

常规的做法: int tmp = a; a = b; b = tmp; 不设中间变量的方法: a = a + b; b = a - b; a = a - b;