資源簡介
利用有限域下矩陣的模乘運算的周期性,計算一般化Android置亂的周期
經典的Android置亂(即仿射矩陣為[1,1;1,2]的情況)也包含在內
可應用于2D數據的一般Android置亂周期的計算,例如圖像置亂
參考文獻:黎羅羅. Arnold型置亂變換周期的分析. 中山大學學報(自然科學版),2005
代碼片段和文件信息
function?p=arnoldperiod(NM)
%ARNOLDPERIOD?get?period?of?generalized?Arnold?Cat?map
%?p=period(MN)
%
%?INPUT:
%???N?-?size?of?square?data?matrix
%???M?-?affine?matrix?of?generalized?Arnold?map?
%???????typically:
%?????????1?1
%?????????1?2
%???????generally:
%?????????1?p
%?????????q?1+p*q
%?OUTPUT:
%???p?-?period
%
%?Reference:
%???黎羅羅.?Arnold型置亂變換周期的分析.?中山大學學報(自然科學版)2005
%?Remark:
%???Only?support?N=2^i*3^j*5^k?right?now?a?more?generalized?size?could?be?
%???extended?using?method?proposed?in?above?paper.
if?~exist(‘M‘‘var‘)
????M=[11;12];
end
if?gcd(det(M)N)==1
????%?N?should?be?2^i*3^j*5^k
????%?calculate?period?character?code:?l2?l3?l5
????pm=[235];
????for?n=1:length(pm)
????????cd=[110];
????????A=M;
????????while?~(A(11)==1&&A(12)==0&&A(21)==0&&A(22)==1)
????????????A=mod(M*Apm(n));
????????????cd(1)=cd(1)+1;
????????end
????????A=M;
????????while?~(A(11)==1&&A(12)==0&&A(21)==0&&A(22)==1)
????????????A=mod(M*Apm(n)^2);
????????????cd(2)=cd(2)+1;
????????end
????????%?exist?s>=2?so?that?belta(1)?=?belta(2)?=?...?=?belta(s)
????????%???belta(s+j)=belta(2)*p^j
????????%?or?exist?s>=2?so?that?belta(1)*p?=?belta(2)?=?...?=?belta(s)
????????%???belta(s+j)=belta(2)*p^j
????????%?here?s?=?l_p(3)
??????
評論
共有 條評論