随机矩阵系列
随机矩阵的二阶等价结果
文章目录
前言
本文仿真了一阶等价和二阶等价结果
一、主要目的
X
=
C
1
2
Z
X = C^{\frac{1}{2}}Z
X=C21Z
Z
∈
N
(
0
,
I
p
)
Z \in N(0,I_p)
Z∈N(0,Ip)
求
Q
(
z
)
=
(
1
n
X
X
T
−
z
I
p
)
Q(z) = (\frac{1}{n}XX^T - zI_p)
Q(z)=(n1XXT−zIp)和
Q
(
z
1
)
M
Q
(
z
2
)
Q(z_1)MQ(z_2)
Q(z1)MQ(z2)的确定性等价。
二、简化情况 C = I p C = I_p C=Ip
1. Q ‾ ( z ) \overline{Q}(z) Q(z)
RMT 有如下结果: Q ‾ ( z ) = − 1 z ( I p + m ~ ( z ) C ) − 1 \overline{Q}(z) = -\frac{1}{z}(I_p + \tilde{m}(z)C)^{-1} Q(z)=−z1(Ip+m~(z)C)−1
m ~ p ( z ) = ( − z + 1 n t r ( C ( I p + m ~ p ( z ) C ) ) ) − 1 \tilde{m}_p(z) = (-z + \frac{1}{n}tr(C(I_p + \tilde{m}_p(z)C)))^{-1} m~p(z)=(−z+n1tr(C(Ip+m~p(z)C)))−1
close all; clear; clc
coeffList = 1:10;
LoopNum = 50;
Res = zeros(length(coeffList),1);
temp1 = zeros(1,LoopNum);
for ii = 1:length(coeffList)
disp(ii)
for Loop_i = 1:LoopNum
[~,~,temp1(Loop_i)]= GetfirstQ(coeffList(ii));
end
Res(ii,1) = mean(temp1);
end
plot(coeffList,abs(Res).')
function [Q_bar1,Q1,error1] = GetfirstQ(coeff)
p = 100*coeff;
n = 1000*coeff;
eigs_C = [ones(p,1)];
C = eye(p);
Z = randn(p,n);
X = sqrtm(C)*Z;
SCM = X*(X')/n;
clear i % make sure i stands for the imaginary unit
z1 = 2 + 1i;
[Q_bar1,Q1,error1] = SolveQbar(z1,eigs_C,n,p,C,SCM);
end
function [Q_bar,Q,error]= SolveQbar(z,eigs_C,n,p,C,SCM)
%UNTITLED2 此处提供此函数的摘要
% 此处提供详细说明
tilde_m = 0;
tilde_m_tmp=-1;
while abs(tilde_m-tilde_m_tmp)>1e-6
tilde_m_tmp=tilde_m;
tilde_m = 1/( -z + 1/n*sum(eigs_C./(1+tilde_m*eigs_C)) );
end
Q_bar = -1/z * inv(eye(p) + tilde_m * C);
Q = inv(SCM - z *eye(p));
error = trace(Q_bar - Q)/p;
end
结果如下,一阶没有问题(横轴p n 增加,纵轴误差)
2. Q ( z 1 ) M Q ( z 2 ) Q(z_1)MQ(z_2) Q(z1)MQ(z2)
E [ Q ( z 1 ) M Q ( z 2 ) ] = Q ‾ ( z 1 ) M Q ‾ ( z 2 ) + Q ‾ ( z 1 ) C Q ‾ ( z 2 ) f ( z 1 , z 2 ) E[Q(z_1)MQ(z_2)] = \overline{Q}(z_1)M\overline{Q}(z_2) +\overline{Q}(z_1)C\overline{Q}(z_2) f(z_1,z_2) E[Q(z1)MQ(z2)]=Q(z1)MQ(z2)+Q(z1)CQ(z2)f(z1,z2)
f
(
z
1
,
z
2
)
=
1
n
t
r
(
C
Q
‾
(
z
1
)
M
Q
‾
(
z
2
)
)
1
−
1
n
t
r
(
C
Q
‾
(
z
1
)
C
Q
‾
(
z
2
)
)
(
1
+
1
n
t
r
(
C
Q
‾
(
z
1
)
)
)
(
1
+
1
n
t
r
(
C
Q
‾
(
z
2
)
)
)
(
1
+
1
n
t
r
(
C
Q
‾
(
z
1
)
)
)
(
1
+
1
n
t
r
(
C
Q
‾
(
z
2
)
)
)
∈
C
f(z_1,z_2) = \frac{\frac{\frac{1}{n}tr(C\overline{Q}(z_1)M\overline{Q}(z_2))}{1 - \frac{\frac{1}{n}tr(C\overline{Q}(z_1)C\overline{Q}(z_2))}{(1 + \frac{1}{n}tr(C\overline{Q}(z1)))(1 + \frac{1}{n}tr(C\overline{Q}(z2)))}}}{(1 + \frac{1}{n}tr(C\overline{Q}(z1)))(1 + \frac{1}{n}tr(C\overline{Q}(z2)))} \in C
f(z1,z2)=(1+n1tr(CQ(z1)))(1+n1tr(CQ(z2)))1−(1+n1tr(CQ(z1)))(1+n1tr(CQ(z2)))n1tr(CQ(z1)CQ(z2))n1tr(CQ(z1)MQ(z2))∈C
不是简单的
E
[
Q
(
z
1
)
M
Q
(
z
2
)
]
=
Q
‾
(
z
1
)
M
Q
‾
(
z
2
)
E[Q(z_1)MQ(z_2)] = \overline{Q}(z_1)M\overline{Q}(z_2)
E[Q(z1)MQ(z2)]=Q(z1)MQ(z2)
下面仿真有无第二项的区别
代码如下(示例):
coeffList = 1:10;
LoopNum = 100;
Res = zeros(length(coeffList),2);
temp1 = zeros(1,LoopNum);
temp2 = zeros(1,LoopNum);
for ii = 1:length(coeffList)
disp(ii)
for Loop_i = 1:LoopNum
[temp1(Loop_i),temp2(Loop_i)]= Solveerror(coeffList(ii));
end
Res(ii,1) = mean(temp1);
Res(ii,2) = mean(temp2);
end
plot(coeffList,abs(Res(:,1)).');
hold on;
plot(coeffList,abs(Res(:,2)).');
legend('Only first item','first plus second item')
结果如下:
上面是 z 1 = z 2 z_1 = z_2 z1=z2的情况,若 z 1 ≠ z 2 z_1\neq z_2 z1=z2,结果类似
三、简化情况 C ≠ I p C \neq I_p C=Ip
一阶等价
二阶等价
所以实际上正确的确定性等价是很小的,第二项也是不可忽略的
总结
考虑的 C = I p C = I_p C=Ip和 C ≠ I p C \neq I_p C=Ip情况