
very amazing啊,這說明什么,這說明我們想要實現(xiàn) t-product積 不用費勁的去搞循環(huán)矩陣,也不用去搞什么分塊展開再折疊,我們要做的只是, 傅立葉變換--相乘--傅立葉逆變換 ?。。?/p>
** PART.1 流程講解**
原本的t-QR分解流程:

** PART.2 MATLAB實現(xiàn)**
原始版本t-product
function C=t_prod(A,B)
% @author:slandarer
% 用于進行張量t-product積
% A*B=fold(bcirc(A)·unfold(B))
% 獲取張量大小
[l,p,n]=size(A);dimA=[l,p,n];
[p,m,n]=size(B);dimB=[p,m,n];
dimC=[l,m,n];
if dimA(2)~=dimB(1) || dimA(3)~=dimB(3)
error('Inner tensor dimensions must agree.');
end
% 對A,B進行unfold展開操作
ufold_A=reshape(permute(A,[2,1,3]),dimA(2),[])';
ufold_B=reshape(permute(B,[2,1,3]),dimB(2),[])';
% 對A構(gòu)建循環(huán)矩陣
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]);
end
fft版本t-product
function C=t_prod_fft(A,B)
% @author:slandarer
% 基于快速傅立葉變換的張量t-product積
if size(A,2)~=size(B,1) || size(A,3)~=size(B,3)
error('Inner tensor dimensions must agree.');
end
fftA=fft(A,[],3);
fftB=fft(B,[],3);
fftC=zeros([size(A,1),size(B,2),size(A,3)]);
for i=1:size(A,3)
fftC(:,:,i)=fftA(:,:,i)*fftB(:,:,i);
end
C=ifft(fftC,[],3);
end
比較測試
% test t-product
addpath('.t_product')
A=zeros(2,3,3);
A(:,:,1)=[1 2 3; 3 4 5];
A(:,:,2)=[5 6 7; 7 8 9];
A(:,:,3)=[9 10 11;11 12 13];
B=zeros(3,2,3);
B(:,:,1)=[1 2; 3 4; 5 6];
B(:,:,2)=[5 6; 7 8; 9 10];
B(:,:,3)=[9 10;11 12;13 14];
tic
C1=t_prod(A,B)
toc
tic
C2=t_prod_fft(A,B)
toc
C1(:,:,1) =
438 492
564 636
C1(:,:,2) =
438 492
564 636
C1(:,:,3) =
294 348
420 492
歷時 0.005764 秒。
C2(:,:,1) =
438 492
564 636
C2(:,:,2) =
438 492
564 636
C2(:,:,3) =
294 348
420 492
歷時 0.001014 秒。
可以發(fā)現(xiàn)結(jié)果完全相同,而fft版本代碼更簡短,而且因為省去了循環(huán)矩陣創(chuàng)建等操作,運行速度也相較于原始版本更快。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
比較器
+關(guān)注
關(guān)注
14文章
1926瀏覽量
111744 -
FFT
+關(guān)注
關(guān)注
15文章
457瀏覽量
62811 -
MATLAB仿真
+關(guān)注
關(guān)注
4文章
176瀏覽量
20849 -
傅立葉變換
+關(guān)注
關(guān)注
3文章
105瀏覽量
33197
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
請問Vivado是否自動包含另一種算法?
explore'而不是'default'。該文檔解釋'積極探索'正在使用替代選擇。算法。Vivado是否自動包含另一種算法?
發(fā)表于 11-06 09:32
介紹藍牙通信的另一種方式--BLE
今天我們介紹藍牙通信的另一種方式--BLE(Bluetooth Low Energy,藍牙低功耗)。什么是BLE在《無線通信3:HC05/HC06經(jīng)典藍牙B...
發(fā)表于 12-13 06:50
大功率氙氣燈成為節(jié)能照明的另一種可能
當下,一提起照明行業(yè)的節(jié)能減排,大多數(shù)人會聯(lián)想到LED產(chǎn)業(yè)。不過,還有這么一群人,他們另辟蹊徑,讓“大功率氙氣燈”成為照明行業(yè)的另一種可能。
發(fā)表于 11-25 11:41
?2220次閱讀
以另一種姿態(tài)......谷歌正在以另一種方式重返中國
谷歌一直沒有放棄中國市場,并且多次試圖重返,但是由于不符合我國相關(guān)規(guī)定,所以沒有成功。網(wǎng)絡(luò)上一直傳2017谷歌將重回中國,但是目前看來都是謠言。雖然谷歌始終不能一下重返,但是它正在另一種
發(fā)表于 08-15 09:40
?2413次閱讀
一種通過張量積圖擴散的醫(yī)學圖像檢索
針對醫(yī)學圖像檢索中相似性表達的自身困難,以及噪聲影響的問題,提出一種通過張量積圖進行擴散,利用其他數(shù)據(jù)點的上下信息改進基于紋理元的成對相似性度量的方法。首先,采用紋理元的統(tǒng)計方法進行醫(yī)學圖像特征描述
發(fā)表于 12-22 17:09
?1次下載
卡博菲推出了另一種創(chuàng)新的安裝方式:整合配線架安裝
常見的網(wǎng)格式橋架的安裝方式有吊裝、墻裝、地板下安裝、機柜直接安裝等等,但這次在中石油數(shù)據(jù)中心的項目中,針對客戶的需求進行研究后,卡博菲推出了另一種創(chuàng)新的安裝方式:整合配線架安裝。
轉(zhuǎn)換器(converter)是指將一種信號轉(zhuǎn)換成另一種信號的裝置
轉(zhuǎn)換器(converter)是指將一種信號轉(zhuǎn)換成另一種信號的裝置。信號是信息存在的形式或載體。在自動化儀表設(shè)備和自動控制系統(tǒng)中,常將一種信號轉(zhuǎn)換成另一種與標準量或參考量比較后的信號,以
快速演奏和緊湊即興演奏的另一種失真天河扭曲
電子發(fā)燒友網(wǎng)站提供《快速演奏和緊湊即興演奏的另一種失真天河扭曲.zip》資料免費下載
發(fā)表于 07-22 15:00
?0次下載
所有行業(yè)的數(shù)據(jù)采集:雙極性輸入的另一種配置
在今天的文章中,我們將介紹差動放大器配置,這是將ADAQ798x與雙極性輸入信號接口的另一種方式。這種配置可用于具有寬輸入電壓范圍和帶寬的雙極性信號。我們將了解如何為任何給定的輸入范圍選擇所需的外部元件,以及它們?nèi)绾斡绊懫渌?guī)格,如輸入阻抗、噪聲和直流誤差。
MATLAB | 這是我見過最離譜的轉(zhuǎn)置操作
注:此轉(zhuǎn)置操作與 t-product 積相對應,在其他類型張量運算中的轉(zhuǎn)置操作可能有不同的定義方式,請注意區(qū)分。
張量t-product積還有另一種實現(xiàn)方式?
評論