1 @c Language: Brazilian Portuguese, Encoding: iso-8859-1
2 @c /Logarithms.texi/1.17/Sat Jun 2 00:12:55 2007/-ko/
4 * Funções e Variáveis Definidas para Logarítmos::
7 @node Funções e Variáveis Definidas para Logarítmos, , Logarítmos, Logarítmos
8 @section Funções e Variáveis Definidas para Logarítmos
10 @defvr {Variável de opção} %e_to_numlog
11 Valor padrão: @code{false}
13 Quando @code{true}, sendo @code{r} algum número racional, e
14 @code{x} alguma expressão, @code{%e^(r*log(x))} será simplificado em @code{x^r} .
15 Note-se que o comando @code{radcan} também faz essa transformação,
16 e transformações mais complicadas desse tipo também.
17 O comando @code{logcontract} "contrai" expressões contendo @code{log}.
21 @deffn {Função} li [@var{s}] (@var{z})
22 Representa a função polilogarítmo de ordem @var{s} e argumento @var{z},
23 definida por meio de séries infinitas
35 @code{li [1]} é @code{- log (1 - z)}.
36 @code{li [2]} e @code{li [3]} são as funções dilogarítmo e trilogarítmo, respectivamente.
38 Quando a ordem for 1, o polilogarítmo simplifica para @code{- log (1 - z)},
39 o qual por sua vez simplifica para um valor numérico
40 se @var{z} for um número em ponto flutuante real ou complexo ou o sinalizador de avaliação @code{numer} estiver presente.
42 Quando a ordem for 2 ou 3,
43 o polilogarítmo simplifica para um valor numérico
44 se @var{z} for um número real em ponto flutuante
45 ou o sinalizador de avaliação @code{numer} estiver presente.
51 @c integrate ((log (1 - t)) / t, t, 0, x);
56 @c L : makelist (i / 4.0, i, 0, 8);
57 @c map (lambda ([x], li [2] (x)), L);
58 @c map (lambda ([x], li [3] (x)), L);
63 (%i2) integrate ((log (1 - t)) / t, t, 0, x);
69 (%i4) li [2] (7), numer;
70 (%o4) 1.24827317833392 - 6.113257021832577 %i
74 (%i6) li [2] (7), numer;
75 (%o6) 1.24827317833392 - 6.113257021832577 %i
76 (%i7) L : makelist (i / 4.0, i, 0, 8);
77 (%o7) [0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0]
78 (%i8) map (lambda ([x], li [2] (x)), L);
79 (%o8) [0, .2676526384986274, .5822405249432515,
80 .9784693966661848, 1.64493407, 2.190177004178597
81 - .7010261407036192 %i, 2.374395264042415
82 - 1.273806203464065 %i, 2.448686757245154
83 - 1.758084846201883 %i, 2.467401098097648
84 - 2.177586087815347 %i]
85 (%i9) map (lambda ([x], li [3] (x)), L);
86 (%o9) [0, .2584613953442624, 0.537213192678042,
87 .8444258046482203, 1.2020569, 1.642866878950322
88 - .07821473130035025 %i, 2.060877505514697
89 - .2582419849982037 %i, 2.433418896388322
90 - .4919260182322965 %i, 2.762071904015935
91 - .7546938285978846 %i]
96 @deffn {Função} log (@var{x})
97 Representa o logarítmo natural (base @math{e}) de @var{x}.
99 Maxima não possui uma função interna para logarítmo de base 10 ou de outras bases.
100 @code{log10(x) := log(x) / log(10)} é uma definição útil.
102 Simplificação e avaliação de logarítmos são governadas por muitos sinalizadores globais:
104 @code{logexpand} - faz com que @code{log(a^b)} torne-se @code{b*log(a)}.
105 Se @code{logexpand} for escolhida para @code{all}, @code{log(a*b)} irá também simplificar para @code{log(a)+log(b)}.
106 Se @code{logexpand} for escolhida para @code{super}, então @code{log(a/b)} irá também simplificar para @code{log(a)-log(b)} para números
107 racionais @code{a/b}, @code{a#1}. (@code{log(1/b)}, para @code{b} inteiro, sempre simplifica). Se
108 @code{logexpand} for escolhida para @code{false}, todas essas simplificações irão ser desabilitadas.
110 @code{logsimp} - se @code{false} então nenhuma simplificação de @code{%e} para um expoente
111 contendo @code{log}'s é concluída.
113 @code{lognumer} - se @code{true} então argumentos negativos em ponto flutuante para
114 @code{log} irá sempre ser convertido para seu valor absoluto antes que @code{log} seja
115 tomado. Se @code{numer} for também @code{true}, então argumentos negativos inteiros para @code{log}
116 irão também ser convertidos para seu valor absoluto.
118 @code{lognegint} - se @code{true} implementa a regra @code{log(-n)} ->
119 @code{log(n)+%i*%pi} para @code{n} um inteiro positivo.
121 @code{%e_to_numlog} - quando @code{true}, @code{r} sendo algum número racional, e
122 @code{x} alguma expressão, @code{%e^(r*log(x))} será simplificado em
123 @code{x^r} . Note-se que o comando @code{radcan} também
124 faz essa transformação, e transformações mais complicadas desse tipo também.
125 O comando @code{logcontract} "contrai" expressões contendo @code{log}.
129 @defvr {Variável de opção} logabs
130 Valor padrão: @code{false}
132 Quando fazendo integração indefinida onde
133 logs são gerados, e.g. @code{integrate(1/x,x)}, a resposta é dada em
134 termos de @code{log(abs(...))} se @code{logabs} for @code{true}, mas em termos de @code{log(...)} se
135 @code{logabs} for @code{false}. Para integração definida, a escolha @code{logabs:true} é
136 usada, porque aqui "avaliação" de integral indefinida nos
137 extremos é muitas vezes necessária.
142 @defvr {Variável de opção} logarc
143 @defvrx {Função} logarc (@var{expr})
145 Quando a variável global @code{logarc} for @code{true},
146 funções circulares inversas e funções hiperbólicas serão convertidas
147 em funções logarítimicas equivalentes.
148 O valor padrão de @code{logarc} é @code{false}.
150 A função @code{logarc(@var{expr})} realiza aquela substituíção para
151 uma expressão @var{expr}
152 sem modificar o valor da variável global @code{logarc}.
156 @defvr {Variável de opção} logconcoeffp
157 Valor padrão: @code{false}
159 Controla quais coeficientes são
160 contraídos quando usando @code{logcontract}. Pode ser escolhida para o nome de uma
161 função predicado de um argumento. E.g. se você gosta de gerar
162 raízes quadradas, você pode fazer @code{logconcoeffp:'logconfun$
163 logconfun(m):=featurep(m,integer) ou ratnump(m)$} . Então
164 @code{logcontract(1/2*log(x));} irá fornecer @code{log(sqrt(x))}.
168 @deffn {Função} logcontract (@var{expr})
169 Recursivamente examina a expressão @var{expr}, transformando
170 subexpressões da forma @code{a1*log(b1) + a2*log(b2) + c} em
171 @code{log(ratsimp(b1^a1 * b2^a2)) + c}
174 @c 2*(a*log(x) + 2*a*log(y))$
178 (%i1) 2*(a*log(x) + 2*a*log(y))$
179 (%i2) logcontract(%);
185 Se você faz @code{declare(n,integer);} então @code{logcontract(2*a*n*log(x));} fornece
186 @code{a*log(x^(2*n))}. Os coeficientes que "contraem" dessa maneira são
187 aqueles tais que 2 e @code{n} que satisfazem
188 @code{featurep(coeff,integer)}. O usuário pode controlar quais coeficientes são
189 contraídos escolhendo a opção @code{logconcoeffp} para o nome de uma
190 função predicado de um argumento. E.g. se você gosta de gerara
191 raízes quadradas, você pode fazer @code{logconcoeffp:'logconfun$
192 logconfun(m):=featurep(m,integer) ou ratnump(m)$} . Então
193 @code{logcontract(1/2*log(x));} irá fornecer @code{log(sqrt(x))}.
197 @defvr {Variável de opção} logexpand
198 Valor padrão: @code{true}
200 Faz com que @code{log(a^b)} torne-se @code{b*log(a)}. Se
201 for escolhida para @code{all}, @code{log(a*b)} irá também simplificar para @code{log(a)+log(b)}. Se
202 for escolhida para @code{super}, então @code{log(a/b)} irá também simplificar para @code{log(a)-log(b)} para
203 números racionais @code{a/b}, @code{a#1}. (@code{log(1/b)}, para @code{b} inteiro, sempre
204 simplifica). Se for escolhida para @code{false}, todas essas simplificações irão
209 @defvr {Variável de opção} lognegint
210 Valor padrão: @code{false}
212 Se @code{true} implementa a regra
213 @code{log(-n)} -> @code{log(n)+%i*%pi} para @code{n} um inteiro positivo.
217 @defvr {Variável de opção} lognumer
218 Valor padrão: @code{false}
220 Se @code{true} então argumentos negativos em ponto
221 flutuante para @code{log} irão sempre ser convertidos para seus valores absolutos
222 antes que o @code{log} seja tomado. Se @code{numer} for também @code{true}, então argumentos inteiros
223 negativos para @code{log} irão também ser convertidos para seus valores absolutos.
227 @defvr {Variável de opção} logsimp
228 Valor padrão: @code{true}
230 Se @code{false} então nenhuma simplificação de @code{%e} para um
231 expoente contendo @code{log}'s é concluída.
235 @deffn {Função} plog (@var{x})
236 Representa o principal ramo logarítmos naturais avaliados para
237 complexos com @code{-%pi} < @code{carg(@var{x})} <= @code{+%pi} .