Saltar al contenido principal
LibreTexts Español

10.9: Observaciones finales

  • Page ID
    86946
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Es poco probable que muchos lectores de este capítulo alguna vez tengan que implementar su propio software de transformada rápida de Fourier, excepto como un ejercicio de aprendizaje. El cálculo del DFT, al igual que el álgebra lineal básica o la integración de ecuaciones diferenciales ordinarias, es tan central para la computación numérica y tan bien establecido que las bibliotecas robustas, flexibles y altamente optimizadas están ampliamente disponibles, en su mayor parte como software libre/de código abierto. Y sin embargo, hay muchos otros problemas para los que los algoritmos no están tan finalizados, o para los que se publican algoritmos pero las implementaciones no están disponibles o son de mala calidad. Cualesquiera que sean los nuevos problemas que uno encuentre, es muy probable que el abismo entre la teoría y la implementación eficiente sea tan grande como lo es para los FFT, a menos que las computadoras se vuelvan mucho más simples en el futuro. Para los lectores que encuentran tal problema, esperamos que estas lecciones de FFTW sean útiles:

    • La generalidad y la portabilidad casi siempre deben ser lo primero.
    • El número de operaciones, hasta un factor constante, es menos importante que el orden de las operaciones.
    • Los algoritmos recursivos con casos base grandes facilitan la optimización.
    • La optimización, como cualquier tarea tediosa, es la mejor automatizada.
    • La generación de código concilia la programación de alto nivel con el rendimiento de bajo nivel

    También debemos mencionar una lección final que no hemos discutido en este capítulo: no se puede optimizar en el vacío, o termina felicitándose por hacer un programa lento un poco más rápido. Comenzamos el proyecto FFTW después de descargar una docena de implementaciones FFT, comparándolas en algunas máquinas y observando cómo los ganadores variaron entre máquinas y entre tamaños de transformación. A lo largo del desarrollo de FFTW, continuamos beneficiándonos de repetidos puntos de referencia frente a las docenas de programas FFT de alta calidad disponibles en línea, sin los cuales hubiéramos pensado que FFTW estaba “completo” hace mucho tiempo.

    Agradecimientos

    SGJ fue apoyado en parte por el programa del Centro de Ciencia e Ingeniería de Investigación de Materiales de la Fundación Nacional de Ciencias bajo la adjudicación DMR-9400334; MF fue apoyado en parte por la Agencia de Proyectos de Investigación Avanzada de Defensa (DARPA) bajo el contrato No. NBCH30390004. También estamos agradecidos a Sidney Burrus por la oportunidad de contribuir con este capítulo, y por su continuo aliento, que se remonta a sus primeras palabras amables en 1997 por los esfuerzos iniciales FFT de dos estudiantes graduados que se aventuraron fuera de sus campos.

    Colaborador

    • ContribeeBurrus

    This page titled 10.9: Observaciones finales is shared under a CC BY license and was authored, remixed, and/or curated by C. Sidney Burrus.