La función Faddeeva o función Kramp es una función de error complementario complejo escalado ,
Está relacionado con la integral de Fresnel , con la integral de Dawson y con la función de Voigt .
La función surge en varios problemas físicos, típicamente relacionados con respuestas electromagnéticas en medios complicados.
- problemas que involucran ondas de pequeña amplitud que se propagan a través de plasmas maxwellianos , y en particular aparece en la permitividad del plasma de la cual se derivan las relaciones de dispersión , por lo que a veces se la denomina función de dispersión del plasma [1] [2] (aunque este nombre se usa a veces en lugar de la función reescaladadefinido por Fried y Conte , 1961 [1] [3] ).
- las funciones de permitividad infrarroja de los óxidos amorfos tienen resonancias (debido a los fonones ) que a veces son demasiado complicadas de ajustar usando osciladores armónicos simples. La forma del oscilador Brendel-Bormann utiliza una superposición infinita de osciladores que tienen frecuencias ligeramente diferentes, con una distribución gaussiana. [4] La respuesta integrada se puede escribir en términos de la función Faddeeva.
- la función Faddeeva también se utiliza en el análisis de ondas electromagnéticas del tipo utilizado en la radio AM. [ cita requerida ] Las ondas de tierra son ondas polarizadas verticalmente que se propagan sobre un suelo con pérdidas con resistividad y permitividad finitas.
- la función de Faddeeva también describe los cambios de las secciones transversales de neutrones de los materiales a medida que varía la temperatura. [5]
Propiedades
Partes reales e imaginarias
La descomposición en partes reales e imaginarias suele escribirse
- ,
donde V y L se denominan funciones de Voigt reales e imaginarias , ya que V (x, y) es el perfil de Voigt (hasta los prefactores).
Inversión de signo
Para los argumentos con signo invertido, se aplican ambos:
y
donde * denota conjugado complejo.
Relación con la función de error complementaria
La función Faddeeva evaluada en argumentos imaginarios es igual a la función de error complementario escalado (erfcx):
- ,
donde erfc es la función de error complementaria . Para grandes x reales :
Representación integral
La función de Faddeeva ocurre como
lo que significa que es una convolución de un gaussiano con un polo simple.
Historia
La función fue tabulada por Vera Faddeeva y NN Terent'ev en 1954. [6] Aparece como función sin nombre w (z) en Abramowitz y Stegun (1964), fórmula 7.1.3. La función de nombre Faddeeva fue aparentemente introducida por GPM Poppe y CMJ Wijers en 1990; [7] [se necesitaba una mejor fuente ] anteriormente, se conocía como la función de Kramp (probablemente después de Christian Kramp ). [8]
Las primeras implementaciones utilizaron métodos de Walter Gautschi (1969/70; ACM Algorithm 363) [9] o de J. Humlicek (1982). [10] Poppe y Wijers (1990; ACM Algorithm 680) propusieron un algoritmo más eficiente. [11] JAC Weideman (1994) propuso un algoritmo particularmente corto que no requiere más de ocho líneas de código MATLAB . [12] Zaghloul y Ali señalaron deficiencias de algoritmos anteriores y propusieron uno nuevo (2011; ACM Algorithm 916). [2] Otro algoritmo ha sido propuesto por M. Abrarov y BM Quine (2011/2012). [13]
Implementaciones
Dos implementaciones de software, que son gratuitas solo para uso no comercial, [14] fueron publicadas en ACM Transactions on Mathematical Software (TOMS) como Algoritmo 680 (en Fortran , [15] posteriormente traducido a C [16] ) y Algoritmo 916 por Zaghloul y Ali (en MATLAB ). [17]
Una implementación de C o C ++ de código abierto y libre derivada de una combinación de Algoritmo 680 y Algoritmo 916 (usando diferentes algoritmos para diferentes z ) también está disponible bajo la Licencia MIT , [18] y se mantiene como un paquete de biblioteca libcerf . [19] Esta implementación también está disponible como un complemento para Matlab, [18] GNU Octave , [18] y en Python a través de Scipy como scipy.special.wofz
(que originalmente era el código TOMS 680, pero fue reemplazado debido a problemas de derechos de autor [20] ).
Referencias
- ↑ a b Lehtinen, Nikolai G. (23 de abril de 2010). "Funciones de error" (PDF) . Página web de Lehtinen - Universidad de Stanford . Consultado el 8 de octubre de 2019 .
- ^ a b M. R. Zaghloul y AN Ali, Transacciones ACM en software matemático 38 (2) 15 (2011)
- ^ Richard Fitzpatrick , Función de dispersión del plasma ,notas de la conferencia de física del plasma , Universidad de Texas en Austin (31/03/2011).
- ^ Brendel, R .; Bormann, D. (1992). "Un modelo de función dieléctrica infrarroja para sólidos amorfos". Revista de Física Aplicada . 71 (1): 1. Bibcode : 1992JAP .... 71 .... 1B . doi : 10.1063 / 1.350737 . ISSN 0021-8979 .
- ^ "Multipolar con ventana OpenMC" . 2020-06-01 . Consultado el 20 de diciembre de 2020 .
- ^ VN Faddeeva y NN Terent'ev: Tablas de valores de la funciónpara argumentos complejos. Gosud. Izdat. Teh.-Teor. Iluminado. , Moscú, 1954; Traducción al inglés, Pergamon Press, Nueva York, 1961. Cita no verificada, copiada de Poppe y Wijers (1990).
- ^ Resultado de búsqueda más temprano en Google Scholar a partir de octubre de 2012.
- ↑ Por ejemplo, en Al'pert, Space Science Reviews 6, 781 (1967), fórmula (3.13), con referencia a Faddeeva y Terent'ev.
- ^ Véanse las referencias 3 y 4 en Poppe y Wijers (1990).
- ^ J. Humlicek, J. Quant. Spectrosc. Radiat. Transfer 27, 437 - 444 (1982).
- ^ GPM Poppe y CMJ Wijers, ACM Transactions on Mathematical Software 16, 38-46 (1990).
- ^ JAC Weideman, SIAM J. Numer. Anal. 31, 1497 - 1518 (1994).
- ^ SM Abrarov y BM Quine, Appl. Matemáticas. Comp. 218, 1894-1902 (2011) y arXiv: 1205.1768v1 (2012).
- ^ "Aviso de derechos de autor del software" .; por lo tanto, no son gratuitos en el sentido de software libre y de código abierto
- ^ http://www.cs.kent.ac.uk/people/staff/trh/CALGO/680.gz
- ^ http://spec.jpl.nasa.gov/ftp/pub/calpgm/collisions/ZWOFZ.C
- ^ Mofreh R. Zaghloul y Ahmed N. Ali, " Algoritmo 916: Computación de las funciones de Faddeyeva y Voigt ", ACM Trans. Matemáticas. Suave. 38 (2), 15 (2011). Preimpresión disponible en arXiv: 1106.0151 .
- ^ a b c Paquete Faddeeva , implementación de C ++ libre / de código abierto, consultado el 13 de octubre de 2012.
- ^ "Libcerf [MLZ Scientific Computing Group]" .
- ^ "¿El complejo código erf de SciPy no es gratuito / de código abierto? (Trac # 1741) · Edición # 2260 · scipy / scipy" .