Funciones y variables para trigonometría (Manual de Maxima 5.45.0)

Anterior: Introducción a la trigonometría, Subir: Funciones trigonométricas [Índice general][Índice]

#### 10.5.2 Funciones y variables para trigonometría

Variable opcional: %piargs

  Valor por defecto: `true`

  Cuando `%piargs` vale `true`, las funciones trigonométricas se simplifican a constantes algebraicas cuando el argumento es múltiplo entero de %pi, %pi/2, %pi/3, %pi/4 o %pi/6.

  Maxima conoce algunas identidades aplicables cuando %pi, etc., se multiplican por una variable entera (esto es, un símbolo declarado como entero).

  Ejemplo:

      (%i1) %piargs : false$

      (%i2) [sin (%pi), sin (%pi/2), sin (%pi/3)];
                                      %pi       %pi
      (%o2)            [sin(%pi), sin(---), sin(---)]
                                       2         3

      (%i3) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
                            %pi       %pi       %pi
      (%o3)            [sin(---), sin(---), sin(---)]
                             4         5         6

      (%i4) %piargs : true$

      (%i5) [sin (%pi), sin (%pi/2), sin (%pi/3)];
                                      sqrt(3)
      (%o5)                    [0, 1, -------]
                                         2

      (%i6) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
                               1         %pi   1
      (%o6)                [-------, sin(---), -]
                            sqrt(2)       5    2

      (%i7) [cos (%pi/3), cos (10*%pi/3), tan (10*%pi/3),
             cos (sqrt(2)*%pi/3)];
                      1    1               sqrt(2) %pi
      (%o7)          [-, - -, sqrt(3), cos(-----------)]
                      2    2                    3

  Se aplican ciertas identidades cuando %pi o %pi/2 se multiplican por una variable entera.

      (%i1) declare (n, integer, m, even)$

      (%i2) [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m),
             cos (%pi/2 * m)];
                                            m/2
      (%o2)                  [0, 1, 0, (- 1)   ]

Variable opcional: %iargs

  Valor por defecto: `true`

  Cuando `%iargs` vale `true`, las funciones trigonométricas se simplifican a funciones hiperbólicas si el argumento es aparentemente un múltiplo de la unidad imaginaria %i.

  La simplificación se lleva a cabo incluso cuando el argumento es manifiestamente real; Maxima sólo se fija en si el argumento es un múltiplo literal de %i.

  Ejemplos:

      (%i1) %iargs : false$

      (%i2) [sin (%i * x), cos (%i * x), tan (%i * x)];
      (%o2)           [sin(%i x), cos(%i x), tan(%i x)]

      (%i3) %iargs : true$

      (%i4) [sin (%i * x), cos (%i * x), tan (%i * x)];
      (%o4)           [%i sinh(x), cosh(x), %i tanh(x)]

  La simplificación se aplica incluso en el caso de que el argumento se reduzca a un número real.

      (%i1) declare (x, imaginary)$

      (%i2) [featurep (x, imaginary), featurep (x, real)];
      (%o2)                     [true, false]

      (%i3) sin (%i * x);
      (%o3)                      %i sinh(x)

Function: acos (x)

  Arco coseno.

Función: acosh (x)

  Arco coseno hiperbólico.

Función: acot (x)

  Arco cotangente.

Función: acoth (x)

  Arco cotangente hiperbólica.

Función: acsc (x)

  Arco cosecante.

Función: acsch (x)

  Arco cosecante hiperbólica.

Función: asec (x)

  Arco secante.

Función: asech (x)

  Arco secante hiperbólica.

Función: asin (x)

  Arco seno.

Función: asinh (x)

  Arco seno hiperbólico.

Función: atan (x)

  Arco tangente.

Función: atan2 (y, x)

  Calcula el valor de `atan(y/x)` en el intervalo de `-%pi` a `%pi`.

Función: atanh (x)

  Arco tangente hiperbólica.

Paquete: atrig1

  El paquete `atrig1` contiene ciertas reglas de simplificación adicionales para las funciones trigonométricas inversas. Junto con las reglas que ya conoce Maxima, los siguientes ángulos están completamente implementados: `0`, `%pi/6`, `%pi/4`, `%pi/3` y `%pi/2`. Los ángulos correspondientes en los otros tres cuadrantes también están disponibles. Para hacer uso de estas reglas, ejecútese `load(atrig1);`.

Función: cos (x)

  Coseno.

Función: cosh (x)

  Coseno hiperbólico.

Función: cot (x)

  Cotangente.

Función: coth (x)

  Cotangente hiperbólica.

Función: csc (x)

  Cosecante.

Función: csch (x)

  Cosecante hiperbólica.

Variable opcional: halfangles

  Valor por defecto: `false`

  Si `halfangles` vale `true`, las funciones trigonométricas con argumentos del tipo `expr/2` se simplifican a funciones con argumentos expr.

  Para un argumento real x en el intervalo `0 < x < 2*%pi` el seno del semiángulo se simplifica como

                          sqrt(1 - cos(x))
                          ----------------
                              sqrt(2)

  Se necesita un factor relativamente complicado para que esta fórmula sea también válida para cualquier argumento complejo z:

                 realpart(z)
           floor(-----------)
                    2 %pi
      (- 1)                   (1 - unit_step(- imagpart(z))

                            realpart(z)            realpart(z)
                      floor(-----------) - ceiling(-----------)
                               2 %pi                  2 %pi
                ((- 1)                                          + 1))

  Maxima reconoce este factor y otros similares para las funciones `sin`, `cos`, `sinh` y `cosh`. Para valores especiales del argumento z, estos factores se simplifican de forma apropiada.

  Ejemplos:

      (%i1) halfangles:false;
      (%o1)                                false
      (%i2) sin(x/2);
                                              x
      (%o2)                               sin(-)
                                              2
      (%i3) halfangles:true;
      (%o3)                                true
      (%i4) sin(x/2);
                                                          x
                                                  floor(-----)
                                                        2 %pi
                            sqrt(1 - cos(x)) (- 1)
      (%o4)                 ----------------------------------
                                         sqrt(2)
      (%i5) assume(x>0, x<2*%pi)$
      (%i6) sin(x/2);
                                     sqrt(1 - cos(x))
      (%o6)                          ----------------
                                         sqrt(2)

Paquete: ntrig

  El paquete `ntrig` contiene un conjunto de reglas de simplificación que se pueden usar para simplificar funciones trigonométricas cuyos argumentos son de la forma `f(n %pi/10)` donde f es cualquiera de las funciones `sin`, `cos`, `tan`, `csc`, `sec` o `cot`.

Función: sec (x)

  Secante.

Función: sech (x)

  Secante hiperbólica.

Función: sin (x)

  Seno.

Función: sinh (x)

  Seno hiperbólico.

Función: tan (x)

  Tangente.

Función: tanh (x)

  Tangente hiperbólica.

Función: trigexpand (expr)

  Expande funciones trigonométricas e hiperbólicas de sumas de ángulos y de múltiplos de ángulos presentes en expr. Para mejorar los resultados, expr debería expandirse. Para facilitar el control por parte del usuario de las simplificaciones, esta función tan solo expande un nivel de cada vez, expandiendo sumas de ángulos o de múltiplos de ángulos. A fin de obtener una expansión completa en senos y coseno, se le dará a la variable `trigexpand` el valor `true`.

  La función `trigexpand` está controlada por las siguientes variables:

  `trigexpand`

    Si vale `true`, provoca la expansión de todas las expresiones que contengan senos y cosenos.

  `trigexpandplus`

    Controla la regla de la suma para `trigexpand`, la expansión de una suma como `sin(x + y)` se llevará a cabo sólo si `trigexpandplus` vale `true`.

  `trigexpandtimes`

    Controla la regla del producto para `trigexpand`, la expansión de un producto como `sin(2 x)` se llevará a cabo sólo si `trigexpandtimes` vale `true`.

  Ejemplos:

      (%i1) x+sin(3*x)/sin(x),trigexpand=true,expand;
                               2           2
      (%o1)               - sin (x) + 3 cos (x) + x

      (%i2) trigexpand(sin(10*x+y));
      (%o2)          cos(10 x) sin(y) + sin(10 x) cos(y)

Variable optativa: trigexpandplus

  Valor por defecto: `true`

  La variable `trigexpandplus` controla la regla de la suma para `trigexpand`. Así, si la instrucción `trigexpand` se utiliza o si la variable `trigexpand` vale `true`, se realizará la expansión de sumas como `sin(x+y)` sólo si `trigexpandplus` vale `true`.

Variable optativa: trigexpandtimes

  Valor por defecto: `true`

  La variable `trigexpandtimes` controla la regla del producto para `trigexpand`. Así, si la instrucción `trigexpand` se utiliza o si la variable `trigexpand` vale `true`, se realizará la expansión de productos como `sin(2*x)` sólo si `trigexpandtimes` vale `true`.

Variable optativa: triginverses

  Valor por defecto: `true`

  La variable `triginverses` controla la simplificación de la composición de funciones trigonométricas e hiperbólicas con sus funciones inversas.

  Si vale `all`, tanto `atan(tan(x))` como `tan(atan(x))` se reducen a x.

  Si vale `true`, se desactiva la simplificación de `arcfun(fun(x))`.

  Si vale `false`, se desactivan las simplificaciones de `arcfun(fun(x))` y `fun(arcfun(x))`.

Función: trigreduce (expr, x)
Función: trigreduce (expr)

  Combina productos y potencias de senos y cosenos trigonométricos e hiperbólicos de x, transformándolos en otros que son múltiplos de x. También intenta eliminar estas funciones cuando aparecen en los denominadores. Si no se introduce el argumento x, entonces se utilizan todas las variables de expr.

  Véase también `poissimp`.

      (%i1) trigreduce(-sin(x)^2+3*cos(x)^2+x);
                     cos(2 x)      cos(2 x)   1        1
      (%o1)          -------- + 3 (-------- + -) + x - -
                        2             2       2        2

  Las rutinas de simplificación trigonométrica utilizan información declarada en algunos casos sencillos. Las declaraciones sobre variables se utilizan como se indica a continuación:

      (%i1) declare(j, integer, e, even, o, odd)$
      (%i2) sin(x + (e + 1/2)*%pi);
      (%o2)                        cos(x)
      (%i3) sin(x + (o + 1/2)*%pi);
      (%o3)                       - cos(x)

Variable optativa: trigsign

  Valor por defecto: `true`

  Si `trigsign` vale `true`, se permite la simplificación de argumentos negativos en funciones trigonométricas, como en `sin(-x)`, que se transformará en `-sin(x)` sólo si `trigsign` vale `true`.

Función: trigsimp (expr)

  Utiliza las identidades sin(x)^2 + cos(x)^2 = 1 y cosh(x)^2 - sinh(x)^2 = 1 para simplificar expresiones que contienen `tan`, `sec`, etc., en expresiones con `sin`, `cos`, `sinh`, `cosh`.

  Las funciones `trigreduce`, `ratsimp` y `radcan` puden seguir siendo útiles para continuar el proceso de simplificación.

  La instrucción `demo ("trgsmp.dem")` muestra algunos ejemplos de `trigsimp`.

Función: trigrat (expr)

  Devuelve una forma canónica simplificada cuasi-lineal de una expresión trigonométrica; expr es una fracción racional que contiene `sin`, `cos` o `tan`, cuyos argumentos son formas lineales respecto de ciertas variables (o kernels) y `%pi/n` (n entero) con coeficientes enteros. El resultado es una fracción simplificada con el numerador y denominador lineales respecto de `sin` y `cos`. Así, `trigrat` devuelve una expresión lineal siempre que sea posible.

      (%i1) trigrat(sin(3*a)/sin(a+%pi/3));
      (%o1)            sqrt(3) sin(2 a) + cos(2 a) - 1

  El siguiente ejemplo se ha tomado de Davenport, Siret y Tournier, Calcul Formel, Masson (o en inglés, Addison-Wesley), sección 1.5.5, teorema de Morley.

      (%i1) c : %pi/3 - a - b$

      (%i2) bc : sin(a)*sin(3*c)/sin(a+b);
                                                %pi
                        sin(a) sin(3 (- b - a + ---))
                                                 3
      (%o2)             -----------------------------
                                 sin(b + a)

      (%i3) ba : bc, c=a, a=c;
                                               %pi
                          sin(3 a) sin(b + a - ---)
                                                3
      (%o3)               -------------------------
                                        %pi
                                sin(a - ---)
                                         3

      (%i4) ac2 : ba^2 + bc^2 - 2*bc*ba*cos(b);
               2         2         %pi
            sin (3 a) sin (b + a - ---)
                                    3
      (%o4) ---------------------------
                      2     %pi
                   sin (a - ---)
                             3
                                             %pi
       - (2 sin(a) sin(3 a) sin(3 (- b - a + ---)) cos(b)
                                              3
                   %pi            %pi
       sin(b + a - ---))/(sin(a - ---) sin(b + a))
                    3              3
            2       2              %pi
         sin (a) sin (3 (- b - a + ---))
                                    3
       + -------------------------------
                      2
                   sin (b + a)

      (%i5) trigrat (ac2);
      (%o5) - (sqrt(3) sin(4 b + 4 a) - cos(4 b + 4 a)
       - 2 sqrt(3) sin(4 b + 2 a) + 2 cos(4 b + 2 a)
       - 2 sqrt(3) sin(2 b + 4 a) + 2 cos(2 b + 4 a)
       + 4 sqrt(3) sin(2 b + 2 a) - 8 cos(2 b + 2 a) - 4 cos(2 b - 2 a)
       + sqrt(3) sin(4 b) - cos(4 b) - 2 sqrt(3) sin(2 b) + 10 cos(2 b)
       + sqrt(3) sin(4 a) - cos(4 a) - 2 sqrt(3) sin(2 a) + 10 cos(2 a)
       - 9)/4

Anterior: Introducción a la trigonometría, Subir: Funciones trigonométricas [Índice general][Índice]