Introducedilhaão ao Pacote Trigonométrico
=========================================

Maxima tem muitas funcedilhaões trigonométricas definidas.  Não todas as identidades trigonometricas estão programadas, mas isso é possível para o utilizador adicionar muitas delas usando a compatibilidade de correspondência de modelos do sistema.  As funcedilhaões trigonométricas definidas no Maxima são: acos, acosh, acot, acoth, acsc, acsch, asec, asech, asin, asinh, atan, atanh, cos, cosh, cot, coth, csc, csch, sec, sech, sin, sinh, tan, e tanh.  Existe uma colecção de comandos especialmente para manusear funcedilhaões trigonométricas, veja trigexpand, trigreduce, e o comutador trigsign.  Dois pacotes compartilhados extendem as regras de simplificacedilhaão construídas no Maxima, ntrig e atrig1.  Facedilhaa describe(COMANDO) para detalhes.

Definicedilhaões para Trigonometria
===================================

 -- Funcedilhaão: acos (X)
     - Arco Cosseno.

 -- Funcedilhaão: acosh (X)
     - Arco Cosseno Hiperbólico.

 -- Funcedilhaão: acot (X)
     - Arco Cotangente.

 -- Funcedilhaão: acoth (X)
     - Arco Cotangente Hiperbólico.

 -- Funcedilhaão: acsc (X)
     - Arco Cossecante.

 -- Funcedilhaão: acsch (X)
     - Arco Cossecante Hiperbólico.

 -- Funcedilhaão: asec (X)
     - Arco Secante.

 -- Funcedilhaão: asech (X)
     - Arco Secante Hiperbólico.

 -- Funcedilhaão: asin (X)
     - Arco Seno.

 -- Funcedilhaão: asinh (X)
     - Arco Seno Hiperbólico.

 -- Funcedilhaão: atan (X)
     - Arco Tangente.

 -- Funcedilhaão: atan2 (Y, X)
     - retorna o valor de atan(Y/X) no intervalo de -%pi a %pi.

 -- Funcedilhaão: atanh (X)
     - Arco tangente Hiperbólico.

 -- Pacote: atrig1
     O pacote atrig1 contém muitas regras adicionais de simplificacedilhaão para funcedilhaões trigonométricas inversas.  Junto com regras já conhecidas para Maxima, os seguintes ângulos estão completamente implementados: 0, %pi/6, %pi/4, %pi/3, e %pi/2. Os ângulos correspondentes nos outros três quadrantes estão também disponíveis. Facedilhaa load(atrig1); para usá-lo.

 -- Funcedilhaão: cos (X)
     - Cosseno.

 -- Funcedilhaão: cosh (X)
     - Cosseno hiperbólico.

 -- Funcedilhaão: cot (X)
     - Cotangente.

 -- Funcedilhaão: coth (X)
     - Cotangente Hyperbólica.

 -- Funcedilhaão: csc (X)
     - Cossecante.

 -- Funcedilhaão: csch (X)
     - Cossecante Hyperbólica.

 -- Variável de opcedilhaão: halfangles
     Default value: false

     Quando halfangles for true, meios-ângulos são simplificados imediatamente.

 -- Pacote: ntrig
     O pacote ntrig contém um conjunto de regras de simplificacedilhaão que são usadas para simplificar funcedilhaão trigonométrica cujos argumentos estão na forma F(N %pi/10) onde F é qualquer das funcedilhaões sin, cos, tan, csc, sec e cot.

 -- Funcedilhaão: sec (X)
     - Secante.

 -- Funcedilhaão: sech (X)
     - Secante Hyperbólica.

 -- Funcedilhaão: sin (X)
     - Seno.

 -- Funcedilhaão: sinh (X)
     - Seno Hyperbólico.

 -- Funcedilhaão: tan (X)
     - Tangente.

 -- Funcedilhaão: tanh (X)
     - Tangente Hyperbólica.

 -- Funcedilhaão: trigexpand (EXPR)
     Expande funcedilhaões trigonometricas e hyperbólicas de adicedilhaões de ângulos e de ângulos multiplos que ocorram em EXPR.  Para melhores resultados, EXPR deve ser expandida.  Para intensificar o controle do utilizador na simplificacedilhaão, essa funcedilhaão expande somente um nível de cada vez, expandindo adicedilhaões de ângulos ou ângulos multiplos.  Para obter expansão completa dentro de senos e co-senos imediatamente, escolha o comutador trigexpand: true.

     trigexpand é governada pelos seguintes sinalizadores globais:

     trigexpand
          Se true causa expansão de todas as expressões contendo senos e co-senos ocorrendo subsequêntemente.

     halfangles
          Se true faz com que meios-ângulos sejam simplificados imediatamente.

     trigexpandplus
          Controla a regra "soma" para trigexpand, expansão de adicedilhaões (e.g. sin(x + y)) terão lugar somente se trigexpandplus for true.

     trigexpandtimes
          Controla a regra "produto" para trigexpand, expansão de produtos (e.g. sin(2 x)) terão lugar somente se trigexpandtimes for true.

     Exemplos:

          (%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)

 -- Variável de opcedilhaão: trigexpandplus
     Valor por omissão: true

     trigexpandplus controla a regra da "soma" para trigexpand.  Dessa forma, quando o comando trigexpand for usado ou o comutador trigexpand escolhido para true, expansão de adicedilhaões (e.g. sin(x+y)) terão lugar somente se trigexpandplus for true.

 -- Variável de opcedilhaão: trigexpandtimes
     Valor por omissão: true

     trigexpandtimes controla a regra "produto" para trigexpand.  Dessa forma, quando o comando trigexpand for usado ou o comutador trigexpand escolhido para true, expansão de produtos (e.g. sin(2*x)) terão lugar somente se trigexpandtimes for true.

 -- Variável de opcedilhaão: triginverses
     Valor por omissão: all

     triginverses controla a simplificacedilhaão de composicedilhaões de funcedilhaões trigonométricas e hiperbólicas com suas funcedilhaões inversas.

     Se all, ambas e.g. atan(tan(X)) e tan(atan(X)) simplificarão para X.

     Se true, a simplificacedilhaão  de ARCFUN(FUN(X)) é desabilitada.

     Se false, ambas as simplificacedilhaões ARCFUN(FUN(X)) e FUN(ARCFUN(X)) são desabilitadas.

 -- Funcedilhaão: trigreduce (EXPR, X)
 -- Funcedilhaão: trigreduce (EXPR)
     Combina produtos e expoentes de senos e cossenso trigonométricos e hiperbólicos de X dentro daqueles de múltiplos de X. Também tenta eliminar essas funcedilhaões quando elas ocorrerem em denominadores.  Se X for omitido então todas as variáveis em EXPR são usadas.

     Veja também 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

     As rotinas de simplificacedilhaão trigonométrica irão usar informacedilhaões declaradas em alguns casos simples.  Declaracedilhaões sobre variáveis são usadas como segue, e.g.

          (%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)

 -- Variável de opcedilhaão: trigsign
     Valor por omissão: true

     Quando trigsign for true, permite simplificacedilhaão de argumentos negativos para funcedilhaões trigonométricas. E.g., sin(-x) transformar-se-á em -sin(x) somente se trigsign for true.

 -- Funcedilhaão: trigsimp (EXPR)
     Utiliza as identidades sin(x)^2 + cos(x)^2 = 1 and cosh(x)^2 - sinh(x)^2 = 1 para simplificar expressões contendo tan, sec, etc., para sin, cos, sinh, cosh.

     trigreduce, ratsimp, e radcan podem estar habilitadas a adicionar simplificacedilhaões ao resultado.

     demo ("trgsmp.dem") mostra alguns exemplos de trigsimp.

 -- Funcedilhaão: trigrat (EXPR)
     Fornece uma forma quase-linear simplificada canónica de uma expressão trigonométrica; EXPR é uma fracedilhaão racional de muitos sin, cos ou tan, os argumentos delas são formas lineares em algumas variáveis (ou kernels-núcleos) e %pi/N (N inteiro) com coeficientes inteiros. O resultado é uma fracedilhaão simplificada com numerador e denominador ambos lineares em sin e cos. Dessa forma trigrat lineariza sempre quando isso for passível.

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

     O seguinte exemplo encontra-se em Davenport, Siret, and Tournier, Calcul Formel, Masson (ou em inglês, Addison-Wesley), seccedilhaão 1.5.5, teorema de Morley.

          (%i1) c: %pi/3 - a - b;
                                              %pi
          (%o1)                     - b - a + ---
                                               3
          (%i2) bc: sin(a)*sin(3*c)/sin(a+b);
                                sin(a) sin(3 b + 3 a)
          (%o2)                 ---------------------
                                     sin(b + a)
          (%i3) ba: bc, c=a, a=c$
          (%i4) ac2: ba^2 + bc^2 - 2*bc*ba*cos(b);
                   2       2
                sin (a) sin (3 b + 3 a)
          (%o4) -----------------------
                         2
                      sin (b + a)

                                                  %pi
             2 sin(a) sin(3 a) cos(b) sin(b + a - ---) sin(3 b + 3 a)
                                                   3
           - --------------------------------------------------------
                                     %pi
                             sin(a - ---) sin(b + a)
                                      3

                2         2         %pi
             sin (3 a) sin (b + a - ---)
                                     3
           + ---------------------------
                       2     %pi
                    sin (a - ---)
                              3
          (%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