[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Esse capítulo descreve a biblioteca de funções especias da GSL. A biblioteca de funções especias inclui rotinas para o cálculo dos valores das funções de Airy, das funções de Bessel, das funções de Clausen, das funções de onda de Coulomb, dos coeficientes de Coupling, da função de Dawson, das funções de Debye, dos Dilogaritmos, de integrais Elípticas, das funções elípticas de Jacobi, das funções de Erro, das integrais de exponenciais, das funções de Fermi-Dirac, das funções Gama, das funções de Gegenbauer, das funções Hipergeométricas, das funções de Laguerre, das funções de Legendre e Harmônicas esféricas, da Função Psi (Digama), Das funções do sincrotron, das funções de Transporte, das funções trigonométricas e das Funções Zeta. Cada rotina também calcula uma estimativa do erro numérico no valor calculado da função.
As funções nesse capítulo são declaradas em arquivos de cabeçalho individuais, tais como ‘gsl_sf_airy.h’, ‘gsl_sf_bessel.h’, etc. O conjunto completo de cabeçalhos pode ser incluído usando o arquivo ‘gsl_sf.h’.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções especias estão disponíveis em duas convenções de chamada, uma forma natural que retorna o valor numérico da função e uma forma controladora de erro que retorna um código de erro. Os dois tipos de função fornecem caminhos alternativos de acesso o mesmo código básico.
A forma natural retorna somente o valor da função e pode ser usado diretamente em expressões matemáticas. Por exemplo, A seguinte chamada de função irá calcular o vaor da função de Bessel J_0(x),
double y = gsl_sf_bessel_J0 (x);
Não existe forma de acessar um código de erro ou de estimar o erro usando esse método. Para permitir o acesso a essa informação a forma alternativa controladora de erro armazena o valor da função e o erro em um argumento modificável,
gsl_sf_result result; int status = gsl_sf_bessel_J0_e (x, &result);
As funções controladoras de erro possuem o sufixo _e
. O valor da
situação atual indica condições de erro tais como overflow, underflow ou
perda de precisão. Caso não hajam erros as funções controladoras de erro
retornam GSL_SUCCESS
.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A forma controladora de erro das funções especiais sempre calculam um erro estimado juntamente com o valor do resultado. Portanto, estruturas são fornecidas para amalgamar um valor e um erro estimado. Essas estruturas são declaradas no arquivo de cabeçalho ‘gsl_sf_result.h’.
A estrutura gsl_sf_result
contém campos valor e erro.
typedef struct { double val; double err; } gsl_sf_result;
O campo val contém o valor e o campo err contém uma estimativa de erro absoluto para o valor.
Em alguns casos, um overflow ou underflow pode ser detectado e manipulado pela
função controladora de erro. Nesse caso, pode ser possível retornar um expoente dimensionado
bem como um par erro/valor com o objetivo de evitar que o resultado
exceda o intervalo dinâmico dos tipos da dado construídos dentro da função. A
estrutura gsl_sf_result_e10
contém campos valor e erro bem como
um campo expoente tal que o resultado atual é obtido como
result * 10^(e10)
.
typedef struct { double val; double err; int e10; } gsl_sf_result_e10;
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
O objetivo da biblioteca é encontrar grande exatidão na precisão dupla sempre que
possível. Todavia o custo de avaliação de algumas funções especiais em
precisão dupla pode ser significante, particularmente onde são requeridos termos de
ordem muito alta. Nesses casos um argumento mode
permite que a
exatidão do termo seja reduzida com o objetivo de melhorar o desempenho.
Os seguintes níveis de exatidão estão disponíveis para o argumento mode,
GSL_PREC_DOUBLE
Precisão dupla, uma exatidão relativa de aproximadamente 2 * 10^-16.
GSL_PREC_SINGLE
Precisão simples, uma exatidão relativa de aproximadamente 10^-7.
GSL_PREC_APPROX
Valores aproximados, uma exatidão relativa de aproximadamente 5 * 10^-4.
O modo de valores aproximados fornecem a avaliação mais rápida com a exatidão mais baixa.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções de Airy Ai(x) e Bi(x) são definidas através das
representações de integral,
|
7.4.1 Funções Airy | ||
7.4.2 Derivadas das Funções de Airy | ||
7.4.3 Zeros das Funções de Airy | ||
7.4.4 Zeros de Derivadas de Funções de Airy |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função de Airy Ai(x) com uma exatidão especificada através de mode.
Essas rotinas calculam a função de Airy Bi(x) com uma exatidão especificada através de mode.
Essas rotinas calculam uma versão ajustada proporcionalmente da função de Airy S_A(x) Ai(x). Para x>0 o fator de proporcionalidade S_A(x) é \exp(+(2/3) x^(3/2)), e é 1 para x<0.
Essas rotinas calculam uma versão alterada proporcionalmente da função de Airy S_B(x) Bi(x). Para x>0 o fator de proporcionalidade S_B(x) é exp(-(2/3) x^(3/2)), e é 1 para x<0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a derivada da função de Airy Ai'(x) com uma exatidão especificada através de mode.
Essas rotinas calculam a derivada da função de Airy Bi'(x) com uma exatidão especificada através de mode.
Essas rotinas calculam a derivada da função de Airy alterada proporcionalmente S_A(x) Ai'(x). Para x>0 o fator de proporcionalidade S_A(x) é \exp(+(2/3) x^(3/2)), e é 1 para x<0.
Essas rotinas calculam a derivada da função de Airy alterada proporcionalmente S_B(x) Bi'(x). Para x>0 o fator de proporcionalidade S_B(x) é exp(-(2/3) x^(3/2)), e é 1 para x<0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a localização da s-ésima raíz da função de Airy Ai(x).
Essas rotinas calculam a localização da s-ésima raíz da função de Airy Bi(x).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a localização da s-ésima raíz da derivada da função de Airy Ai'(x).
Essas rotinas calculam a localização da s-ésima raíz da derivada da função de Airy Bi'(x).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As rotinas descritas nessa seção calculam as funções de Bessel Cilíndricas J_n(x), Y_n(x), funções de Bessel Cilíndricas Modificadas I_n(x), K_n(x), funções de Bessel Esféricas j_l(x), y_l(x), e funções de Bessel Esféricas Modificadas i_l(x), k_l(x). Para mais informação veja Abramowitz & Stegun, Capítulos 9 e 10. As funções de Bessel são definidas no arquivo de cabeçalho ‘gsl_sf_bessel.h’.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função de Bessel cilíndrica regular de zero-ésima ordem, J_0(x).
Essas rotinas calculam a função de Bessel cilíndrica regular primeira ordem, J_1(x).
Essas rotinas calculam a função de Bessel cilíndrica regular de ordem n, J_n(x).
Essa rotina calcula os valores das funções de Bessel cilíndricas regulares J_n(x) para n variando de nmin a nmax inclusive, armazenando os resultados no vetor estático result_array. Os valores são calculados usando relações de recorrência por eficiência, e portanto podem diferir levemente dos valores exatos.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função de Bessel cilíndrica irregular da zero-ésima ordem, Y_0(x), for x>0.
Essas rotinas calculam a função de Bessel cilíndrica irregular da primeira ordem, Y_1(x), for x>0.
Essas rotinas calculam a função de Bessel cilíndrica irregular de ordem n, Y_n(x), para x>0.
Essa rotina calcula os valores das funções de Bessel cilíndricas irregulares Y_n(x) para n variando de nmin a nmax inclusive, armazenando os resultados no vetor estático result_array. O domínio da função é x>0. Os valores são calculados usando relações de recorrência por eficiência, e portanto podem diferir levemente dos valores exatos.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função de Bessel cilíndrica modificada regular de zero-ésima ordem, I_0(x).
Essas rotinas calculam a função de Bessel cilíndrica modificada regular de primeira ordem, I_1(x).
Essas rotinas calculam a função de Bessel cilíndrica modificada regular de ordem n, I_n(x).
Essa rotina calcula os valores das funções de Bessel cilíndricas modificadas regulares I_n(x) para n variando de nmin a nmax inclusive, armazenando os resultados no vetor estático result_array. O início do intervalo nmin deve ser positivo ou zero. Os valores são calculados usando relações de recorência por eficiência, e portanto podem diferir levemente dos valores exatos.
Essas rotinas calculam a função de Bessel cilíndrica modificada regular de forma proporcional da zero-ésima ordem \exp(-|x|) I_0(x).
Essas rotinas calculam a função de Bessel cilíndrica modificada regular de forma proporcional de primeira ordem \exp(-|x|) I_1(x).
Essas rotinas calculam a função de Bessel cilíndrica modificada regular de forma proporcional de ordem n, \exp(-|x|) I_n(x)
essa rotina calcula os valores das funções de Bessel cilíndricas regulares alteradas proporcionalmente \exp(-|x|) I_n(x) para n variando de nmin a nmax inclusive, armazenando os resultados no vetor estático result_array. O início do intervalo nmin deve ser positivo ou zero. Os valores são calculados usando relações de recorrência por eficiência, e portanto podem diferir levemente dos valores exatos.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função de Bessel cilíndrica modificada irregular de zero-ésima ordem, K_0(x), for x > 0.
Essas rotinas calculam a função de Bessel cilídrica modificada irregular de primeira ordem, K_1(x), para x > 0.
Essas rotinas calculam a função de Bessel cilíndrica modificada irregular de ordem n, K_n(x), para x > 0.
Essa rotina calcula os valores das funções de Bessel cilíndricas modificadas irregulares K_n(x) para n variando de nmin a nmax inclusive, armazenando os resultados no vetor estático result_array. O início do intervalo nmin deve ser positivo ou zero. O domínio da função é x>0. Os valores são calculados usando relações de recorrência por eficiência, e portanto podem diferir levemente dos valores exatos.
Essas rotinas calculam a função de Bessel cilíndrica modificada irregular ajustada proporcionalmente de zero-ésima ordem \exp(x) K_0(x) para x>0.
Essas rotinas calculam a função de Bessel cilíndrica modificada irregular de primeira ordem \exp(x) K_1(x) para x>0.
Essas rotinas calculam a função de Bessel cilíndrica modificada irregular ajustada proporcionalmente de ordem n, \exp(x) K_n(x), para x>0.
Essa rotina calcula os valores das funções de Bessel cilíndricas irregulares ajustadas proporcionalmente \exp(x) K_n(x) para n variando de nmin a nmax inclusive, armazenando os resultados no vetor estático result_array. O início do intervalo nmin deve ser positivo ou zero. O domínio da função é x>0. Os valores são calculados usando relações de recorrência por eficiência, e portanto podem diferir levemente dos valores exatos.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função de Bessel esférica regular de zero-ésima ordem, j_0(x) = \sin(x)/x.
Essas rotinas calculam a função de Bessel esférica de primeira ordem, j_1(x) = (\sin(x)/x - \cos(x))/x.
Essas rotinas calculam a função de Bessel esférica regular de segunda ordem, j_2(x) = ((3/x^2 - 1)\sin(x) - 3\cos(x)/x)/x.
Essas rotinas calculam a função de Bessel esférica regular de ordem l, j_l(x), para l >= 0 e x >= 0.
Essa rotina calcula os valores das funções de Bessel esféricas regulares j_l(x) para l variando de 0 a lmax inclusive para lmax >= 0 e x >= 0, armazenando os resultados no vetor estático result_array. Os valores são calculados usando relações de recoreência por eficiência e portanto podem diferir levemente dos valores exatos.
Essa rotina usa o método de Steed para calcular os valores das funções de Bessel esféricas regulares j_l(x) para l variando de 0 a lmax inclusive para lmax >= 0 e x >= 0, armazenando os resultados no vetor estático result_array. O algoritmo de Steed/Barnett está descrito em Comp. Phys. Comm. 21, 297 (1981). O método de Steed é mais estável que a recorrência usada em outras funções mas é também mais lento.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa rotina calcula a função de Bessel esférica irregula de zero-ésima ordem, y_0(x) = -\cos(x)/x.
Essa rotina calcula a função de Bessel esférica irregular de primeira ordem, y_1(x) = -(\cos(x)/x + \sin(x))/x.
Essa rotina calcula a função de Bessel esférica irregular de segunda ordem, y_2(x) = (-3/x^3 + 1/x)\cos(x) - (3/x^2)\sin(x).
Essa rotina calcula a função de Bessel esférica irregular de ordem l, y_l(x), para l >= 0.
Essa rotina calcula os valores das funções de Bessel esféricas irregulares y_l(x) para l variado de 0 a lmax inclusive para lmax >= 0, armazenando os resultados no vetor estático result_array. Os valores são calculados usando relações de recorrência por eficiência, e portanto podem diferir levemente dos valores exatos.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções de Bessel esféricas modificadas regulares i_l(x) estão relacionadas às funções de Bessel modificadas de ordem fracionária, i_l(x) = \sqrt{\pi/(2x)} I_{l+1/2}(x)
Essa rotina calcula a função de Bessel esférica modificada ajustada proporcionalmente de zero-ésima ordem, \exp(-|x|) i_0(x).
Essa rotina calcula a função de Bessel esférica modificada ajustada proporcionalmente de primeira ordem, \exp(-|x|) i_1(x).
Essa rotina calcula a função de Bessel esférica modificada ajustada proporcionalmente de segunda ordem, \exp(-|x|) i_2(x)
Essa rotina calcula função de Bessel esférica modificada ajustada proporcionalmente de ordem l, \exp(-|x|) i_l(x)
Essa rotina calcula os valores das funções de Bessel cilíndricas modificadas regulares ajustadas proporcionalmente \exp(-|x|) i_l(x) para l variando de 0 a lmax inclusive para lmax >= 0, armazenando os resultados no vetor estático result_array. Os valores são calculados usando relações de recorrência por eficiência, e portanto podem diferir levemente do valor exato.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções de Bessel esféricas modificadas irregulares k_l(x) estão relacionadas às funções de Bessel modificadas irregulares de ordem fracionária, k_l(x) = \sqrt{\pi/(2x)} K_{l+1/2}(x).
Essa rotina calcula a função de Bessel esférica modificada irregular ajustada proporcionalmente de zero-ésima ordem, \exp(x) k_0(x), for x>0.
Essa rotina calcula a função de Bessel esférica modificada irregular ajustada proporcionalmente de primeira ordem, \exp(x) k_1(x), para x>0.
Essa rotina calcula a função de Bessel esférica modificada irregular ajustada proporcionalmente de segunda ordem, \exp(x) k_2(x), for x>0.
Essa rotina calcula a função de Bessel esférica modificada irregular ajustada proporcionalmente de ordem l, \exp(x) k_l(x), para x>0.
Essa rotina calcula os valores das funções de Bessel esféricas modificadas irregulares ajustadas proporcionalmente \exp(x) k_l(x) para l variando de 0 a lmax inclusive para lmax >= 0 e x>0, armazenando os resultados no vetor estático result_array. Os valores são calculados usando recorrência por eficiência, e portanto podem diferir levemente dos valores exatos.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função de Bessel cilíndrica regular de ordem fracionária \nu, J_\nu(x).
Essa função calcula a função de Bessel cilíndrica regular de ordem fracionária \nu, J_\nu(x), avaliada em uma série de valores de x. O vetor estático v de comprimento size contém os valores de x. Eles são assumidos para serem estritamente ordenados e positivos. O vetor estático é sobregravado com o valores de J_\nu(x_i).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa rotina calcula a função de Bessel cilíndrica irregular de ordem fracionária \nu, Y_\nu(x).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa rotina calcula a função de Bessel modificada regular de ordem fracionária \nu, I_\nu(x) for x>0, \nu>0.
Essa rotina calcula a função de Bessel modificada regular ajustada proporcionalmente de ordem fracionária \nu, \exp(-|x|)I_\nu(x) for x>0, \nu>0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa rotina calcula a função de Bessel modificada irregular de ordem fracionária \nu, K_\nu(x) for x>0, \nu>0.
Essa rotina calcula o logaritmo da função de Bessel modificada irregular de ordem fracionária \nu, \ln(K_\nu(x)) for x>0, \nu>0.
Essa rotina calcula a função de Bessel modificada irregular ajustada proporcionalmente de ordem fracionária \nu, \exp(+|x|) K_\nu(x) for x>0, \nu>0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa rotina calcula a localização da s-ésima raíz positiva da função de Bessel J_0(x).
Essa rotina calcula a localização da s-ésima raíz positiva da função de Bessel J_1(x).
Essa rotina calcula a localização da s-ésima raíz positiva da função de Bessel J_\nu(x). A implementação atual não suporta valores negativos de nu.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A função de Clausen é definida pela seguinte integral,
|
Essas rotinas calculam a integral de Clausen Cl_2(x).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Os protótipos das funções de Coulomb são declarados no arquivo de cabeçalho ‘gsl_sf_coulomb.h’. Ambos estado de limite e soluções de dispersão estão disponíveis.
7.7.1 Estado de Limite de Hidrogênio Normalizado | ||
7.7.2 Funções de Onda de Coulomb | ||
7.7.3 Constante de Normalização da Função de Onda de Coulomb |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função de onda radial do estado de limite do hidrogênio normalizado de menor ordem R_1 := 2Z \sqrt{Z} \exp(-Z r).
Essas rotinas calculam a n-ésima função de onda radial do estado de limite
do hidrogênio normalizado.
|
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções de onda de Coulomb F_L(\eta,x), G_L(\eta,x) são
descritas em Abramowitz & Stegun, Capítulo 14. Devido ao fato de poder existir um
grande intervalo dinâmico de valores para essas funções, overflows são tratados
normalmente. Se um overflow ocorre, GSL_EOVRFLW
é sinalizado e
expoente(s) é(são) retornado(s) apesar dos parâmetros modificáveis exp_F,
exp_G. A solução completa pode ser reconstruída a partir das seguintes
relações,
|
Essa função calcula as funções de onda de Coulomb F_L(\eta,x),
G_{L-k}(\eta,x) e suas derivadas
F'_L(\eta,x),
G'_{L-k}(\eta,x)
em relação a x. Os parâmetros estão restritos a L,
L-k > -1/2, x > 0 e ao inteiro k. Note que L
em si mesmo não está restrito aos inteiros. Os resultados são armazenados nos
parâmetros F, G para os valores da função e Fp,
Gp para os valores das derivadas. Se um overflow ocorrer,
GSL_EOVRFLW
é retornado e expoentes ajustados proporcionalmente são armazenados nos
parâmetros modificáveis exp_F, exp_G.
Essa função calcula a função de onda de Coulomb F_L(\eta,x) para L = Lmin \dots Lmin + kmax, armazenando os resultados em fc_array. No caso de overflow o expoente é armazenado em F_exponent.
Essa função calcula as funções F_L(\eta,x), G_L(\eta,x) para L = Lmin \dots Lmin + kmax armazenando os resultados em fc_array e gc_array. No caso de overflow os expoentes são armazenados em F_exponent e G_exponent.
Essa função calcula as funções F_L(\eta,x), G_L(\eta,x) e suas derivadas F'_L(\eta,x), G'_L(\eta,x) para L = Lmin \dots Lmin + kmax armazenando os resultados em fc_array, gc_array, fcp_array e gcp_array. No caso de overflow os expoentes são armazenados em F_exponent e G_exponent.
Essa função calcula a função de onda de Coulomb dividida pelo argumento F_L(\eta, x)/x para L = Lmin \dots Lmin + kmax, armazenando os resultados em fc_array. No caso de overflow o expoente é armazenado em F_exponent. Essa função se reduz a funções de Bessel no limite \eta \to 0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A constante de normalização da função de onda de Coulomb é definida em Abramowitz 14.1.7.
Essa função calcula a constante de normalização da função de onda de Coulomb C_L(\eta) for L > -1.
Essa função calcula a constante de normalização da função de onda de Coulomb C_L(\eta) for L = Lmin \dots Lmin + kmax, Lmin > -1.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
O símbolos de Wigner 3-j, 6-j e 9-j fornecem os coeficiente de acoplamento para vetores de momentum angular combinado. Uma vez que os argumentos das funções de coeficiente de acoplamento padronizadas são inteiras ou meio inteiras, os argumentos das seguintes funções são, por convenção, inteiros iguais a duas vezes os valor atual do giro. Para informação sobre coeficientes 3-j veja Abramowitz & Stegun, Seção 27.9. A função descrita nessa seção está declarada no arquivo de cabeçalho ‘gsl_sf_coupling.h’.
7.8.1 Símbolos 3-j | ||
7.8.2 Símbolos 6-j | ||
7.8.3 Símbolos 9-j |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa rotina calcula o coeficiente 3-j de Wigner,
|
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotina cacula o coeficiente 6-j de Wigner,
|
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa rotina calcula o coeficiente 9-j de Wigner,
|
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A integral de Dawson é definida por \exp(-x^2) \int_0^x dt \exp(t^2). Uma tabela da integral de Dawson pode ser encontrada em Abramowitz & Stegun, Tabela 7.5. As funções de Dawson são declaradas no arquivo de cabeçalho ‘gsl_sf_dawson.h’.
Essas rotinas calculam o valor da integral de Dawson para x.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As fuções de Debye D_n(x) são definidas pela seguinte integral,
|
Essas otinas calculam a função de Debye de primeira ordem D_1(x) = (1/x) \int_0^x dt (t/(e^t - 1)).
Essas rotinas calculam a função de Debye de segunda ordem D_2(x) = (2/x^2) \int_0^x dt (t^2/(e^t - 1)).
Essas rotinas calculam a função de Debye de terceira ordem D_3(x) = (3/x^3) \int_0^x dt (t^3/(e^t - 1)).
Essas rotinas calculam a função de Debye de quarta ordem D_4(x) = (4/x^4) \int_0^x dt (t^4/(e^t - 1)).
Essas rotinas calculam a função de Debye de quinta ordem D_5(x) = (5/x^5) \int_0^x dt (t^5/(e^t - 1)).
Essas rotinas calculam a função de Debye de sexta ordem D_6(x) = (6/x^6) \int_0^x dt (t^6/(e^t - 1)).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções descritas nessa seção são declaradas no arquivo de cabeçalho ‘gsl_sf_dilog.h’.
7.11.1 Argumento Real | ||
7.11.2 Argumento Complexo |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam o dilogaritmo para um argumento real. Na notação de Lewin isso é Li_2(x), a parte real do dilogaritmo de um real x. O dilogaritmo é definido através da representação da integral Li_2(x) = - \Re \int_0^x ds \log(1-s) / s. Note que \Im(Li_2(x)) = 0 for x <= 1, e -\pi\log(x) por x > 1.
Note que Abramowitz & Stegun referem-se à integral de Spence S(x)=Li_2(1-x) como o dilogaritmo em lugar de Li_2(x).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa função calcula dilogaritmo para valores complexos com ambas as partes real e imaginária para o argumento complexo z = r \exp(i \theta). As partes reais e imaginárias do resultado são retornadas em result_re, result_im.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As seguintes funções permitem estudar a propagação de erros quando combinando quantidades por multiplicação. As funções são declaradas no arquivo de cabeçalho ‘gsl_sf_elementary.h’.
Essa função multiplica x e y armazenando o produto e seu erro associado em result.
Essa função multiplica x e y com erros absolutos associados dx e dy. O produto xy +/- xy \sqrt((dx/x)^2 +(dy/y)^2) é armazenado result.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções descritas nessa seção são declaradas no arquivo de cabeçalho ‘gsl_sf_ellint.h’. Informações adicionais sobre as integrais elípticas podem ser encontradas em Abramowitz & Stegun, Capítulo 17.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As formas de Legendre das integrais elípticas F(\phi,k),
E(\phi,k) e \Pi(\phi,k,n) são definidas por,
|
A notação usada aqui é baseada em Carlson, Numerische Mathematik 33 (1979) 1 e difere levemente daquela usada por Abramowitz & Stegun, onde as funções são fornecidas em termos de parâmetro m = k^2 e n é substituído por -n.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As formas simétricas de Carlson das integrais elípticas RC(x,y),
RD(x,y,z), RF(x,y,z) e RJ(x,y,z,p) são definidas
por,
|
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a integral elíptica completa K(k) para a exatidão especificada pela varável de modo mode. Note que Abramowitz & Stegun definem essa função em termos do parâmetro m = k^2.
Essas rotinas calculam a integral elíptica completa E(k) para a exatidão especificada pela variável de modo mode. Note que Abramowitz & Stegun definem essa função em termos do parâmetro m = k^2.
Essas rotinas calculam a integral elíptica completa \Pi(k,n) para a exatidão especificada pela variável de modo mode. Note que Abramowitz & Stegun definem essa função em termos dos parâmetros m = k^2 e \sin^2(\alpha) = k^2, com a mudança de sinal n \to -n.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a integral elíptica incompleta F(\phi,k) para a exatidão especificada pela variável de modo mode. Note que Abramowitz & Stegun definem essa função em termos do parâmetro m = k^2.
Essas rotinas calculam a integral elíptica incompleta E(\phi,k) para a exatidão especificada pela variável de modo mode. Note que Abramowitz & Stegun definem essa função em termos do parâmetro m = k^2.
Essas rotinas calculam a integral elíptica incompleta \Pi(\phi,k,n) para a exatidão especificada pela variável de modo mode. Note que Abramowitz & Stegun definem essa função em termos dos parâmetros m = k^2 e \sin^2(\alpha) = k^2, com a mudança de sinal n \to -n.
Essas funções calculam a integral elíptica incompleta
D(\phi,k) que é definida através da forma de Carlson RD(x,y,z)
pela seguinte relação,
|
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a integral elíptica imcompleta RC(x,y) para a exatidão especificada pela variável de modo mode.
Essas rotinas calculam a integral elíptica incompleta RD(x,y,z) para a exatidão especificada pela variável de modo mode.
Essas rotinas calculam a integral elíptica incompleta RF(x,y,z) para a exatidão especificada pela variável de modo mode.
Essas rotinas calculam a integral elíptica incompleta RJ(x,y,z,p) para a exatidão especificada pela variável de modo mode.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções elípticas de Jacobi são definidas em Abramowitz & Stegun, Capítulo 16. As funções são declaradas no arquivo de cabeçalho ‘gsl_sf_elljac.h’.
Essa função calcula as funções elípticas Jacobianas sn(u|m), cn(u|m), dn(u|m) através das transformações descendentes de Landen.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A função error está descrita em Abramowitz & Stegun, Caítulo 7. As funções nessa seção são declaradas no arquivo de cabeçalho ‘gsl_sf_erf.h’.
7.15.1 Função de Erro | ||
7.15.2 Função de Erro Complementar | ||
7.15.3 Registros Complementares a Funções de Erro | ||
7.15.4 Funções de probabilidade |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função de erro erf(x), onde erf(x) = (2/\sqrt(\pi)) \int_0^x dt \exp(-t^2).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função de erro complementar erfc(x) = 1 - erf(x) = (2/\sqrt(\pi)) \int_x^\infty \exp(-t^2).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam o logaritmo da função de erro complementar \log(\erfc(x)).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções de probalidade para a distribuição Normal ou distribuição de Gauss são descritas em Abramowitz & Stegun, Seção 26.2.
Essas rotinas calculam a função densidade de probabilidade de Gauss Z(x) = (1/\sqrt{2\pi}) \exp(-x^2/2).
Essas rotinas calculam o limite superior da função de probabilidade de Gauss Q(x) = (1/\sqrt{2\pi}) \int_x^\infty dt \exp(-t^2/2).
A função de risco para a distribuição normal,
também conhecida como a razão de Mills inversa, é definida como,
|
Essas rotinas calculam a função de risco para a distribuição normal.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções descritas nessa seção são declaradas no arquivo de cabeçalho ‘gsl_sf_exp.h’.
7.16.1 Função Exponencial | ||
7.16.2 Funções Exponenciais Relativas | ||
7.16.3 Exponenciação com Erro Estimado |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas fornecem uma função exponencial \exp(x) usando a semântica da GSL e verificação de erro.
Essa função calcula a exponencial \exp(x) usando o
tipo gsl_sf_result_e10
para retornar um resultado com intervalo extendido.
Essa função pode ser útil se o valor de \exp(x) puder vir a
extrapolar o intervalo numérico de trabalho do tipo de dado double
.
Essa rotina calcula a base neperiana “e” elevada ao expoente x e multiplica o resultado pelo fator y para retornar o produto y \exp(x).
Essa função calcula o produto y \exp(x) usando o
tipo gsl_sf_result_e10
para retornar um resultado com intervalo numérico
extendido.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a quantidade \exp(x)-1 usando um algoritmo que é bastante aproximado para pequenos valores de x.
Essas rotinas calculam a quantidade (\exp(x)-1)/x usando um algoritmo que é bastante aproximado para equenos valores de x. Para pequenos x o algoritmo é baseado na expansão (\exp(x)-1)/x = 1 + x/2 + x^2/(2*3) + x^3/(2*3*4) + \dots.
Essas rotinas calculam a quantidade 2(\exp(x)-1-x)/x^2 usando um algoritmo que é bastante aproximado para pequenos valores de x. Para pequenos valores de x o algoritmo é baseado na expansão 2(\exp(x)-1-x)/x^2 = 1 + x/3 + x^2/(3*4) + x^3/(3*4*5) + \dots.
Essas rotinas calculam a exponencial N-relativa, que é a
generalização n-ésima das funções gsl_sf_exprel
e
gsl_sf_exprel_2
. A exponencial N-relativa é fornecida por,
|
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa função calcula o resultado da base “e” elevada ao expoente x com um erro absoluto associado dx.
Essa função calcula o resultado da base “e” elevada ao expoente x com um erro absoluto
associado dx usando o tipo gsl_sf_result_e10
para retornar um resultado com
intervalo extendido.
Essa rotina calcula o produto y \exp(x) para as quantidades x, y com erros absolutos associados dx, dy.
Essa rotina calcula o produto y \exp(x) para as quantidades
x, y com erros absolutos associados dx, dy usando o
tipo gsl_sf_result_e10
para retornar um resultado com intervalo extendido.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Informações sobre integrais de exponenciais podem ser encontradas em Abramowitz & Stegun, Capítulo 5. Essas funções são declaradas no arquivo de cabeçalho ‘gsl_sf_expint.h’.
7.17.1 Integral de Exponencial | ||
7.17.2 Ei(x) | ||
7.17.3 Integrais Hiperbólicas | ||
7.17.4 Ei_3(x) | ||
7.17.5 Integrais Trigonométricas | ||
7.17.6 Integral de arco tangente |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a integral de exponencial E_1(x),
|
Essas rotinas calculam a integral de exponencial de segunda ordem E_2(x),
|
Essas rotinas calculam a integral de exponencial E_n(x) de ordem n,
|
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a integral de exponencial Ei(x),
|
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a integral Shi(x) = \int_0^x dt \sinh(t)/t.
Essas rotinas calculam a integral Chi(x) := \Re[ \gamma_E + \log(x) + \int_0^x dt (\cosh(t)-1)/t] ,
onde \gamma_E é a constante de Euler (disponível como a macro M_EULER
).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a integral de exponencial de terceira ordem Ei_3(x) = \int_0^xdt \exp(-t^3) for x >= 0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a integral do Seno Si(x) = \int_0^x dt \sin(t)/t.
Essas rotinas calculam a integral do Cosseno Ci(x) = -\int_x^\infty dt \cos(t)/t para x > 0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a integral do Arco-tangente, que é definida como AtanInt(x) = \int_0^x dt \arctan(t)/t.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções descritas nessa seção são declaradas no arquivo de cabeçallho ‘gsl_sf_fermi_dirac.h’.
7.18.1 Integrais de Fermi-Dirac Completas | ||
7.18.2 Integral de Fermi-Dirac Incompleta |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A integral completa de Fermi-Dirac F_j(x) é fornecida por,
|
Essas rotinas calculam a integral completa de Fermi-Dirac com um índice de -1. Essa integral é fornecida por F_{-1}(x) = e^x / (1 + e^x).
Essas rotinas calculam a integral completa de Fermi-Dirac com um índice de 0. Essa integral é fornecida por F_0(x) = \ln(1 + e^x).
Essas rotinas calculam a integral completa de Fermi-Dirac com um índice de 1, F_1(x) = \int_0^\infty dt (t /(\exp(t-x)+1)).
Essas rotinas calculam a integral completa de Fermi-Dirac com um índice de 2, F_2(x) = (1/2) \int_0^\infty dt (t^2 /(\exp(t-x)+1)).
Essas rotinas calculam a integral completa de Fermi-Dirac com um índice inteiro de j, F_j(x) = (1/\Gamma(j+1)) \int_0^\infty dt (t^j /(\exp(t-x)+1)).
Essas rotinas calculam a integral completa de Fermi-Dirac F_{-1/2}(x).
Essas rotinas calculam a integral completa de Fermi-Dirac F_{1/2}(x).
Essas rotinas calculam a integral completa de Fermi-Dirac F_{3/2}(x).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A integral incompleta de Fermi-Dirac F_j(x,b) é fornecida por,
|
Essas rotinas calculam a integral incompleta de Fermi-Dirac com um índice de zero, F_0(x,b) = \ln(1 + e^{b-x}) - (b-x).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas adiante calculam as funções gama e beta em suas duas formas, completa e incompleta, bem como vários tipos de fatoriais. As funções descritas nessa seção são declaradas no arquivo de cabeçalho ‘gsl_sf_gamma.h’.
7.19.1 Funções Gama | ||
7.19.2 Fatoriais | ||
7.19.3 Símbolo de Pochhammer | ||
7.19.4 Funções Gamma Incompletas | ||
7.19.5 Funções Beta | ||
7.19.6 Função Beta Incompleta |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A função gama é definida através da seguinte integral,
|
Essas rotinas calculam a função Gama \Gamma(x), na condição de que x
não seja um inteiro negativo ou zero. A função é calculada usando o método
real de Lanczos. O valor máximo de x tal que \Gamma(x) não é
considerado um overflow é fornecido pela macro GSL_SF_GAMMA_XMAX
e é 171.0.
Essas rotinas calculam o logaritmo da função Gama, \log(\Gamma(x)), na condição de que x não seja um inteiro negativo ou zero. Para x<0 a parte real de \log(\Gamma(x)) é retornada, a qual é equivalente a \log(|\Gamma(x)|). A função é calculada usando o método Lanczos real.
Essa rotina calcula o sinal da função gama e o logaritmo de seu módulo, na condição de que x não seja um inteiro negativo ou zero. A função é calculada usando o método de Lanczos real. O valor da função gama e seu erro pode ser reconstruído usando a relação \Gamma(x) = sgn * \exp(result\_lg), levando em consideração as duas componentes de result_lg.
Essas rotinas calculam a Função Gama regulada \Gamma^*(x)
para x > 0. A função gama regulada é fornecida por,
|
Essas rotinas calculam o recíproco da função gama, 1/\Gamma(x) usando o método de Lanczos real.
Essa rotina calcula \log(\Gamma(z)) para o complexo z=z_r+i
z_i e z sendo inteiro estritamente positivo, usando o método de Lanczos
complexo. Os parâmetros retornados são lnr = \log|\Gamma(z)| e
arg = \arg(\Gamma(z)) dentro do intervalo (-\pi,\pi]. Note que a parte
de fase (arg) não é bem determinado quando |z| é muito grande,
devido a arredondamentos inevitáveis na restrição (-\pi,\pi]. Irá
resultar em um erro GSL_ELOSS
quando isso ocorrer. A parte de
valor absoluto (lnr), todavia, nunca sofre perda de precisão.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Embora fatoriais possam ser calculados a partir da função Gama, usando a relação n! = \Gamma(n+1) para o inteiro não negativo n, esse cálculo de fatorial é mais eficiente se for feito por meio das funções nessa seção, particularmente para pequenos valores de n, os quais valores fatoriais são mantidos em tabelas codificadas.
Essas rotinas calculam o fatorial n!. O fatorial é
relacionado com a função Gama através de n! = \Gamma(n+1).
O valor máximo de n é tal que n! não seja
considerado um overflow é fornecido pela macro GSL_SF_FACT_NMAX
e é 170.
Essas rotinas calculam o fatorial duplo n!! = n(n-2)(n-4) \dots.
o valor máximo de n tal que n!! não seja
considerado um overflow é fornecido pela macro GSL_SF_DOUBLEFACT_NMAX
e é 297.
Essas rotinas calculam o logaritmo do fatorial de n,
\log(n!). O algoritmo é mais rápido que calcular
\ln(\Gamma(n+1)) via gsl_sf_lngamma
para n < 170,
mas esse comportamento muda para grandes valores de n.
Essas rotinas calculam o logaritmo do fatorial duplo de n, \log(n!!).
Essas rotinas calculam a combinação simples entre n escolha m
= n!/(m!(n-m)!)
Essas rotinas calculam o logaritmo da combinação simples. Essas rotinas equivalem ao somatório \log(n!) - \log(m!) - \log((n-m)!).
Essas rotinas calculam o coeficiente de Taylor x^n / n! para x >= 0, n >= 0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam o símbolo de Pochhammer (a)_x = \Gamma(a + x)/\Gamma(a). O símbolo de Pochhammer é também conhecido como símbolo de Apell e algumas vezes escrito como (a,x). Quando a e a+x são inteiros negativos ou zero, o valor limitante da razão é retornado.
Essas rotinas calculam o logaritmo do símbolo de Pochhammer, \log((a)_x) = \log(\Gamma(a + x)/\Gamma(a)).
Essas rotinas calculam o sinal do símbolo de Pochhammer e o logaritmo de seu módulo. Os parâmetros calculados são result = \log(|(a)_x|) com um correspondente termo de erro, e sgn = \sgn((a)_x) onde (a)_x = \Gamma(a + x)/\Gamma(a).
Essas rotinas calculam símbolo de Pochhammer relativo ((a)_x - 1)/x onde (a)_x = \Gamma(a + x)/\Gamma(a).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas funções calculam a Função Gama incompleta não normalizada \Gamma(a,x) = \int_x^\infty dt t^{a-1} \exp(-t) para a real e x >= 0.
Essas rotinas calculam Função Gama incompleta normalizada Q(a,x) = 1/\Gamma(a) \int_x^\infty dt t^{a-1} \exp(-t) para a > 0, x >= 0.
Essas rotinas calculam a Função Gama incompleta normalizada complementar P(a,x) = 1 - Q(a,x) = 1/\Gamma(a) \int_0^x dt t^{a-1} \exp(-t) for a > 0, x >= 0.
Note que Abramowitz & Stegun chamam P(a,x) à função gama incompleta (seção 6.5).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a Função Beta, B(a,b) = \Gamma(a)\Gamma(b)/\Gamma(a+b) na condição de que a e b não sejam inteiros negativos.
Essas rotinas calculam o logaritmo da Função Beta, \log(B(a,b)) na condição que a e b não sejam inteiros negativos.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam função Beta incompleta normalizada I_x(a,b)=B_x(a,b)/B(a,b) onde B_x(a,b) = \int_0^x t^{a-1} (1-t)^{b-1} dt para 0 <= x <= 1. Para a > 0, b > 0 o valor é calculado usando uma expansão contínua de fração. Para todos os outros valores a função Beta incompleta normalizada é calculada usando a relação I_x(a,b,x) = (1/a) x^a 2F1(a,1-b,a+1,x)/B(a,b).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Os polinômios de Gegenbauer são definidos em Abramowitz & Stegun, Capítulo 22, onde eles são conhecidos polinômios Ultraesféricos. As funções descritas nessa seção são declaradas no arquivo de cabeçalho ‘gsl_sf_gegenbauer.h’.
Essas funções avaliam os polinômios de Gegenbauer C^{(\lambda)}_n(x) usando representações explícitas para n =1, 2, 3.
Essas funções avaliam o polinômio de Gegenbauer C^{(\lambda)}_n(x) para um específico valor de n, lambda, x na condição que \lambda > -1/2, n >= 0.
Essa função calcula um vetor estático dos polinômios de Gegenbauer C^{(\lambda)}_n(x) for n = 0, 1, 2, \dots, nmax, na condição que \lambda > -1/2, nmax >= 0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Funções Hipergeométricas são descritas em Abramowitz & Stegun, Capítulos 13 e 15. Essas funções são declaradas no arquivo de cabeçalho ‘gsl_sf_hyperg.h’.
Essas rotinas calculam a função hipergeométrica 0F1(c,x).
Essas rotinas calculam a função hipergeométrica confluente 1F1(m,n,x) = M(m,n,x) for integer parameters m, n.
Essas rotinas calculam a função hipergeométrica confluente 1F1(a,b,x) = M(a,b,x) para parâmetros gerais a, b.
Essas rotinas calculam a função hipergeométrica confluente U(m,n,x) para parâmetros inteiros m, n.
Essas rotinas calculam a função hipergeométrica confluente
U(m,n,x) para parâmetros inteiros m, n usando o
tipo gsl_sf_result_e10
para retornar um resultado com intervalo extendido.
Essas rotinas calculam a função hipergeométrica confluente U(a,b,x).
Essa rotina calcula a função hipergeométrica confluente
U(a,b,x) usando o tipo gsl_sf_result_e10
para retornar um
resultado com intervalo extendido.
Essas rotinas calculam a função hipergeométrica de Gauss 2F1(a,b,c,x) = F(a,b,c,x) para |x| < 1.
Se os argumentos (a,b,c,x) forem muito próximos a uma singularidade então
a função pode retornar o código de erro GSL_EMAXITER
quando a
série de aproximação converge muito lentamente. Isso ocorre na região de
x=1, c - a - b = m para o inteiro m.
Essas rotinas calculam a função hipergeométrica de Gauss 2F1(a_R + i a_I, a_R - i a_I, c, x) com parâmetros complexos para |x| < 1.
Essas rotinas calculam a função hipergeométrica de Gauss renormalizada 2F1(a,b,c,x) / \Gamma(c) para |x| < 1.
Essas rotinas calculam a função hipergeométrica de Gauss renormalizada 2F1(a_R + i a_I, a_R - i a_I, c, x) / \Gamma(c) for |x| < 1.
Essas rotinas calculam a função hipergeométrica 2F0(a,b,x). A série de representação é uma série hipergeométrica convergente. Todavia, para x < 0 temos 2F0(a,b,x) = (-1/x)^a U(a,1+a-b,-1/x)
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Os polinômios de Laguerre generalizados são definidos em termos de funções hipergeométricas confluentes como L^a_n(x) = ((a+1)_n / n!) 1F1(-n,a+1,x), e são algumas vezes referidos como os polinômios de Laguerre associados. Eles são relacionado aos polinômios de Laguerre planos L_n(x) através de L^0_n(x) = L_n(x) e de L^k_n(x) = (-1)^k (d^k/dx^k) L_(n+k)(x). Para mais informações veja Abramowitz & Stegun, Capítulo 22.
As funções descritas nessa seção são declaradas no arquivo de cabeçalho ‘gsl_sf_laguerre.h’.
Essas rotinas avaliam os polinômios de Laguerre generalizados L^a_1(x), L^a_2(x), L^a_3(x) usando representações explícitas.
Essas rotinas avaliam os polinômios de Laguerre generalizados L^a_n(x) para a > -1, n >= 0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções W de lambert, W(x), são definidas para serem soluções da equação W(x) \exp(W(x)) = x. Essa função tem múltiplos ramos para x < 0; todavia, tem somente dois ramos com valores reais. Definimos W_0(x) para ser o ramo principal, onde W > -1 para x < 0, e W_{-1}(x) para ser o outros ramo real, onde W < -1 para x < 0. As funções de Lambert são declaradas no arquivo de cabeçalho ‘gsl_sf_lambert.h’.
Essas funções calculam o ramo principal da função W de Lambert, W_0(x).
Essas funções calculam o ramo secundário de valores reais da função W de Lambert, W_{-1}(x).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As Funções de Legendre e os Polinômios de Legendre são descritos em Abramowitz & Stegun, Capítulo 8. Essas funções são declaradas no arquivo de cabeçalho ‘gsl_sf_legendre.h’.
7.24.1 Polinômios de Legendre | ||
7.24.2 Polinômios Associados de Legendre e Harmônicos Esféricos | ||
7.24.3 Funções Canônicas | ||
7.24.4 Funções Radiais no Espaço Hiperbólico |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas funções avaliam os polinômios de Legendre P_l(x) usando representações explícitas para l=1, 2, 3.
Essas funções avaliam o polinômio de Legendre P_l(x) para o valor específico de l, x na condição de que l >= 0, |x| <= 1
Essas funções calculam vetores estáticos de polinômios de Legendre P_l(x) e derivadas dP_l(x)/dx, for l = 0, \dots, lmax, |x| <= 1
Essas rotina calcula a função de Legendre Q_0(x) para x > -1, x != 1.
Essas rotinas calculam a função de Legendre Q_1(x) para x > -1, x != 1.
Essas rotinas calculam a função de Legendre Q_l(x) para x > -1, x != 1 e l >= 0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As seguintes funções calculam os polinômios de Legendre associados
P_l^m(x). Note que essa função cresce combinatorialmente com
l e pode causar overflow em l maior que 150. Não existe
nenhum problema para pequenos valores de m, mas overflow ocorre quando m e
l são ambos grandes. Em lugar de permitir overflows, essas funções
recusam-se a calcular P_l^m(x) e retornam GSL_EOVRFLW
quando
elas percebem que l e m são muito grandes.
Se você deseja calcular uma harmônica esférica, então não use
essas funções. Ao invés de usá-las use gsl_sf_legendre_sphPlm
mostrada adiante,
que utiliza uma recursão similar, mas com as funções normalizadas.
Essas rotinas calculam o polinômio de Legendre associado P_l^m(x) for m >= 0, l >= m, |x| <= 1.
Essas funções calculam vetores estáticos de polinômios de Legendre P_l^m(x) e derivadas dP_l^m(x)/dx, for m >= 0, l = |m|, ..., lmax, |x| <= 1.
Essas rotinas calculam o polinômios de Legendre associado normalizado \sqrt{(2l+1)/(4\pi)} \sqrt{(l-m)!/(l+m)!} P_l^m(x) adequado para ser usado em harmônicas esféricas. Os parâmetros devem satisfazer m >= 0, l >= m, |x| <= 1. Essas rotinas evitam os overflows que ocorrem para a normalização padrão de P_l^m(x).
Essas funções calculam vetores estáticos de funções de Legendre associadas normalizadas \sqrt{(2l+1)/(4\pi)} \sqrt{(l-m)!/(l+m)!} P_l^m(x), e derivadas, para m >= 0, l = |m|, ..., lmax, |x| <= 1.0
Essa função retorna o tamanho de result_array[] necessário para versões do
vetor estático de P_l^m(x), lmax - m + 1. Uma versão modificada dessa função é usada quando HAVE_INLINE
for definida.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As Funções Canônicas P^\mu_{-(1/2)+i\lambda}(x) e Q^\mu_{-(1/2)+i\lambda} são descritas em Abramowitz & Stegun, Seção 8.12.
Essas rotinas calculam a Função Canônica Esférica irregular P^{1/2}_{-1/2 + i \lambda}(x) for x > -1.
Essas rotinas calculam a Função Canônica Esférica regular P^{-1/2}_{-1/2 + i \lambda}(x) for x > -1.
Essas rotinas calculam a função canônica P^0_{-1/2 + i \lambda}(x) para x > -1.
Essas rotinas calculam a função canônica P^1_{-1/2 + i \lambda}(x) for x > -1.
Essas rotinas calculam a Função Canônica Esférica Regular P^{-1/2-l}_{-1/2 + i \lambda}(x) para x > -1, l >= -1.
Essas rotinas calculam a Função Canônica Cilíndrica Regular P^{-m}_{-1/2 + i \lambda}(x) for x > -1, m >= -1.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As seguintes funções esféricas são especializações das funções de Legendre as quais fornecem autofunções regulares do Laplaciano sobre um espaço hiperbólico tridimencional H3d. De particular interesse é o limite uniforme, \lambda \to \infty, \eta \to 0, \lambda\eta fixado.
Essas rotinas calculam a autofunção de zero-ésimo radial do Laplaciano sobre o espaço hiperbólico tridimensional, L^{H3d}_0(\lambda,\eta) := \sin(\lambda\eta)/(\lambda\sinh(\eta)) para \eta >= 0. No limite plano isso toma a forma L^{H3d}_0(\lambda,\eta) = j_0(\lambda\eta).
Essas rotinas calculam a primeira autofunção radial do Laplaciano sobre o espaço hiperbólico tridimensional, L^{H3d}_1(\lambda,\eta) := 1/\sqrt{\lambda^2 + 1} \sin(\lambda \eta)/(\lambda \sinh(\eta)) (\coth(\eta) - \lambda \cot(\lambda\eta)) para \eta >= 0. No limite plano isso toma a forma L^{H3d}_1(\lambda,\eta) = j_1(\lambda\eta).
Essas rotinas calculam a l-ésima autofunção radial do Laplaciano sobre o espaço hiperbólico tridimencional \eta >= 0, l >= 0. No limite plano isso toma a forma L^{H3d}_l(\lambda,\eta) = j_l(\lambda\eta).
Essa função calcula um vetor estático de autofunções radiais L^{H3d}_l(\lambda, \eta) for 0 <= l <= lmax.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Informações sobre as propriedades da função Logaritmica podem ser encontradas em Abramowitz & Stegun, Capítulo 4. As funções descritas nessa seção são declaradas no arquivo de cabeçalho ‘gsl_sf_log.h’.
Essas rotinas calculam o logaritmo de x, \log(x), para x > 0.
Essas rotinas calculam o logaritmo do módulo de x, \log(|x|), for x \ne 0.
Essa rotina calcula o logaritmo complexo de z = z_r + i z_i. Os resultados são retornados como lnr, theta tal que \exp(lnr + i \theta) = z_r + i z_i, onde \theta localiza-se no intervalo [-\pi,\pi].
Essas rotinas calculam \log(1 + x) para x > -1 usando um algoritmo que tem grande exatidão para pequenos valores de x.
Essas rotinas calculam \log(1 + x) - x para x > -1 usando um algoritmo que tem grande exatidão para pequenos valores de x.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As rotinas descritas nessa seção calculam a Função de Mathieu angular e a
Função de Mathieu radial, e seus valores característicos. As funções de
Mathieu são as soluções das duas seguintes equações
diferenciais:
|
O radial das funções de Mathieu Mc^{(j)}_{r}(z,q), Ms^{(j)}_{r}(z,q) são as soluções da segunda equação, que é referenciada como equação de Mathieu modificada. O radial das funções de Mathieu de primeiro, segundo, terceiro e quarto tipo são denotadas pelo parâmetro j, que recebe os valores 1, 2, 3 ou 4.
Para maiores informações sobre as funções de Mathieu, veja Abramowitz e Stegun, Capítulo 20. Essas funções são definidas no arquivo de cabeçalho ‘gsl_sf_mathieu.h’.
7.26.1 Função de Mathieu - espaço de trabalho | ||
7.26.2 Função de Mathieu - Valores Característicos | ||
7.26.3 Funções angulares de Mathieu | ||
7.26.4 Funções Radiais de Mathieu |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções de Mathieu podem ser calculadas para uma única ordem ou para múltiplas ordens, usando rotinas baseadas em vetores estáticos. As rotinas baseadas em vetores estáticos requerem um espaço de trabalho pré-alocado.
Essa função retorna um espaço de trabalho para as versões baseadas em vetores estáticos das rotinas de Mathieu. Os argumentos n e qmax especificam a maior ordem e o valor q das funções de Mathieu que pode ser calculado com esse espaço de trabalho.
Essa função libera o espaço de trabalho work.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam os valores característicos a_n(q), b_n(q) das funções de Mathieu ce_n(q,x) and se_n(q,x), respectivamente.
Essas rotinas calculam uma série de valores característicos de Mathieu a_n(q), b_n(q) para n variando de order_min a order_max inclusive, armazenando os resultados no vetor estático result_array.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam as funções de Mathieu angulares ce_n(q,x) e se_n(q,x), respectivamente.
Essas rotinas calculam uma série de funções de Mathieu angulares ce_n(q,x) e se_n(q,x) de ordem n com n variando de nmin a nmax inclusive, armazenando os resultados no veotr estático result_array.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam as funções de Mathieu radial de j-ésimo tipo Mc_n^{(j)}(q,x) e Ms_n^{(j)}(q,x) de ordem n.
Os valores permitidos de j são 1 e 2. As funções de j = 3,4 podem ser calculadas como M_n^{(3)} = M_n^{(1)} + iM_n^{(2)} e M_n^{(4)} = M_n^{(1)} - iM_n^{(2)}, onde M_n^{(j)} = Mc_n^{(j)} or Ms_n^{(j)}.
Essas rotinas calculam uma série de funções de Mathieu radial de tipo j, com ordem variando de nmin a nmax inclusive, armazenado os resultados no vetor estático result_array.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As seguintes funções são equivalentes à função gsl_pow_int
(veja seção Potência de pequenos inteiros) com uma estimativa de erro. Essas funções são
declaradas no arquivo de cabeçalho ‘gsl_sf_pow_int.h’.
Essas rotinas calculam a potência x^n para o inteiro n. A potência é calculada usando o menor número de multiplicações. Por exemplo, x^8 é calculado como ((x^2)^2)^2, requerendo somente 3 multiplicações. Por razões de eficiência, essas funções não verificam por condições de overflow ou underflow.
#include <gsl/gsl_sf_pow_int.h> /* compute 3.0**12 */ double y = gsl_sf_pow_int(3.0, 12);
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções poligama de ordem n são definidas por
|
7.28.1 Função Digama | ||
7.28.2 Função Trigama | ||
7.28.3 Função Poligama |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função digama \psi(n) para inteiros positivos n. A função digama é também chamada de função Psi.
Essas rotinas calculam a função digama \psi(x) para valores de x quaisquer, x \ne 0.
Essas rotinas calculam a parte real da função digama sobre a linha 1+i y, \Re[\psi(1 + i y)].
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função Trigama \psi'(n) para o inteiro positivo n.
Essas rotinas calculam função Trigamma \psi'(x) para valores de x quaisquer.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função poligama \psi^{(n)}(x) para n >= 0, x > 0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções descritas nessa seção são declaradas no arquivo de cabeçalho ‘gsl_sf_synchrotron.h’.
Essas rotinas calculam a primeira função síncrotron x \int_x^\infty dt K_{5/3}(t) para x >= 0.
Essas rotinas calculam a segunda função síncrotron x K_{2/3}(x) for x >= 0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
As funções de transporte J(n,x) são definidas através das representações de integral J(n,x) := \int_0^x dt t^n e^t /(e^t - 1)^2. As funções de transporte são declaradas no arquivo de cabeçalo ‘gsl_sf_transport.h’.
Essas rotinas calculam a função de transporte J(2,x).
Essas rotinas calculam a função de transporte J(3,x).
Essas rotinas calculam a função de transporte J(4,x).
Essas rotinas calculam a função de transporte J(5,x).
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A biblioteca inclui suas próprias funções trigonométricas com o objetivo de fornecer consistência independente da plataforma de instalação e estmativas de eroo confiáveis. Essas funções são declaradas no arquivo de cabeçalho ‘gsl_sf_trig.h’.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam a função seno \sin(x).
Essas rotinas calculam a função cosseno \cos(x).
Essas rotinas calculam função hipotenusa \sqrt{x^2 + y^2} evitando overflow e underflow.
Essas rotinas calculam \sinc(x) = \sin(\pi x) / (\pi x) para qualquer valor de x.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa função calcula o seno complexo, \sin(z_r + i z_i) armazenando as partes real e imaginária em szr, szi.
Essa função calcula o cosseno complexo, \cos(z_r + i z_i) armazenando as partes real e imaginária em czr, czi.
Essa função calcula o seno de logaritmo complexo, \log(\sin(z_r + i z_i)) armazenando as partes real e imaginária em lszr, lszi.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas calculam \log(\sinh(x)) para x > 0.
Essas rotinas calculam \log(\cosh(x)) para qualquer x.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa função converte as coordenadas polares (r,theta) para coordenadas retangulares (x,y), x = r\cos(\theta), y = r\sin(\theta).
Essa função converte as coordenadas retangulares (x,y) para coordenadas polares (r,theta), tais que x = r\cos(\theta), y = r\sin(\theta). O argumento theta encontra-se no intervalo [-\pi, \pi].
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essas rotinas forçam o ângulo theta a localizar-se no intervalo (-\pi,\pi].
Note que o valor matemático de \pi é ligeiramente maior
que M_PI
, de forma que os números programados no computador M_PI
e -M_PI
estejam incluídos no intervalo.
Essas rotinas forçam o ângulo theta a localizar-se no intervalo [0, 2\pi).
Note que o valore matemático de 2\pi é ligeiramente maior
que 2*M_PI
, de forma que o número programado no computador 2*M_PI
esteja incluído no
intervalo.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Essa rotina calcula o seno do ângulo x com um erro abosoluto associado dx, \sin(x \pm dx). Note que essa função é fornecida na forma de controlador de erro somente uma vez que seu propósito é calcular o erro propagado.
Essa rotina calcula o cosseno de um ângulo x com um erro absoluto associado dx, \cos(x \pm dx). Note que essa função é fornecida na forma de controlador de erro somente uma vez que seu propósito é calcular o erro propagado.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A função zeta de Riemann é definida em Abramowitz & Stegun, Seção 23.2. As funções descritas nessa seção são declaradas no arquivo de cabeçalho ‘gsl_sf_zeta.h’.
7.32.1 Função Zeta de Riemann | ||
7.32.2 Função Zeta de Riemann Menos Um | ||
7.32.3 Função Zeta de Hurwitz | ||
7.32.4 Função Eta |
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A função zeta de Riemann é definida através do somatório infinito \zeta(s) = \sum_{k=1}^\infty k^{-s}.
Essas rotinas calculam a função zeta de Riemann \zeta(n) para o inteiro n, n \ne 1.
Essas rotinas calculam a função zeta de Riemann \zeta(s) para um s arbitrário, s \ne 1.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Para argumentos positivos elevados, a função zeta de Riemann aproxima-se da unidade. Nessa região a parte fracionária é interessante, e portanto precisamos de uma função para avaliar essa parte fracionária explicitamente.
Essas rotinas calculam \zeta(n) - 1 para o inteiro n, n \ne 1.
Essas rotinas calculam \zeta(s) - 1 para valores arbitrários de s, s \ne 1.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A função zeta de Hurwitz é definida através de \zeta(s,q) = \sum_0^\infty (k+q)^{-s}.
Essas rotinas calculam função zeta de Hurwitz \zeta(s,q) para s > 1, q > 0.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A função eta é definida através de \eta(s) = (1-2^{1-s}) \zeta(s).
Essas rotinas calculam a função eta \eta(n) para o inteiro n.
Essas rotinas calculam a função eta \eta(s) para um valor arbitrário de s.
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Os sequintes exemplos demonstram o uso da forma controladora de erro das funções especiais, no caso para calcular função de Bessel J_0(5.0),
#include <stdio.h> #include <gsl/gsl_errno.h> #include <gsl/gsl_sf_bessel.h> int main (void) { double x = 5.0; gsl_sf_result result; double expected = -0.17759677131433830434739701; int status = gsl_sf_bessel_J0_e (x, &result); printf ("status = %s\n", gsl_strerror(status)); printf ("J0(5.0) = %.18f\n" " +/- % .18f\n", result.val, result.err); printf ("exact = %.18f\n", expected); return status; }
Aqui está o resultado da execução do programa,
$ ./a.outstatus = success J0(5.0) = -0.177596771314338292 +/- 0.000000000000000193 exact = -0.177596771314338292
O programa seguinte calcula a mesma quantidade usando a forma natural da função. Nesse caso o termo de erro result.err e a situação de retorno não estão acessíveis.
#include <stdio.h> #include <gsl/gsl_sf_bessel.h> int main (void) { double x = 5.0; double expected = -0.17759677131433830434739701; double y = gsl_sf_bessel_J0 (x); printf ("J0(5.0) = %.18f\n", y); printf ("exact = %.18f\n", expected); return 0; }
Os resultados da função são os mesmos,
$ ./a.outJ0(5.0) = -0.177596771314338292 exact = -0.177596771314338292
[ << ] | [ < ] | [ Acima ] | [ > ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
A biblioteca segue as convenções de Abramowitz & Stegun onde possível,
Os seguintes artigos possuem informação sobre o algoritmo usado para calcular as funções especiais,
[ << ] | [ >> ] | [Topo] | [Conteúdo] | [Índice] | [ ? ] |
Esse documento foi gerado em 23 de Julho de 2013 usando texi2html 5.0.