Mol(Math Object Library) fot .Net
アッセンブリー: Mol.Net (in Mol.Net.dll)
離散データのフーリェ変換(DFT)を実行する基本クラスです。離散データ値 W とフーリェ変換値 Z の関係は以下のように一般化されます。Zk1,k2,...,kd = σ・Σjd=1nd…Σj2=1n2Σj1=1n1Wj1,j2,...,jd exp(δ・i・2πΣl=1d jl・kl / nl)
最も単純な変換では W と Z は一次元のデータ列ですが、2次元以上の多次元データの変換が可能です。
ここで、
i は虚数単位、d(≧1)は次元数(インデックスの数)、ni(1≦i≦d)は各次元サイズ(各インデックスの最大値)
δは変換の方向を決定する因子で前進(Foward、または単に「フーリェ変換」)変換の時は -1、後退(Backward、または「フーリェ逆変換」)変換の時は +1 が設定されます。
σはスケール因子でデフォルトでフーリェ変換のときは 1.0、逆変換の時は 1.0/(n1・n2・...nd) が仮定されます。
前進変換の時に与える Wj1,j2,...,jd を「元データ値」(または単に「データ値」)、 計算結果として得られるZk1,k2,...,kdを「変換データ値」(または単に「DFT」値)と定義します
通常の計算手順は以下のようになります。
フーリェ変換 (δ=-1):元データ値(W) → Forward変換 → DFT値(Z)
フーリェ逆変換(δ=+1):DFT値(W) → Backward変換 → 元データ値(Z、元データの近似値)
元データ値は Double (FftDouble)か Complex (FftComplex)が選択できますが、DFT値は常に Complex となります。
データ値の数が 2、3、5、7、11、または 13 の累乗に因数分解できる場合は高速フーリエ変換(FFT)による最大のパフォーマンスを得ることができます。
名前空間: Molここで、
i は虚数単位、d(≧1)は次元数(インデックスの数)、ni(1≦i≦d)は各次元サイズ(各インデックスの最大値)
δは変換の方向を決定する因子で前進(Foward、または単に「フーリェ変換」)変換の時は -1、後退(Backward、または「フーリェ逆変換」)変換の時は +1 が設定されます。
σはスケール因子でデフォルトでフーリェ変換のときは 1.0、逆変換の時は 1.0/(n1・n2・...nd) が仮定されます。
前進変換の時に与える Wj1,j2,...,jd を「元データ値」(または単に「データ値」)、 計算結果として得られるZk1,k2,...,kdを「変換データ値」(または単に「DFT」値)と定義します
通常の計算手順は以下のようになります。
フーリェ変換 (δ=-1):元データ値(W) → Forward変換 → DFT値(Z)
フーリェ逆変換(δ=+1):DFT値(W) → Backward変換 → 元データ値(Z、元データの近似値)
元データ値は Double (FftDouble)か Complex (FftComplex)が選択できますが、DFT値は常に Complex となります。
データ値の数が 2、3、5、7、11、または 13 の累乗に因数分解できる場合は高速フーリエ変換(FFT)による最大のパフォーマンスを得ることができます。
アッセンブリー: Mol.Net (in Mol.Net.dll)
構文
C# |
---|
public abstract class _DFT : _Mol |
Visual Basic |
---|
Public MustInherit Class _DFT Inherits _Mol |
Visual C++ |
---|
public ref class _DFT abstract : public _Mol |
[<AbstractClassAttribute>] type _DFT = class inherit _Mol end |