张量 t-product 积(matlab代码)

参考文献:Tensor Robust Principal Component Analysis with a New Tensor Nuclear Norm

首先是文章2.3节中 t-product 的定义:

块循环矩阵:

参考知乎博主的例子及代码:(t-product与t-QR分解,另一篇傅里叶对角化也很值得学习)

Matlab 复制代码
% A=zeros([3,2,2]);
% B=zeros([2,1,2]);
% 
% A(:,:,1)=[1 0;0 2;-1 3];
% A(:,:,2)=[-2 1;-2 7;0 -1];
% 
% B(:,:,1)=[3;-1];
% B(:,:,2)=[-2;-3];

A=rand(3,2,5);
B=rand(2,1,5);

C=t_product(A,B)

function C=t_product(A,B)
    % @author:slandarer
    % 获取张量大小
    [l,p,n]=size(A);dimA=[l,p,n];
    [p,m,n]=size(B);dimB=[p,m,n];
    dimC=[l,m,n];
    
    % 对A,B进行unfold展开操作
    ufold_A=reshape(permute(A,[2,1,3]),dimA(2),[])';
    ufold_B=reshape(permute(B,[2,1,3]),dimB(2),[])';
    
    % 对A构建循环矩阵
    bcirc_A=zeros([l*n,p*n]);
    for i=1:n
        bcirc_A(:,(1:p)+(i-1)*p)=circshift(ufold_A,l*(i-1),1);
    end
    
    % bcirc(A)·unfold(B)
    AB=bcirc_A*ufold_B;
    
    % 还原张量维度
    C=ipermute(reshape(AB',dimC([2,1,3])),[2,1,3]);
    CC = fft(C, [], 3)   % 观察,张量C后n3-1个切片呈共轭对称
end
相关推荐
xailorliu1 小时前
SLIC_超像素算法
c++·opencv·目标检测·机器学习·计算机视觉
会议咨询6 小时前
2026年计算机技术、信息工程与机器学习国际会议(CIML 2026)
机器学习·计算机技术·信息工程
梦帮科技8 小时前
多任务权重流形融合:SLERP 球形线性插值、DARE 稀疏剪枝与多专家模型融合落地
人工智能·深度学习·算法·机器学习·tensorflow·聚类·剪枝
workflower8 小时前
世界模型向产业上游发掘的热点
人工智能·机器学习·机器人·云计算·无人机
喵本喵叁肆9 小时前
diffprivlib 实战(四):训练差分隐私机器学习模型——sklearn 一行换 import 就是 DP 版
人工智能·机器学习·sklearn
Omics Pro11 小时前
预测性虚拟细胞中显式机理算子
大数据·数据库·人工智能·python·算法·机器学习·自然语言处理
计算机源码社12 小时前
【大数据毕设项目】基于大数据与机器学习的北京市招标公告数据分析与可视化研究 面向智慧监管的北京市招标公告数据可视化分析系统
大数据·机器学习·信息可视化·数据挖掘·数据分析·毕业设计·课程设计
魔猴疯猿20 小时前
从0到1用Python开发第一个智能体
人工智能·python·深度学习·神经网络·机器学习
Yan-英杰21 小时前
2026年数据采集服务怎么选?4大主流平台(亮数据 Bright Data、Apify、ScrapingBee、Zyte)深度对比
人工智能·神经网络·microsoft·机器学习·ai开发工具
xiaoqi019521 小时前
机器学习因子分析实战:从量化特征到可视化决策
人工智能·python·机器学习