Namespaces
Variants

catanhf, catanh, catanhl

From cppreference.net
Definido en el encabezado <complex.h>
float complex catanhf ( float complex z ) ;
(1) (desde C99)
double complex catanh ( double complex z ) ;
(2) (desde C99)
long double complex catanhl ( long double complex z ) ;
(3) (desde C99)
Definido en el encabezado <tgmath.h>
#define atanh( z )
(4) (desde C99)
1-3) Calcula la tangente hiperbólica arco compleja de z con cortes de rama fuera del intervalo [−1; +1] a lo largo del eje real.
4) Macro genérico de tipos: Si z tiene tipo long double complex , catanhl es llamado. Si z tiene tipo double complex , catanh es llamado. Si z tiene tipo float complex , catanhf es llamado. Si z es real o entero, entonces el macro invoca la función real correspondiente ( atanhf , atanh , atanhl ). Si z es imaginario, entonces el macro invoca la versión real correspondiente de atan , implementando la fórmula atanh(iy) = i atan(y) , y el tipo de retorno es imaginario.

Contenidos

Parámetros

z - argumento complejo

Valor de retorno

Si no ocurren errores, se devuelve la arcotangente hiperbólica compleja de z , en el rango de una semi-bandera matemáticamente no acotada a lo largo del eje real y en el intervalo [−iπ/2; +iπ/2] a lo largo del eje imaginario.

Manejo de errores y valores especiales

Los errores se reportan de manera consistente con math_errhandling

Si la implementación admite aritmética de punto flotante IEEE,

  • catanh ( conj ( z ) ) == conj ( catanh ( z ) )
  • catanh ( - z ) == - catanh ( z )
  • Si z es +0+0i , el resultado es +0+0i
  • Si z es +0+NaNi , el resultado es +0+NaNi
  • Si z es +1+0i , el resultado es +∞+0i y se genera FE_DIVBYZERO
  • Si z es x+∞i (para cualquier x finita positiva), el resultado es +0+iπ/2
  • Si z es x+NaNi (para cualquier x finita distinta de cero), el resultado es NaN+NaNi y puede generarse FE_INVALID
  • Si z es +∞+yi (para cualquier y finita positiva), el resultado es +0+iπ/2
  • Si z es +∞+∞i , el resultado es +0+iπ/2
  • Si z es +∞+NaNi , el resultado es +0+NaNi
  • Si z es NaN+yi (para cualquier y finita), el resultado es NaN+NaNi y puede generarse FE_INVALID
  • Si z es NaN+∞i , el resultado es ±0+iπ/2 (el signo de la parte real no está especificado)
  • Si z es NaN+NaNi , el resultado es NaN+NaNi

Notas

Aunque el estándar de C denomina a esta función "tangente hiperbólica arco compleja", las funciones inversas de las funciones hiperbólicas son las funciones de área. Su argumento es el área de un sector hiperbólico, no un arco. El nombre correcto es "tangente hiperbólica inversa compleja", y, menos común, "tangente hiperbólica de área compleja".

La tangente hiperbólica inversa es una función multivaluada y requiere un corte de rama en el plano complejo. El corte de rama se coloca convencionalmente en los segmentos de línea (-∞,-1] y [+1,+∞) del eje real.

The mathematical definition of the principal value of the inverse hyperbolic tangent is atanh z =
ln(1+z)-ln(z-1)
2
.


For any z, atanh(z) =
atan(iz)
i

Ejemplo

#include <stdio.h>
#include <complex.h>
int main(void)
{
    double complex z = catanh(2);
    printf("catanh(+2+0i) = %f%+fi\n", creal(z), cimag(z));
    double complex z2 = catanh(conj(2)); // or catanh(CMPLX(2, -0.0)) in C11
    printf("catanh(+2-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2));
    // for any z, atanh(z) = atan(iz)/i
    double complex z3 = catanh(1+2*I);
    printf("catanh(1+2i) = %f%+fi\n", creal(z3), cimag(z3));
    double complex z4 = catan((1+2*I)*I)/I;
    printf("catan(i * (1+2i))/i = %f%+fi\n", creal(z4), cimag(z4));
}

Salida:

catanh(+2+0i) = 0.549306+1.570796i
catanh(+2-0i) (the other side of the cut) = 0.549306-1.570796i
catanh(1+2i) = 0.173287+1.178097i
catan(i * (1+2i))/i = 0.173287+1.178097i

Referencias

  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.3.6.3 Las funciones catanh (p: 193)
  • 7.25 Matemáticas genéricas de tipos <tgmath.h> (p: 373-375)
  • G.6.2.3 Las funciones catanh (p: 540-541)
  • G.7 Matemáticas genéricas de tipos <tgmath.h> (p: 545)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.3.6.3 Las funciones catanh (p: 175)
  • 7.22 Matemáticas genéricas de tipos <tgmath.h> (p: 335-337)
  • G.6.2.3 Las funciones catanh (p: 475-476)
  • G.7 Matemáticas genéricas de tipos <tgmath.h> (p: 480)

Véase también

(C99) (C99) (C99)
calcula el arco seno hiperbólico complejo
(función)
(C99) (C99) (C99)
calcula el arco coseno hiperbólico complejo
(función)
(C99) (C99) (C99)
calcula la tangente hiperbólica compleja
(función)
(C99) (C99) (C99)
calcula la tangente hiperbólica inversa ( artanh(x) )
(función)