stringtranslate.com

Función de Faddeeva

Función de Faddeeva en el plano complejo

La función de Faddeeva o función de Kramp es una función de error complementaria compleja escalada .

Está relacionada 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, generalmente relacionados con respuestas electromagnéticas en medios complejos.

Propiedades

Partes reales e imaginarias

La descomposición en partes reales e imaginarias se escribe habitualmente

,

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 signos

Para argumentos con signo invertido, se aplican ambos criterios siguientes:

y

donde * denota conjugado complejo.

Relación con la función de error complementaria

La función de Faddeeva evaluada en argumentos imaginarios es igual a la función de error complementaria escalada ( ):

,

donde erfc es la función de error complementaria . Para valores reales x grandes :

Derivado

En algunas aplicaciones, es necesario conocer no sólo los valores originales de la función de Faddeeva, sino también su derivada (por ejemplo, en la regresión de mínimos cuadrados no lineal en espectroscopia ). Su derivada viene dada por: [6] [7]

Esta expresión también se puede descomponer en términos de cambios en la parte real e imaginaria de la función de Faddeeva y . Básicamente, esto requiere conocimiento sobre la parte real e imaginaria del producto . Haciendo uso de la definición anterior , la derivada se puede dividir en derivadas parciales con respecto a y de la siguiente manera:

      y      
      y      

Un ejemplo práctico del uso de estas derivadas parciales se puede encontrar aquí .

Representación integral

La función de Faddeeva se presenta como

lo que significa que es una convolución de una gaussiana con un polo simple.

Historia

La función fue tabulada por Vera Faddeeva y NN Terentyev en 1954. [8] Aparece como función sin nombre w(z) en Abramowitz y Stegun (1964), fórmula 7.1.3. El nombre de función de Faddeeva fue aparentemente introducido por GPM Poppe y CMJ Wijers en 1990; [9] [ se necesita una mejor fuente ] anteriormente, se conocía como función de Kramp (probablemente en honor a Christian Kramp ). [10]

Las primeras implementaciones utilizaron métodos de Walter Gautschi (1969–70; ACM Algorithm 363) [11] o de J. Humlicek (1982). [12] Poppe y Wijers (1990; ACM Algorithm 680) propusieron un algoritmo más eficiente. [13] JAC Weideman (1994) propuso un algoritmo particularmente corto que no ocupa más de ocho líneas de código MATLAB . [14] Zaghloul y Ali señalaron deficiencias de algoritmos anteriores y propusieron uno nuevo (2011; ACM Algorithm 916). [2] M. Abrarov y BM Quine (2011/2012) propusieron otro algoritmo. [15]

Implementaciones

Dos implementaciones de software, que son gratuitas solo para uso no comercial, [16] se publicaron en ACM Transactions on Mathematical Software (TOMS) como Algoritmo 680 (en Fortran , [17] posteriormente traducido a C ) [18] y Algoritmo 916 por Zaghloul y Ali (en MATLAB ). [19]

Una implementación de C o C++ de código abierto y libre derivada de una combinación del algoritmo 680 y el algoritmo 916 (que utiliza diferentes algoritmos para diferentes z ) también está disponible bajo la Licencia MIT , [20] y se mantiene como un paquete de biblioteca libcerf . [21] Esta implementación también está disponible como un complemento para Matlab, [20] GNU Octave , [20] 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 [22] ).

Para un cálculo rápido pero preciso de la función de dispersión del plasma , se ha descubierto que la aproximación de Pade de polo J es útil, [23] es decir,

Para J=8, se puede utilizar b1= -0,017340112270401 - 0,046306439626294i; b2= -0,739917811220052 + 0,839518284620274i; b3= 5,840632105105495 ​​+ 0,953602751322040i; b4= -5,583374181615043 -11,208550459628098i; c1= 2,237687725134293 - 1,625941024120362i; c2= 1,465234091939142 - 1,789620299603315i; c3= 0,839253966367922 - 1,891995211531426i; c4= 0,273936218055381 - 1,941787037576095i; b(5:8)=(b(1:4))*; c(5:8)=-(c(1:4))*,

donde * denota conjugado complejo. La aproximación anterior es válida para el plano superior. Para valores débilmente cercanos al eje real, es decir, no muy alejados del eje real del plano inferior, la aproximación anterior también es válida. Para un cálculo preciso de , se puede utilizar

Se puede encontrar una codificación del enfoque de polos J anterior y una comparación con una función de dispersión de plasma precisa. [24] También están disponibles coeficientes integrales para el cálculo rápido de la función de dispersión de plasma con aproximación racional y multipolar. [25]

Véase también

Referencias

  1. ^ ab 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 .
  2. ^ de MR Zaghloul y AN Ali, ACM Transactions on Mathematical Software 38(2)15 (2011)
  3. ^ Richard Fitzpatrick, Función de dispersión de plasma, notas de clase de Física del plasma , Universidad de Texas en Austin (31/3/2011).
  4. ^ Brendel, R.; Bormann, D. (1992). "Un modelo de función dieléctrica infrarroja para sólidos amorfos". Journal of Applied Physics . 71 (1): 1. Bibcode :1992JAP....71....1B. doi :10.1063/1.350737. ISSN  0021-8979.
  5. ^ "Multipolo con ventana OpenMC". 2020-06-01 . Consultado el 2020-12-20 .
  6. ^ Avetisov, Slava (1995). Una técnica de ajuste por mínimos cuadrados para el análisis espectral de formas lineales directas y de modulación de frecuencia (PDF) (Informe). Departamento de Física, Universidad de Lund.
  7. ^ "Función Faddeeva (o Faddeyeva) - 7.10 Derivadas". Biblioteca Digital de Funciones Matemáticas . Instituto Nacional de Estándares y Tecnología. 2010 . Consultado el 23 de junio de 2022 .
  8. ^ VN Faddeeva y NN Terent'ev: Tablas de valores de la función para argumento complejo. Gosud. Izdat. Teh.-Teor. Lit. , Moscú, 1954; traducción al inglés, Pergamon Press, Nueva York, 1961. Cita no verificada, copiada de Poppe y Wijers (1990).
  9. ^ Primer resultado de búsqueda en Google Scholar en octubre de 2012.
  10. ^ Por ejemplo, en Al'pert, Space Science Reviews 6, 781 (1967), fórmula (3.13), con referencia a Faddeeva y Terent'ev.
  11. ^ Véanse las referencias 3 y 4 en Poppe y Wijers (1990).
  12. ^ J. Humlicek, J. Quant. Spectrosc. Radiat. Transfer 27, 437-444 (1982).
  13. ^ GPM Poppe y CMJ Wijers, ACM Transactions on Mathematical Software 16, 38-46 (1990).
  14. ^ JAC Weideman, SIAM J. Numer. Anal. 31, 1497-1518 (1994).
  15. ^ SM Abrarov y BM Quine, Appl. Math. Comp. 218, 1894-1902 (2011) y arXiv:1205.1768v1 (2012).
  16. ^ "Aviso de derechos de autor del software".; por lo tanto, no son libres en el sentido de software libre y de código abierto.
  17. ^ http://www.cs.kent.ac.uk/people/staff/trh/CALGO/680.gz [ enlace roto ]
  18. ^ "Fórmulas de colisión". NASA . Consultado el 10 de abril de 2023 .
  19. ^ Mofreh R. Zaghloul y Ahmed N. Ali, "Algoritmo 916: cálculo de las funciones de Faddeyeva y Voigt", ACM Trans. Math. Soft. 38 (2), 15 (2011). Versión preliminar disponible en arXiv:1106.0151.
  20. ^ Paquete abc Faddeeva, implementación de C++ libre/de código abierto, consultado el 13 de octubre de 2012.
  21. ^ "Libcerf [Grupo de Computación Científica MLZ]".
  22. ^ "¿El complejo código erf de SciPy no es libre/de código abierto? (Trac #1741) · Issue #2260 · scipy/scipy". GitHub .
  23. ^ Xie, Hua-sheng (noviembre de 2019). «BO: una herramienta unificada para el análisis de ondas de plasma e inestabilidades». Computer Physics Communications . 244 : 343–371. arXiv : 1901.06902 . doi :10.1016/j.cpc.2019.06.014. ISSN  0010-4655.
  24. ^ XIE, Hua-sheng (14 de abril de 2024), hsxie/gpdf , consultado el 15 de abril de 2024
  25. ^ Xie, Huasheng (1 de julio de 2024). "Cálculo rápido de la función de dispersión de plasma: aproximación racional y multipolar, y precisión mejorada". AIP Advances . 14 (7). arXiv : 2404.18719 . doi :10.1063/5.0216433. ISSN  2158-3226.