课程主页:https://see.stanford.edu/Course/EE263

这次回顾EE263作业9。

14.16

(a)注意到

所以

因此

(b)

所以

(c)假设$A$的满奇异值分解为

由(b)可得

所以

14.26

(a)将卷积写成矩阵形式,记

其中

所以

另一方面

所以

我们的目标是最大化

将其化为条件约束问题

构造拉格朗日乘子

求梯度可得

第一个式子说明

带入原式得到

如果$C^TC$可逆,那么第一个式子可以化为

所以$\lambda$是$E$的特征值,因此

(b)

c = [  0.0455; -0.2273; -0.0455;  0.2727;  0.4545;  0.4545;  0.2727; -0.0455; -0.2273;  0.0455;];
k = 1;
n = length(c);
A = zeros(n, n);
B = zeros(n - 1, n);
for i = 1: n
    for j = 1:i
        A(i, j) = c(i + 1 - j)
    end
end

for i = 1: (n - 1)
    for j = 1 : (n - i)
        B(i, j + i) = c(n + 1 - j)
    end
end

C = [A; B];
D = [zeros(2 * k + 1, n - k - 1), eye(2 * k + 1), zeros(2 * k + 1, n - k - 1)];
%E = inv(C' * C) * (C' * D' * D * C);
E = (C' * C) \ (C' * D' * D * C);
Eig = eig(E);
res = max(Eig)
0.9375

15.2

(a)回顾定义

显然

所以

等价于

等价于$A$的SVD为

显然$ UV^T$为正交矩阵,所以结论成立。

15.3

假设$A$的SVD为

其中

那么$A^{-1}$的SVD为

不难看出

所以

注意到

所以等号可以成立。

15.6

要使得$\rho $最小化,等价于最小化

假设$Y$的奇异值分解为

那么

要使得上式最大,只要取$q =u_n$即可,此时

15.8

(a)

对于固定的$t$,对$e^{tA}$做奇异值分解

注意到约束条件为$|x(0)|=1$,所以要使得$x(t)$模最大上式最大,必然有

要使得$x(t)$模最大上式最小,必然有

(b)

expA = expm(3 * A);
[U, S, V] = svd(expA);
% (a)
x0_1 = V(:, 1);

% (b)
x0_2 = V(:, 5);

15.10

(a)注意到,如果

那么可以利用距离判别。

如果

则输出结果为$s_1$,否则输出结果为$s_2$。

注意到上式等价于

我们希望在下式最小的情形下达到最开始的条件

假设$A$的SVD为

那么利用SVD的性质可得,只要选择

即可,带入原式可得

所以

此时

(b)

A = [2 4 5 4 5;    0 5 7 7 1;    7 8 0 6 7;     7 0 4 9 4;    9 1 1 8 7];
Vmax = 3;
[U, S, V] = svd(A);
k = Vmax / S(1, 1);
s1 = k * V(:, 1)
s2 = - k * V(:, 1)
s1 =
   -0.0606
   -0.0373
   -0.0312
   -0.0746
   -0.0549
s2 =
    0.0606
    0.0373
    0.0312
    0.0746
    0.0549

15.11

(a)回顾结论,我们有

其中

要使得$x(T)=0$,只要

可用如下方式判定

找到$T$之后,现在要求下式的最小范数解

利用SVD的性质,我们可得

A = [1, 0, 0, 0; 1, 1, 0, 0; 0, 1, 1, 0; 1, 0, 0, 0];
B = [0, 1; 0, 1; 1, 0; 0, 0];
x0 = [1; 0; -1; 1];
T = 1;
C = B;
tmp = B;
x = A * x0;

while true
    if rank(C) == rank([C, x])
        break
    end
    x = A * x;
    tmp = A * tmp;
    C = [C, tmp];
    T = T + 1;
end

% (a)
u = - pinv(C) * x;
J1 = norm(u) ^ 2

(b)利用第7,8讲的内容求解该问题。

构造损失函数

对每个$\rho$,我们最小化该损失函数。注意我们有

所以

最优解为

我们找到$\rho$,使得

然后计算相应的$U$即可。

% (b)
C = [];
tmp = B;
x10 = x0;
for i = 1:10
    C = [C, tmp];
    tmp = A * tmp;
    x10 = A * x10;
end

P = C;
v = - x10;
[m, n] = size(P);
N = 100;
Lambda = logspace(1, -1, N);
res = zeros(1, N);
for i = 1: N
    lambda = Lambda(i);
    u = inv(eye(n) + lambda * P' * P) * lambda * P' * v;
    res(i) = norm(P * u - v) - 0.1;
    if i > 1 && res(i) * res(i - 1) < 0
        u_res = u;
        %break;
    end
end

J9 = norm(u_res) ^ 2;
plot(res);