【矩阵分析】向量求和转为矩阵

B = [ B 1 , B 2 , ... , B N ] T ∈ R N × 1 \boldsymbol B = [B_1,B_2,\dots,B_N]^T \in \mathbb{R}^{N \times 1} B=[B1,B2,...,BN]T∈RN×1, W = [ W 1 , W 2 , ... , W N ] T ∈ R N × N r \boldsymbol W = [\boldsymbol W_1,\boldsymbol W_2,\dots,\boldsymbol W_N]^T \in \mathbb{R}^{N \times N_r} W=[W1,W2,...,WN]T∈RN×Nr, H = [ H 1 , H 2 , ... , H N ] T ∈ R N × N r \boldsymbol H = [\boldsymbol H_1,\boldsymbol H_2,\dots,\boldsymbol H_N]^T \in \mathbb{R}^{N \times N_r} H=[H1,H2,...,HN]T∈RN×Nr

将 ∑ n ∈ N ( W n H n B n ) \sum_{n \in \mathcal{N}}(\boldsymbol W_n \boldsymbol H_nB_n) ∑n∈N(WnHnBn)写成矩阵形式
∑ n ∈ N ( W n H n B n ) = Tr ( W ⊤ diag ( B ) H ) \sum_{n \in \mathcal{N}} (\boldsymbol{W}_n \boldsymbol{H}_n B_n) =\text{Tr}(\boldsymbol{W}^\top \text{diag}(\boldsymbol{B}) \boldsymbol{H}) ∑n∈N(WnHnBn)=Tr(W⊤diag(B)H)

代码验证

matlab 复制代码
% 定义参数
N = 5; % 样本数
Nr = 3; % 每个向量的列维度

% 随机生成矩阵和向量
W = rand(N, Nr);  % N x Nr 矩阵
H = rand(N, Nr);  % N x Nr 矩阵
B = rand(N, 1);   % N x 1 列向量

% 逐项求和方式计算
sum_result = 0;
for n = 1:N
    sum_result = sum_result + W(n, :) * H(n, :)' * B(n);
end

% 矩阵形式计算
diag_B = diag(B); % 对角矩阵
trace_result = trace(W' * diag_B * H);

% 显示结果
disp('逐项求和结果:');
disp(sum_result);
disp('矩阵形式结果:');
disp(trace_result);

% 验证是否相等
if abs(sum_result - trace_result) < 1e-10
    disp('验证成功:两者相等!');
else
    disp('验证失败:两者不相等!');
end
相关推荐
flashlight_hi10 小时前
LeetCode 分类刷题:74. 搜索二维矩阵
python·算法·leetcode·矩阵
一袋米扛几楼9814 小时前
【机器学习】混淆矩阵(confusion matrix)TP TN FP FN
人工智能·机器学习·矩阵
一水鉴天14 小时前
整体设计 逻辑系统程序 之14 彻底分析了的四类文字/三种数字/三套符号
线性代数
WWZZ20251 天前
ORB_SLAM2原理及代码解析:单应矩阵H、基础矩阵F求解
线性代数·算法·计算机视觉·机器人·slam·基础矩阵·单应矩阵
zhangfeng11331 天前
R语言 表达矩阵 count_table 筛选出 行名是 某个 基因的 数据或者某个列中的数据是某个基因的数据
矩阵·r语言·生物信息
FS_tar3 天前
高斯消元矩阵
c++·算法·矩阵
云手机掌柜3 天前
技术深度解析:指纹云手机如何通过设备指纹隔离技术重塑多账号安全管理
大数据·服务器·安全·智能手机·矩阵·云计算
agilearchitect3 天前
MATLAB线性代数函数完全指南
线性代数·其他·决策树·matlab
没书读了4 天前
考研复习-线性代数强化-向量组和方程组特征值
python·线性代数·机器学习
A尘埃6 天前
线性代数(标量与向量+矩阵与张量+矩阵求导)
python·线性代数·矩阵