Add some comments on how psi[s](p/q) is computed.
[maxima.git] / doc / info / pt / Special.texi
blob1713b21f8f785c9bd726d97c417b0424b3384836
1 @c /Special.texi/1.27/Mon Jan 15 06:08:56 2007/-ko/
2 @menu
3 * Introdução a Funções Especiais::  
4 * Definições para Funções Especiais::  
5 @end menu
7 @node Introdução a Funções Especiais, Definições para Funções Especiais, Funções Especiais, Funções Especiais
8 @section Introdução a Funções Especiais
10 A notação de função especial segue adiante:
12 @example
13 bessel_j (index, expr)         Função de Bessel, primeiro tipo
14 bessel_y (index, expr)         Função de Bessel, segundo tipo
15 bessel_i (index, expr)         Função de Bessel modificada, primeiro tipo
16 bessel_k (index, expr)         Função de Bessel modificada, segundo tipo
17 %he[n] (z)                     Polinómio de Hermite (Note bem: @code{he}, não @code{h}. Veja A&S 22.5.18)
18 %p[u,v] (z)                    Função de Legendre
19 %q[u,v] (z)                    Função de Legendre, segundo tipo
20 hstruve[n] (z)                 Função H de Struve H
21 lstruve[n] (z)                 Função de L Struve
22 %f[p,q] ([], [], expr)         Função Hipergeométrica Generalizada
23 gamma()                        Função Gamma
24 gamma_incomplete_lower(a,z)    Função gama incompleta inferior
25 gammaincomplete(a,z)           Final da função gama incompleta
26 @c IS slommel THE "LOMMEL" FUNCTION ?? NOT OTHERWISE MENTIONED IN TEXINFO FILES
27 slommel
28 %m[u,k] (z)                    Função de Whittaker, primeiro tipo
29 %w[u,k] (z)                    Função de Whittaker, segundo tipo
30 erfc (z)                       Complemento da função erf (função de erros - integral da distribuição normal)
31 ei (z)                         Integral de exponencial (?)
32 kelliptic (z)                  integral eliptica completa de primeiro tipo (K)
33 %d [n] (z)                     Função cilíndrica parabólica
34 @end example
36 @node Definições para Funções Especiais,  , Introdução a Funções Especiais, Funções Especiais
37 @section Definições para Funções Especiais
39 @deffn {Função} airy_ai (@var{x})
40 A função de Airy Ai, como definida em Abramowitz e Stegun,
41 @i{Handbook of Mathematical Functions}, Sessão 10.4. 
43 A equação de Airy @code{diff (y(x), x, 2) - x y(x) = 0} tem duas 
44 soluções linearmente independentes, @code{y = Ai(x)} e @code{y = Bi(x)}.
45 A derivada de @code{diff (airy_ai(x), x)} é @code{airy_dai(x)}.
47 Se o argumento @code{x} for um número real ou um número complexo qualquer deles em ponto
48 flutuante , o valor numérico de @code{airy_ai} é retornado 
49 quando possível.
51 Veja também @code{airy_bi}, @code{airy_dai}, @code{airy_dbi}.
52 @end deffn
55 @deffn {Função} airy_dai (@var{x})
56 A derivada da função de Airy Ai @code{airy_ai(x)}. 
58 Veja @code{airy_ai}.
59 @end deffn
61 @deffn {Função} airy_bi (@var{x})
62 A função de Airy Bi, como definida em Abramowitz e Stegun,
63 @i{Handbook of Mathematical Functions}, Sessão 10.4, 
64 é a segunda solução da equação de Airy
65 @code{diff (y(x), x, 2) - x y(x) = 0}.
67 Se o argumento @code{x} for um número real ou um número complexo qualquer deles em ponto flutuante,
68 o valor numérico de @code{airy_bi} é retornado quando possível.
69 Em outros casos a expressão não avaliada é retornada.
71 A derivada de @code{diff (airy_bi(x), x)} é @code{airy_dbi(x)}.
73 Veja @code{airy_ai}, @code{airy_dbi}.
74 @end deffn
77 @deffn {Função} airy_dbi (@var{x})
78 A derivada de função de Airy Bi @code{airy_bi(x)}.
80 Veja @code{airy_ai} e @code{airy_bi}.
81 @end deffn
83 @deffn {Função} asympa
84 @code{asympa} é um pacote para análise assintótica. O pacote contém
85 funções de simplificação para análise assintótica, incluindo as funções 
86 ``grande O'' e ``pequeno o'' que são largamente usadas em análises de complexidade e
87 análise numérica.
89 @code{load ("asympa")} chama esse pacote.
91 @end deffn
93 @deffn {Função} bessel (@var{z}, @var{a}) 
94 A função de Bessel de primeiro tipo.
96 Essa função está desactualizada.  Escreva @code{bessel_j (@var{z}, @var{a})} em lugar dessa.
98 @end deffn
101 @deffn {Função} bessel_j (@var{v}, @var{z})
102 A função de Bessel do primeiro tipo de ordem @math{v} e argumento @math{z}.
104 @code{bessel_j} calcula o array @code{besselarray} tal que
105 @code{besselarray [i] = bessel_j [i + v - int(v)] (z)} para @code{i} de zero a @code{int(v)}.
107 @code{bessel_j} é definida como
108 @ifhtml
109 @example
110                 inf
111                 ====       k  - v - 2 k  v + 2 k
112                 \     (- 1)  2          z
113                  >    --------------------------
114                 /        k! gamma(v + k + 1)
115                 ====
116                 k = 0
117 @end example
118 @end ifhtml
119 @ifinfo
120 @example
121                 inf
122                 ====       k  - v - 2 k  v + 2 k
123                 \     (- 1)  2          z
124                  >    --------------------------
125                 /        k! gamma(v + k + 1)
126                 ====
127                 k = 0
128 @end example
129 @end ifinfo
131 @tex
132 $$\sum_{k=0}^{\infty }{{{\left(-1\right)^{k}\,\left(z\over 2\right)^{v+2\,k}
133  }\over{k!\,\Gamma\left(v+k+1\right)}}}$$
134 @end tex
136 todavia séries infinitas não são usadas nos cálculos.
138 @end deffn
141 @deffn {Função} bessel_y (@var{v}, @var{z})
142 A função de Bessel do segundo tipo de ordem @math{v} e argumento @math{z}.
144 @code{bessel_y} calcula o array @code{besselarray} tal que
145 @code{besselarray [i] = bessel_y [i + v - int(v)] (z)} para @code{i} de zero a @code{int(v)}.
147 @code{bessel_y} é definida como
148 @ifhtml
149 @example
150               cos(%pi v) bessel_j(v, z) - bessel_j(-v, z)
151               -------------------------------------------
152                              sin(%pi v)
153 @end example
154 @end ifhtml
155 @ifinfo
156 @example
157               cos(%pi v) bessel_j(v, z) - bessel_j(-v, z)
158               -------------------------------------------
159                              sin(%pi v)
160 @end example
161 @end ifinfo
163 @tex
164 $${{\cos \left(\pi\,v\right)\,J_{v}(z)-J_{-v}(z)}\over{
165  \sin \left(\pi\,v\right)}}$$
166 @end tex
168 quando @math{v} não for um inteiro.  Quando @math{v} for um inteiro @math{n},
169 o limite com @math{v} aprocimando-se de @math{n} é tomado.
171 @end deffn
174 @deffn {Função} bessel_i (@var{v}, @var{z})
175 A função de Bessel modificada de primeiro tipo de ordem @math{v} e argumento @math{z}.
177 @code{bessel_i} calcula o array @code{besselarray} tal que
178 @code{besselarray [i] = bessel_i [i + v - int(v)] (z)} para @code{i} de zero a @code{int(v)}.
180 @code{bessel_i} é definida como
181 @ifhtml
182 @example
183                     inf
184                     ====   - v - 2 k  v + 2 k
185                     \     2          z
186                      >    -------------------
187                     /     k! gamma(v + k + 1)
188                     ====
189                     k = 0
190 @end example
191 @end ifhtml
192 @ifinfo
193 @example
194                     inf
195                     ====   - v - 2 k  v + 2 k
196                     \     2          z
197                      >    -------------------
198                     /     k! gamma(v + k + 1)
199                     ====
200                     k = 0
201 @end example
202 @end ifinfo
204 @tex
205 $$\sum_{k=0}^{\infty } {{1\over{k!\,\Gamma
206  \left(v+k+1\right)}} {\left(z\over 2\right)^{v+2\,k}}}$$
207 @end tex
209 todavia séries infinitas não são usadas nos cálculos.
211 @end deffn
214 @deffn {Função} bessel_k (@var{v}, @var{z})
215 A função de Bessel modificada de segundo tipo de ordem @math{v} e argumento @math{z}.
217 @code{bessel_k} calcula o array @code{besselarray} tal que
218 @code{besselarray [i] = bessel_k [i + v - int(v)] (z)} para @code{i} de zero a @code{int(v)}.
220 @code{bessel_k} é definida como
221 @ifhtml
222 @example
223            %pi csc(%pi v) (bessel_i(-v, z) - bessel_i(v, z))
224            -------------------------------------------------
225                                   2
226 @end example
227 @end ifhtml
228 @ifinfo
229 @example
230            %pi csc(%pi v) (bessel_i(-v, z) - bessel_i(v, z))
231            -------------------------------------------------
232                                   2
233 @end example
234 @end ifinfo
235 @tex
236 $${{\pi\,\csc \left(\pi\,v\right)\,\left(I_{-v}(z)-I_{v}(z)\right)}\over{2}}$$
237 @end tex
239 quando @math{v} não for inteiro.  Se @math{v} for um inteiro @math{n},
240 então o limite  com @math{v} aproximando-se de @math{n} é tomado.
242 @end deffn
244 @defvr {Variável de opção} besselexpand
245 Valor por omissão: @code{false}
247 @c REPHRASE
248 Expansões de controle de funções de Bessel quando a ordem for a metade de
249 um inteiro ímpar.  Nesse caso, as funções de Bessel podem ser expandidas
250 em termos de outras funções elementares.  Quando @code{besselexpand} for @code{true},
251 a função de Bessel é expandida.
253 @example
254 (%i1) besselexpand: false$
255 (%i2) bessel_j (3/2, z);
256                                     3
257 (%o2)                      bessel_j(-, z)
258                                     2
259 (%i3) besselexpand: true$
260 (%i4) bessel_j (3/2, z);
261                           2 z   sin(z)   cos(z)
262 (%o4)                sqrt(---) (------ - ------)
263                           %pi      2       z
264                                   z
265 @end example
266 @end defvr
268 @deffn {Função} scaled_bessel_i (@var{v}, @var{z}) 
270 A função homotética modificada de Bessel de primeiro tipo de ordem
271 @math{v} e argumento @math{z}.  Isto é, @math{scaled_bessel_i(v,z) =
272 exp(-abs(z))*bessel_i(v, z)}. Essa função é particularmente útil
273 para calcular @math{bessel_i} para grandes valores de @math{z}.
274 Todavia, maxima não conhece outra forma muito mais sobre essa função.  Para
275 computação simbólica, é provavelmete preferível trabalhar com a expressão
276 @code{exp(-abs(z))*bessel_i(v, z)}.
278 @end deffn
280 @deffn {Função} scaled_bessel_i0 (@var{z}) 
282 Idêntica a @code{scaled_bessel_i(0,z)}.
284 @end deffn
286 @deffn {Função} scaled_bessel_i1 (@var{z}) 
288 Idêntica a @code{scaled_bessel_i(1,z)}.
290 @end deffn
292 @deffn {Função} beta (@var{x}, @var{y})
293 A função beta, definida como @code{gamma(x) gamma(y)/gamma(x + y)}.
294 @c SEEMS LIKE THERE SHOULD BE MORE TO SAY HERE
295 @c ANY SIMPLIFICATION RULES FOR THIS FUNCTION ??
297 @end deffn
299 @deffn {Função} gamma (@var{x})
300 A função gama.
302 @c SEEMS POINTLESS TO MENTION THE FOLLOWING IDENTITY, 
303 @c AS MAXIMA DOESN'T SEEM TO CARRY OUT THIS SIMPLIFICATION
304 @c GAMMA(I)=(I-1)!  for I a positive integer.
306 Veja também @code{makegamma}.
308 A variável @code{gammalim} controla a simplificação da função gama.
310 A constante de Euler-Mascheroni é @code{%gamma}.
312 @end deffn
314 @defvr {Variável de opção} gammalim
315 Valor por omissão: 1000000
317 @c REPHRASE
318 @code{gammalim} controla a simplificação da função
319 gama para integral e argumentos na forma de números racionais.  Se o valor
320 absoluto do argumento não for maior que @code{gammalim}, então
321 a simplificação ocorrerá.  Note que @code{factlim} comuta controle de
322 simplificaçcão do resultado de @code{gamma} de um argumento inteiro também.
324 @end defvr
326 @c NEED EXAMPLES HERE
327 @deffn {Função} intopois (@var{a})
328 Converte @var{a} em um código de Poisson.
330 @end deffn
332 @c NEED CROSS REFS HERE
333 @c NEED EXAMPLES HERE
334 @deffn {Função} makefact (@var{expr})
335 Transforma instâncias de funções binomiais, gama,
336 e beta em @var{expr} para factoriais.
338 Veja também @code{makegamma}.
340 @end deffn
342 @c NEED CROSS REFS HERE
343 @c NEED EXAMPLES HERE
344 @deffn {Função} makegamma (@var{expr})
345 Transforma instâncias de funções binomiais, factorial,
346 e beta em @var{expr} para funções gama.
348 Veja também @code{makefact}.
350 @end deffn
352 @c AREN'T THERE OTHER FUNCTIONS THAT DO ESSENTIALLY THE SAME THING ??
353 @deffn {Função} numfactor (@var{expr})
354 Retorna o factor numérico multiplicando a expressão
355 @var{expr}, que pode ser um termo simples.
357 @c WHY IS content MENTIONED IN THIS CONTEXT ??
358 @code{content} retorna o máximo divisor comum (mdc) de todos os termos em uma adição.
360 @example
361 (%i1) gamma (7/2);
362                           15 sqrt(%pi)
363 (%o1)                     ------------
364                                8
365 (%i2) numfactor (%);
366                                15
367 (%o2)                          --
368                                8
369 @end example
371 @end deffn
373 @c NEED EXAMPLES HERE
374 @deffn {Função} outofpois (@var{a})
375 Converte @var{a} de um código de Poisson para uma representação
376 geral.  Se @var{a} não for uma forma de Poisson, @code{outofpois} realiza a conversão,
377 i.e., o valor de retorno é @code{outofpois (intopois (@var{a}))}.
378 Essa função é desse modo um simplificador canónico
379 para adições e potências de termos de seno e co-seno de um tipo particular.
381 @end deffn
383 @c NEED MORE INFO HERE
384 @c NEED EXAMPLES HERE
385 @deffn {Função} poisdiff (@var{a}, @var{b})
386 Deriva @var{a} com relação a @var{b}.  @var{b} deve ocorrer somente
387 nos argumentos trigonométricos ou somente nos coeficientes.
389 @end deffn
391 @c LOOKING AT THE CODE IN src/pois3.lisp, THIS FCN SEEMS TO COMPUTE THE EXPONENT BY MULTIPLYING IN A LOOP
392 @c DUNNO HOW WE WANT TO EXPLAIN THAT
393 @c REPHRASE WITHOUT USING THE TERM "FUNCTIONALLY IDENTICAL"
394 @deffn {Função} poisexpt (@var{a}, @var{b})
395 Funcionalmente identica a @code{intopois (@var{a}^@var{b})}.
396 @var{b} deve ser um inteiro positico.
398 @end deffn
400 @c WHAT IS THIS ABOUT ??
401 @deffn {Função} poisint (@var{a}, @var{b})
402 Integra em um senso restrito similarmente (para
403 @code{poisdiff}).  Termos não periódicos em @var{b} são diminuídos se @var{b} estiver em argumentos
404 trigonométricos.
406 @end deffn
408 @defvr {Variável de opção} poislim
409 Valor por omissão: 5
411 @code{poislim} determina o domínio dos coeficientes nos
412 argumentos de funções trigonométricas.  O valor inicial de 5
413 corresponde ao intervalo [-2^(5-1)+1,2^(5-1)], ou [-15,16], mas isso
414 pode ser alterado para [-2^(n-1)+1, 2^(n-1)].
416 @end defvr
418 @c UMM, WHAT IS THIS ABOUT EXACTLY ?? EXAMPLES NEEDED
419 @deffn {Função} poismap (@var{series}, @var{sinfn}, @var{cosfn})
420 mapeará as funções @var{sinfn} sobre os
421 termos de seno e @var{cosfn} ssobre os termos de co-seno das séries de Poisson dadas.
422 @var{sinfn} e @var{cosfn} são funções de dois argumentos que são um coeficiente
423 e uma parte trigonométrica de um termo em séries respectivamente.
425 @end deffn
427 @c REPHRASE WITHOUT USING THE TERM "FUNCTIONALLY IDENTICAL"
428 @deffn {Função} poisplus (@var{a}, @var{b})
429 É funcionalmente identica a @code{intopois (a + b)}.
431 @end deffn
433 @deffn {Função} poissimp (@var{a})
434 Converte @var{a} em séries de Poisson para @var{a} em representação
435 geral.
437 @end deffn
439 @c MORE INFO NEEDED HERE
440 @defvr {Símbolo especial} poisson
441 O símbolo @code{/P/} segue o rótulo de linha de uma expressão contendo séries de
442 Poisson.
444 @end defvr
446 @deffn {Função} poissubst (@var{a}, @var{b}, @var{c})
447 Substitue @var{a} por @var{b} em @var{c}.  @var{c} é uma série de Poisson.
449 (1) Quando @var{B} é uma variável @var{u}, @var{v}, @var{w}, @var{x}, @var{y}, ou @var{z},
450 então @var{a} deve ser uma
451 expressão linear nessas variáveis (e.g., @code{6*u + 4*v}).
453 (2) Quando @var{b} for outra que não essas variáveis, então @var{a} deve também ser
454 livre dessas variáveis, e além disso, livre de senos ou co-senos.
456 @code{poissubst (@var{a}, @var{b}, @var{c}, @var{d}, @var{n})} é um tipo especial d substituição que
457 opera sobre @var{a} e @var{b} como no tipo (1) acima, mas onde @var{d} é uma série de
458 Poisson, expande @code{cos(@var{d})} e @code{sin(@var{d})} para a ordem @var{n} como provendo o
459 resultado da substituição @code{@var{a} + @var{d}} por @var{b} em @var{c}.  A idéia é que @var{d} é uma
460 expansão em termos de um pequeno parâmetro.  Por exemplo,
461 @code{poissubst (u, v, cos(v), %e, 3)} retorna @code{cos(u)*(1 - %e^2/2) - sin(u)*(%e - %e^3/6)}.
463 @end deffn
465 @c REPHRASE WITHOUT USING THE TERM "FUNCTIONALLY IDENTICAL"
466 @deffn {Função} poistimes (@var{a}, @var{b})
467 É funcionalmente idêntica a @code{intopois (@var{a}*@var{b})}.
469 @end deffn
471 @c HOW DOES THIS WORK ?? NEED MORE INFO AND EXAMPLES
472 @deffn {Função} poistrim ()
473 é um nome de função reservado que (se o utilizador tiver definido
474 uma função com esse nome) é aplicada durante multiplicação de Poisson.  Isso é uma função
475 predicada de 6 argumentos que são os coeficientes de @var{u}, @var{v}, ..., @var{z}
476 em um termo.  Termos para os quais @code{poistrim} for @code{true} (para os coeficientes
477 daquele termo) são eliminados durante a multiplicação.
479 @end deffn
481 @deffn {Função} printpois (@var{a})
482 Mostra uma série de Poisson em um formato legível.  Em comum
483 com @code{outofpois}, essa função converterá @var{a} em um código de Poisson primeiro, se
484 necessário.
486 @end deffn
488 @c NEED INFO HERE ABOUT THE SUBSCRIPTED FORM psi[n](x)
489 @c I (rtoy) don't think there is a plain psi(x) function anymore.
490 @c @deffn {Função} psi (@var{x})
491 @c @deffnx {Função} psi [@var{n}](@var{x})
492 @deffn {Função} psi [@var{n}](@var{x})
494 A derivada de @code{log (gamma (@var{x}))} de ordem @code{@var{n}+1}.
495 Dessa forma, @code{psi[0](@var{x})} é a primeira derivada,
496 @code{psi[1](@var{x})} é a segunda derivada, etc.
498 Maxima não sabe como, em geral, calcular um valor numérico de
499 @code{psi}, mas Maxima pode calcular alguns valores exatos para argumentos racionais.
500 Muitas variáveis controlam qual intervalo de argumentos racionais @code{psi} irá
501 retornar um valor exato, se possível.  Veja @code{maxpsiposint},
502 @code{maxpsinegint}, @code{maxpsifracnum}, e @code{maxpsifracdenom}.
503 Isto é, @var{x} deve localizar-se entre @code{maxpsinegint} e
504 @code{maxpsiposint}.  Se o valor absoluto da parte facionária de
505 @var{x} for racional e tiver um numerador menor que @code{maxpsifracnum}
506 e tiver um denominador menor que @code{maxpsifracdenom}, @code{psi}
507 irá retornar um valor exato.
509 A função @code{bfpsi} no pacote @code{bffac} pode calcular
510 valores numéricos.
512  @end deffn
514 @defvr {Variável de opção} maxpsiposint
515 Valor por omissão: 20
517 @code{maxpsiposint} é o maior valor positivo para o qual
518 @code{psi[n](x)} irá tentar calcular um valor exato.
520 @end defvr
522 @defvr {Variável de opção} maxpsinegint
523 Valor por omissão: -10
525 @code{maxpsinegint} é o valor mais negativo para o qual
526 @code{psi[n](x)} irá tentar calcular um valor exato.  Isto é, se
527 @var{x} for menor que @code{maxnegint}, @code{psi[n](@var{x})} não irá
528 retornar resposta simplificada, mesmo se isso for possível.
530 @end defvr
532 @defvr {Variável de opção} maxpsifracnum
533 Valor por omissão: 4
535 Tomemos @var{x} como sendo um número racional menor que a unidade e da forma @code{p/q}.
536 Se @code{p} for menor que @code{maxpsifracnum}, então
537 @code{psi[@var{n}](@var{x})} não irá tentar retornar um valor
538 simplificado.
540 @end defvr
542 @deffn {Função} specint (exp(- s*@var{t}) * @var{expr}, @var{t})
544 Calcula a transformada de Laplace de @var{expr} com ralação à variável @var{t}.
545 O integrando @var{expr} pode conter funções especiais.
547 Se @code{specint} não puder calcular a integral, o valore de retorno pode
548 conter vários símbolos do Lisp, incluindo
549 @code{other-defint-to-follow-negtest},
550 @code{other-lt-exponential-to-follow},
551 @code{product-of-y-with-nofract-indices}, etc.; isso é um erro.  
552 @c REPORTED AS SOURCEFORGE BUG # 1162505
554 @code{demo(hypgeo)} mostra muitos exemplos de transformadas de Laplace calculados por @code{specint}.
556 Exemplos:
557 @c ===beg===
558 @c assume (p > 0, a > 0);
559 @c specint (t^(1/2) * exp(-a*t/4) * exp(-p*t), t);
560 @c specint (t^(1/2) * bessel_j(1, 2 * a^(1/2) * t^(1/2)) * exp(-p*t), t);
561 @c ===end===
563 @example
564 (%i1) assume (p > 0, a > 0);
565 (%o1)                    [p > 0, a > 0]
566 (%i2) specint (t^(1/2) * exp(-a*t/4) * exp(-p*t), t);
567                            sqrt(%pi)
568 (%o2)                     ------------
569                                  a 3/2
570                           2 (p + -)
571                                  4
572 (%i3) specint (t^(1/2) * bessel_j(1, 2 * a^(1/2) * t^(1/2)) * exp(-p*t), t);
573                                    - a/p
574                          sqrt(a) %e
575 (%o3)                    ---------------
576                                 2
577                                p
578 @end example
580 @end deffn
582 @defvr {Variável de opção} maxpsifracdenom
583 Valor por omissão: 4
585 Tomemos @var{x} como sendo um número racional menor que a unidade e da forma @code{p/q}.
586 Se @code{q} for maior que @code{maxpsifracdeonm}, então
587 @code{psi[@var{n}](@var{x})} não irá tentar retornar um valor
588 simplificado.
591 @end defvr