方阵的分解与矩阵的正交分解在面板数据空间计量,尤其是动态面板数据空间计量的数据转化中特别重要。
本次代码主要提供三种方式的矩阵分解代码供各位同行参考,包括方阵的LU分解(LU方法)、矩阵的QR正交分解(QR方法)、矩阵的SVD正交分解(奇异值分解法)。
更多精彩在连享会直播第4场:
代码自如下开始:
clc
clear all
%% 本代码由兰州大学经济学院范巧博士编写。
% 编写时间:2020年03月24日。
% 名称:方阵的分解与矩阵的正交分解
% 细节:基于LU方法的方阵分解;基于QR方法的矩阵正交分解;基于奇异值方法的矩阵正交分解
% 小范空间计量工作室版权所有,不得用于除学习以外的其他用途。
% 本代码基于MATLAB R2019a软件编写。
%% 待分解矩阵的随机生成
N = 31;
W0 = randi(2,N,N)-1;
W1 = W0-diag(W0).*eye(N);
W2 = tril(W1);
W3 = W2+W2';
T = 26;
NT = N*T;
W4 = kron(eye(T),W3);
%% 基于LU分解法的方阵分解
% W4须为方阵;L为下三角矩阵,U为上三角矩阵
W5 = W4'*W4;
[L,U] = lu(W5);
%% 基于QR分解方法的矩阵正交分解
% Q'Q为单位矩阵,R为上三角矩阵
[Q,R] = qr(W4);
%% 基于奇异值分解法的矩阵正交分解
% S和D互为正交矩阵,V为对角矩阵。
[S,V,D] = svd(W4);