Funciones y variables para las funciones especiales (Manual de Maxima 5.44.0)

Anterior: Funciones de cilindro parabólico, Subir: Funciones Especiales [Índice general][Índice]

### 15.10 Funciones y variables para las funciones especiales

Función: specint (exp(- s*t) * expr, t)

  Calcula la transformada de Laplace de expr respecto de la variable t. El integrando expr puede contener funciones especiales.

  La función `specint` admite las funciones especiales siguientes: la gamma incompleta, las funciones de error (pero no `erfi`, siendo sencillo transformar `erfi` en la función de error `erf`), integrales exponenciales, funciones de Bessel (incluidos productos de funciones de Bessel), funciones de Hankel, de Hermite y los polinomios de Laguerre.

  Además, `specint` también admite la función hipergeométrica `%f[p,q]([],[],z)`, la función de Whittaker de primera especie `%m[u,k](z)` y la de segunda especie `%w[u,k](z)`.

  El resultado puede darse en términos de funciones especiales y es posible que incluya también funciones hipergeométricas sin simplificar.

  Cuando `laplace` es incapaz de calcular la transformada de Laplace, entonces llama a la función `specint`. Puesto que `laplace` tiene programadas más reglas para calcular transformadas de Laplace, es preferible utilizar `laplace` en lugar de `specint`.

  La ejecución de `demo(hypgeo)` muestra algunos ejemplos de transformadas de Laplace calculadas con `specint`.

  Ejemplos:

      (%i1) assume (p > 0, a > 0)$
      (%i2) specint (t^(1/2) * exp(-a*t/4) * exp(-p*t), t);
                                 sqrt(%pi)
      (%o2)                     ------------
                                       a 3/2
                                2 (p + -)
                                       4
      (%i3) specint (t^(1/2) * bessel_j(1, 2 * a^(1/2) * t^(1/2))
                    * exp(-p*t), t);
                                         - a/p
                               sqrt(a) %e
      (%o3)                    ---------------
                                      2
                                     p

  Ejemplos para integrales exponenciales:

      (%i4) assume(s>0,a>0,s-a>0)$
      (%i5) ratsimp(specint(%e^(a*t)
                            *(log(a)+expintegral_e1(a*t))*%e^(-s*t),t));
                                   log(s)
      (%o5)                        ------
                                   s - a
      (%i6) logarc:true$

      (%i7) gamma_expand:true$

      radcan(specint((cos(t)*expintegral_si(t)
                           -sin(t)*expintegral_ci(t))*%e^(-s*t),t));
                                   log(s)
      (%o8)                        ------
                                    2
                                   s  + 1
      ratsimp(specint((2*t*log(a)+2/a*sin(a*t)
                            -2*t*expintegral_ci(a*t))*%e^(-s*t),t));
                                     2    2
                                log(s  + a )
      (%o9)                     ------------
                                      2
                                     s

  Resultados cuando se utiliza la expansión de `gamma_incomplete` y se cambia la representación de `expintegral_e1`:

      (%i10) assume(s>0)$
      (%i11) specint(1/sqrt(%pi*t)*unit_step(t-k)*%e^(-s*t),t);
                                                  1
                                  gamma_incomplete(-, k s)
                                                  2
      (%o11)                      ------------------------
                                     sqrt(%pi) sqrt(s)

      (%i12) gamma_expand:true$
      (%i13) specint(1/sqrt(%pi*t)*unit_step(t-k)*%e^(-s*t),t);
                                    erfc(sqrt(k) sqrt(s))
      (%o13)                        ---------------------
                                           sqrt(s)

      (%i14) expintrep:expintegral_e1$
      (%i15) ratsimp(specint(1/(t+a)^2*%e^(-s*t),t));
                                    a s
                              a s %e    expintegral_e1(a s) - 1
      (%o15)                - ---------------------------------
                                              a

Función: hgfred (a, b, t)

  Simplifica la función hipergeométrica generalizada en términos de otras funciones más sencillas. a es una lista de parámetros del numerador y b lo es de parámetros del denominador.

  En caso de que `hgfred` no pueda simplificar la función hipergeométrica devolverá una expresión de la forma `%f[p,q]([a], [b], x)`, siendo p el número de elementos de a y q el de b. Esta es la función hipergeométrica generalizada `pFq`.

      (%i1) assume(not(equal(z,0)));
      (%o1)                          [notequal(z, 0)]
      (%i2) hgfred([v+1/2],[2*v+1],2*%i*z);

                           v/2                               %i z
                          4    bessel_j(v, z) gamma(v + 1) %e
      (%o2)               ---------------------------------------
                                             v
                                            z
      (%i3) hgfred([1,1],[2],z);

                                         log(1 - z)
      (%o3)                            - ----------
                                             z
      (%i4) hgfred([a,a+1/2],[3/2],z^2);

                                     1 - 2 a          1 - 2 a
                              (z + 1)        - (1 - z)
      (%o4)                   -------------------------------
                                       2 (1 - 2 a) z

  Tal como muestra el siguiente ejemplo, puede ser de utilidad cargar también el paquete `orthopoly`. Nótese que L es el polinomio generalizado de Laguerre.

      (%i5) load(orthopoly)$
      (%i6) hgfred([-2],[a],z);

                                          (a - 1)
                                       2 L       (z)
                                          2
      (%o6)                            -------------
                                         a (a + 1)
      (%i7) ev(%);

                                        2
                                       z        2 z
      (%o7)                         --------- - --- + 1
                                    a (a + 1)    a

Función: lambert_w (z)

  Rama principal de la función W de Lambert, solución de la ecuación `z = W(z) * exp(W(z))`. (DLMF 4.13)

Función: generalized_lambert_w (k, z)

  k-ésima rama de la función W de Lambert’s, W(z), solución de `z = W(z) * exp(W(z))`. (DLMF 4.13)

  La rama principal, representada por Wp(z) en DLMF, es `lambert_w(z) = generalized_lambert_w(0,z)`.

  La otra rama con valores reales, representada por Wm(z) en DLMF, es `generalized_lambert_w(-1,z)`.

Función: nzeta (z)

  Función de dispersión del plasma. `nzeta(z) = %i*sqrt(%pi)*exp(-z^2)*(1-erf(-%i*z))`

Función: nzetar (z)

  Devuelve `realpart(nzeta(z))`.

Función: nzetai (z)

  Devuelve `imagpart(nzeta(z))`.

Anterior: Funciones de cilindro parabólico, Subir: Funciones Especiales [Índice general][Índice]