*** JMFFT 8.1 - émulation des FFTs de la SciLib de CRAY - (c) CNRS/IDRIS ***
NOM
CFFTMLT - Applique une Transformée de Fourier rapide (FFT)
complexe-complexe à un ensemble donné de vecteurs.
SYNTAXE
CALL CFTFAX (n, ifax, trigs)
CALL CFFTMLT (ar, ai, work, trigs, ifax, inc, jump, n, lot, isign)
IMPLEMENTATION
Ces sous-programmes émulent les sous-programmes de même nom de la SCILIB de
CRAY. Tous les arguments réels ou complexes doivent être déclarés en
double précision.
DESCRIPTION
CFFTMLT applique une FFT complexe-complexe a un ensemble donné de
vecteurs selon la formule suivante :
n-1
(ar(inc*k+1),ai(inc*k+1)) = Sum exp(isign*iota*2*pi*j*k/n) (ar(inc*j+1),ai(inc*j+1))
j=0
pour k = 0,1,...,n-1
Ce calcul s'applique aux n vecteurs fournis en entrée.
ARGUMENTS
ar Tableau du type REAL(KIND=8) de dimension n*lot. (entrée/sortie)
En entrée, il contient la partie réelle des données à transformer.
En sortie, il contient la partie réelle transformée.
ai Tableau du type REAL(KIND=8) de dimension n*lot. (entrée/sortie)
En entrée, il contient la partie imaginaire des données à transformer.
En sortie, il contient la partie imaginaire transformée.
work Tableau du type REAL(KIND=8) de dimension 4*n*lot.
Espace de travail.
trigs Tableau du type REAL(KIND=8) de dimension 2*n. (entrée) Il doit
être initialisé afin de contenir la table des sinus et cosinus. Le
sous-programme suivant permet d'initialiser les tableaux trigs et ifax à
la fois :
CALL CFTFAX (n,ifax,trigs)
ifax Tableau du type INTEGER de dimension 19. (entrée)
Il doit être initialisé grâce au sous-programme ci-dessous afin
de contenir une liste de facteurs de n.
inc Scalaire du type INTEGER. (entrée)
Le pas entre deux élements d'un vecteur.
jump Scalaire du type INTEGER. (entrée) Le pas entre deux vecteurs
consécutifs. inc et jump s'appliquent aussi bien à la partie réelle qu'à
la partie imaginaire.
n Scalaire du type INTEGER. (entrée)
Longueur de chaque vecteur à transformer. n >= 0.
Toute valeur non valide de n conduit le sous-programme CFTFAX à retourner
un code d'erreur ifax(1)=-99.
lot Scalaire du type INTEGER. (entrée)
Le nombre de vecteurs à transformer.
isign Scalaire du type INTEGER. (entrée)
+1 --> transformée de Fourier
-1 --> transformée de Fourier inverse
VOIR AUSSI
CCFFTM, RFFTMLT