#include #include #include #include #include "fonctions_tableaux.h" // C := alpha*op( A )*op( B ) + beta*C, avec op(A) : transposée ou conjuguée hermitienne void zgemm_ (char*, // 'N'si on multiplie par A, 'T' si on transpose, 'C' si on prend la conjuguée hermitienne char*, // 'N'si on multiplie par B, 'T' si on transpose, 'C' si on prend la conjuguée hermitienne int*, // nombre de lignes de A et C int*, // nombre de colonnes de B et C int*, // nombre de colonnes de A et de lignes de B double complex*, // coefficient alpha double complex[], // matrice A int*, // dimension la plus grande de A double complex[], // matrice B int*, // dimension la plus grande de B double complex*, // coefficient beta double complex[], // matrice C int* // dimension la plus grande de C ); void fourierDiscrete (int dimension, double complex **matrice); void fourierInverse (int dimension, double complex **matrice); void boulangerFerme (int dimension, int nombreRectangles, int largeursBlocs[nombreRectangles], double complex matrice[dimension][dimension]); double cutoff (double delta , double lambda , double x); void boulangerFerme1 (int dimension, int nombreRectangles, int largeursBlocs[nombreRectangles], double complex matrice[dimension][dimension]); void boulangerOuvert1 (int dimension, int nombreRectangles, int largeursBlocs[nombreRectangles], int trou[nombreRectangles], double complex matrice[dimension][dimension]); int correlation (double x, int tailleTableau, double tableau[]); int rectMin (int nombreRectangles, double trou[nombreRectangles]); int rectMax (int nombreRectangles, double trou[]); void boulangerOuvertLisse (int dimension, int nombreRectangles, int largeursBlocs[nombreRectangles], double trou[nombreRectangles], double complex **matrice);