1 @c /Special.texi/1.27/Mon Jan 15 06:08:56 2007/-ko/
3 * Introdução a Funções Especiais::
4 * Definições para Funções Especiais::
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:
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
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
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
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
51 Veja também @code{airy_bi}, @code{airy_dai}, @code{airy_dbi}.
55 @deffn {Função} airy_dai (@var{x})
56 A derivada da função de Airy Ai @code{airy_ai(x)}.
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}.
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}.
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
89 @code{load ("asympa")} chama esse pacote.
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.
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
111 ==== k - v - 2 k v + 2 k
113 > --------------------------
114 / k! gamma(v + k + 1)
122 ==== k - v - 2 k v + 2 k
124 > --------------------------
125 / k! gamma(v + k + 1)
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)}}}$$
136 todavia séries infinitas não são usadas nos cálculos.
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
150 cos(%pi v) bessel_j(v, z) - bessel_j(-v, z)
151 -------------------------------------------
157 cos(%pi v) bessel_j(v, z) - bessel_j(-v, z)
158 -------------------------------------------
164 $${{\cos \left(\pi\,v\right)\,J_{v}(z)-J_{-v}(z)}\over{
165 \sin \left(\pi\,v\right)}}$$
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.
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
184 ==== - v - 2 k v + 2 k
186 > -------------------
187 / k! gamma(v + k + 1)
195 ==== - v - 2 k v + 2 k
197 > -------------------
198 / k! gamma(v + k + 1)
205 $$\sum_{k=0}^{\infty } {{1\over{k!\,\Gamma
206 \left(v+k+1\right)}} {\left(z\over 2\right)^{v+2\,k}}}$$
209 todavia séries infinitas não são usadas nos cálculos.
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
223 %pi csc(%pi v) (bessel_i(-v, z) - bessel_i(v, z))
224 -------------------------------------------------
230 %pi csc(%pi v) (bessel_i(-v, z) - bessel_i(v, z))
231 -------------------------------------------------
236 $${{\pi\,\csc \left(\pi\,v\right)\,\left(I_{-v}(z)-I_{v}(z)\right)}\over{2}}$$
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.
244 @defvr {Variável de opção} besselexpand
245 Valor por omissão: @code{false}
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.
254 (%i1) besselexpand: false$
255 (%i2) bessel_j (3/2, z);
259 (%i3) besselexpand: true$
260 (%i4) bessel_j (3/2, z);
262 (%o4) sqrt(---) (------ - ------)
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)}.
280 @deffn {Função} scaled_bessel_i0 (@var{z})
282 Idêntica a @code{scaled_bessel_i(0,z)}.
286 @deffn {Função} scaled_bessel_i1 (@var{z})
288 Idêntica a @code{scaled_bessel_i(1,z)}.
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 ??
299 @deffn {Função} gamma (@var{x})
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}.
314 @defvr {Variável de opção} gammalim
315 Valor por omissão: 1000000
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.
326 @c NEED EXAMPLES HERE
327 @deffn {Função} intopois (@var{a})
328 Converte @var{a} em um código de Poisson.
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}.
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}.
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.
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.
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.
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.
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
408 @defvr {Variável de opção} poislim
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)].
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.
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)}.
433 @deffn {Função} poissimp (@var{a})
434 Converte @var{a} em séries de Poisson para @var{a} em representação
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
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)}.
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})}.
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.
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
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
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.
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.
532 @defvr {Variável de opção} maxpsifracnum
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
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}.
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);
564 (%i1) assume (p > 0, a > 0);
566 (%i2) specint (t^(1/2) * exp(-a*t/4) * exp(-p*t), t);
572 (%i3) specint (t^(1/2) * bessel_j(1, 2 * a^(1/2) * t^(1/2)) * exp(-p*t), t);
575 (%o3) ---------------
582 @defvr {Variável de opção} maxpsifracdenom
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