離散チェビシェフ変換

応用数学において離散チェビシェフ変換(略称DCT、DChT、またはDTT)は、実区間関数に対する離散フーリエ変換の類似物であり、チェビシェフ節点の集合における関数値と、チェビシェフ多項式基底における関数の係数との間で双方向の変換を行う。チェビシェフ多項式と同様に、パフヌティ・チェビシェフにちなんで名付けられている

離散チェビシェフ変換の最も一般的な2つのタイプは第一種チェビシェフ多項式の零点であるチェビシェフ零点のグリッドと、第一種チェビシェフ多項式の極値であり第二種チェビシェフ多項式の零点でもあるチェビシェフ極値グリッドを用いる。これらの変換はどちらも、第一種チェビシェフ多項式の係数を生成する。 T n × {\displaystyle T_{n}(x)} あなた n × {\displaystyle U_{n}(x)}

その他の離散チェビシェフ変換には、関連するグリッドと、第 2 種、第 3 種、または第 4 種のチェビシェフ多項式の係数が含まれます。

ルーツグリッド

点におけるの離散チェビシェフ変換は次のように与えられます。 あなた × {\displaystyle {u(x)}} × n {\displaystyle {x_{n}}}

1つの メートル p メートル n 0 1 あなた × n T メートル × n {\displaystyle a_{m}={\frac {p_{m}}{N}}\sum _{n=0}^{N-1}u(x_{n})T_{m}(x_{n}),}

どこ

× n コス n + 1 2 π {\displaystyle x_{n}=-\cos {\frac {{\bigl (}n+{\tfrac {1}{2}}{\bigr )}\pi }{N}},}
1つの メートル p メートル n 0 1 あなた × n コス メートル コス 1 × n {\displaystyle a_{m}={\frac {p_{m}}{N}}\sum _{n=0}^{N-1}u(x_{n})\cos \left(m\cos ^{-1}(x_{n})\right),}

ifと only ifおよびotherwise を使用します。 p メートル 1 {\displaystyle p_{m}=1} メートル 0 {\displaystyle m=0} p メートル 2 {\displaystyle p_{m}=2}

の定義を用いると × n {\displaystyle x_{n}}

1つの メートル p メートル n 0 1 あなた × n コス メートル + n + 1 2 π p メートル n 0 1 あなた × n 1 メートル コス メートル n + 1 2 π {\displaystyle {\begin{aligned}a_{m}&={\frac {p_{m}}{N}}\sum _{n=0}^{N-1}u(x_{n})\cos {\frac {m{\bigl (}N+n+{\tfrac {1}{2}}{\bigr )}\pi }{N}}\\&={\frac {p_{m}}{N}}\sum _{n=0}^{N-1}u(x_{n})(-1)^{m}\cos {\frac {m{\bigl (}n+{\tfrac {1}{2}}{\bigr )}\pi }{N}}.\end{aligned}}}

逆変換は

あなた n メートル 0 1 1つの メートル T メートル × n メートル 0 1 1つの メートル 1 メートル コス メートル n + 1 2 π {\displaystyle u_{n}=\sum _{m=0}^{N-1}a_{m}T_{m}(x_{n})=\sum _{m=0}^{N-1}a_{m}(-1)^{m}\cos {\frac {m{\bigl (}n+{\tfrac {1}{2}}{\bigr )}\pi }{N}}.}

(これは、ルート グリッド上で評価される標準チェビシェフ級数です。)

この離散チェビシェフ変換は、たとえば次のMATLABコード を使用して、離散コサイン変換への入力引数を操作することによって計算できます。

関数 a = fct ( f, l ) 
% x =-cos(pi/N*((0:N-1)'+1/2));

f = f ( end : - 1 : 1 ,:); A = size ( f ); N = A ( 1 );存在する場合( 'A(3)' , 'var' ) && A ( 3 ) ~= 1 i = 1 の場合: A ( 3 ) a (:,:, i ) = sqrt ( 2 / N ) * dct ( f (:,:, i )); a ( 1 ,:, i ) = a ( 1 ,:, i ) / sqrt ( 2 ); endそれ以外の場合a = sqrt ( 2 / N ) * dct ( f (:,:, i )); a ( 1 ,:)= a ( 1 ,:) / sqrt ( 2 ); end  
      
    
     
            
            
    

        
      

MATLAB の組み込みdct(離散コサイン変換) 関数は、高速フーリエ変換を使用して実装されます。

逆変換は MATLAB コードによって与えられます。

関数 f = ifct ( a, l ) 
% x = -cos(pi/N*((0:N-1)'+1/2)) 
k = size ( a ); N = k ( 1 );   

a = idct ( sqrt ( N / 2 ) * [ a ( 1 ,:) * sqrt ( 2 ); a ( 2 : end ,:)]);       

終わり

極値グリッド

この変換ではグリッドを使用します。

× n コス n π {\displaystyle x_{n}=-\cos {\frac {n\pi}{N}}}
T n × メートル コス メートル n π + n π 1 n コス メートル n π {\displaystyle T_{n}(x_{m})=\cos \left({\frac {mn\pi}{N}}+n\pi \right)=(-1)^{n}\cos {\frac {mn\pi}{N}}}

この極値グリッドはより広く使用されています。

この場合、変換とその逆は

あなた × n あなた n メートル 0 1つの メートル T メートル × n {\displaystyle u(x_{n})=u_{n}=\sum _{m=0}^{N}a_{m}T_{m}(x_{n}),}
1つの メートル p メートル 1 2 あなた 0 1 メートル + あなた + n 1 1 あなた n T メートル × n {\displaystyle a_{m}={\frac {p_{m}}{N}}{\biggl (}{\tfrac {1}{2}}{\bigl (}u_{0}(-1)^{m}+u_{N}{\bigr )}+\sum _{n=1}^{N-1}u_{n}T_{m}(x_{n}){\biggr )},}

ここで、またはの場合に限り、それ以外の場合です。 p メートル 1 {\displaystyle p_{m}=1} メートル 0 {\displaystyle m=0} メートル {\displaystyle m=N} p メートル 2 {\displaystyle p_{m}=2}

使用法と実装

離散チェビシェフ変換の主な用途は、数値積分、補間、安定数値微分である。[1]これらの機能を提供する実装は、C++ライブラリBoostで提供されている。[2]

参照

参考文献

  1. ^ Trefethen, Lloyd (2013).近似理論と近似の実践.
  2. ^ Thompson, Nick; Maddock, John. 「チェビシェフ多項式」. boost.org .
Retrieved from "https://en.wikipedia.org/w/index.php?title=Discrete_Chebyshev_transform&oldid=1311326745"