1This is maxima.info, produced by makeinfo version 6.6 from maxima.texi. 2 3Este � o Manual do Maxima no formato Texinfo 4 5Copyright 1994, 2001 William F. Schelter 6 7START-INFO-DIR-ENTRY 8* Maxima: (maxima). Um sistema de �lgebra computacional. 9END-INFO-DIR-ENTRY 10 11 12File: maxima.info, Node: Ponto Flutuante, Next: Contextos, Prev: Entrada e Sa�da, Up: Top 13 1410, Ponto Flutuante 15******************* 16 17* Menu: 18 19* Defini��es para ponto Flutuante:: 20 21 22File: maxima.info, Node: Defini��es para ponto Flutuante, Prev: Ponto Flutuante, Up: Ponto Flutuante 23 2410.1, Defini��es para ponto Flutuante 25===================================== 26 27 -- Fun��o da class: bffac (<expr>, <n>) 28 Vers�o para grandes n�meros em ponto flutuante da fun��o 29 'factorial' (usa o artif�cio gamma). O segundo argumento informa 30 quantos d�gitos reter e retornar, isso � uma boa id�ia para 31 requisitar precis�o adicional. 32 33 'load ("bffac")' chama essa fun��o. 34 35 -- Vari�vel de Op��o da class: algepsilon 36 Valor por omiss�o: 10^8 37 38 'algepsilon' � usada por 'algsys'. 39 40 -- Fun��o da class: bfloat (<expr>) 41 Converte todos os n�meros e fun��es de n�meros em <expr> para 42 grandes n�meros em ponto flutuante (bigfloat). O n�mero de 43 algarismos significativos no grande n�mero em ponto flutuante 44 resultante � especificado atrav�s da vari�vel global 'fpprec'. 45 46 Quando 'float2bf' for 'false' uma mensagem de alerta � mostrada 47 quando uma n�mero em ponto flutuante (float) � convertido em um 48 grande n�mero em ponto flutuante (bigfloat - uma vez que isso pode 49 resultar em perda de precis�o). 50 51 -- Fun��o da class: bfloatp (<expr>) 52 Retorna 'true' se a avalia��o da <expr> resultar em um grande 53 n�mero em ponto flutuante, de outra forma retorna 'false'. 54 55 -- Fun��o da class: bfpsi (<n>, <z>, <fpprec>) 56 -- Fun��o da class: bfpsi0 (<z>, <fpprec>) 57 'bfpsi' � a fun��o 'polygamma' de argumentos reais <z> e ordem de 58 inteiro <n>. 'bfpsi0' � a fun��o 'digamma'. 'bfpsi0 (<z>, 59 <fpprec>)' � equivalente a 'bfpsi (0, <z>, <fpprec>)'. 60 61 Essas fun��es retornam valores em grandes n�meros em ponto 62 flutuante. <fpprec> � a precis�o do valor de retorno dos grandes 63 n�meros em ponto flutuante. 64 65 'load ("bffac")' chama essas fun��es. 66 67 -- Vari�vel de Op��o da class: bftorat 68 Valor por omiss�o: 'false' 69 70 'bftorat' controla a convers�o de 'bfloats' para n�meros racionais. 71 Quando 'bftorat' for 'false', 'ratepsilon' ser� usada para 72 controlar a convers�o (isso resulta em n�meros racionais 73 relativametne pequenos). Quando 'bftorat' for 'true', o n�mero 74 racional gerado ir� representar precisamente o 'bfloat'. 75 76 -- Vari�vel de Op��o da class: bftrunc 77 Valor por omiss�o: 'true' 78 79 'bftrunc' faz com que tilhas de zeros em grandes n�meros em ponto 80 flutuante diferentes de zero sejam ocultadas. Desse modo, se 81 'bftrunc' for 'false', 'bfloat (1)' ser� mostrado como 82 '1.000000000000000B0'. De outra forma, ser� mostrado como '1.0B0'. 83 84 -- Fun��o da class: cbffac (<z>, <fpprec>) 85 Factorial complexo de grandes n�meros em ponto flutuante. 86 87 'load ("bffac")' chama essa fun��o. 88 89 -- Fun��o da class: float (<expr>) 90 Converte inteiros, n�meros racionais e grandes n�meros em ponto 91 flutuante em <expr> para n�meros em ponto flutuante. Da mesma 92 forma um 'evflag', 'float' faz com que n�meros racionais 93 n�o-inteiros e grandes n�meros em ponto flutuante sejam convertidos 94 para ponto flutuante. 95 96 -- Vari�vel de Op��o da class: float2bf 97 Valor por omiss�o: 'false' 98 99 Quando 'float2bf' for 'false', uma mensagem de alerta � mostrada 100 quando um n�mero em ponto flutuante � convertido em um grande 101 n�mero em ponto flutuante (uma vez que isso pode resultar em perda 102 de precis�o). 103 104 -- Fun��o da class: floatnump (<expr>) 105 Retorna 'true' se <expr> for um n�mero em ponto flutuante, de outra 106 forma retorna 'false'. 107 108 -- Vari�vel de Op��o da class: fpprec 109 Valor por omiss�o: 16 110 111 'fpprec' � o n�mero de algarismos significativos para aritm�tica 112 sobre grandes n�meros em ponto flutuante 'fpprec' n�o afecta 113 c�lculos sobre n�meros em ponto flutuante comuns. 114 115 Veja tamb�m 'bfloat' e 'fpprintprec'. 116 117 -- Vari�vel de Op��o da class: fpprintprec 118 Valor por omiss�o: 0 119 120 'fpprintprec' � o n;umero de d�gitos a serem mostrados na tela 121 quando no caso de nu�meros em ponto flutuante e no caso de grandes 122 n�meros em ponto flutuante. 123 124 Para n�meros em ponto flutuante comuns, quando 'fpprintprec' tiver 125 um valor entre 2 e 16 (inclusive), o n;umero de d�gitos mostrado na 126 tela � igual a 'fpprintprec'. De outra forma, 'fpprintprec' � 0, 127 ou maior que 16, e o n�mero de d�gitos mostrados � 16. 128 129 Para grandes n�meros em ponto flutuante, quando 'fpprintprec' tiver 130 um valor entre 2 e 'fpprec' (inclusive), o n;umero de d�gitos 131 mostrados � giaul a 'fpprintprec'. De outra forma, 'fpprintprec' � 132 0, ou maior que 'fpprec', e o n;umero de d�gitos mostrados � igual 133 a 'fpprec'. 134 135 'fpprintprec' n�o pode ser 1. 136 137 138File: maxima.info, Node: Contextos, Next: Polin�mios, Prev: Ponto Flutuante, Up: Top 139 14011, Contextos 141************* 142 143* Menu: 144 145* Defini��es para Contextos:: 146 147 148File: maxima.info, Node: Defini��es para Contextos, Prev: Contextos, Up: Contextos 149 15011.1, Defini��es para Contextos 151=============================== 152 153 -- Fun��o da class: activate (<context_1>, ..., <context_n>) 154 Ativa os contextos <context_1>, ..., <context_n>. Os factos nesses 155 contextos est�o ent�o dispon�veis para fazer dedu��es e recuperar 156 informa��o. Os factos nesses contextos n�o s�o listadas atrav�s de 157 'facts ()'. 158 159 A vari�vel 'activecontexts' � a lista de contextos que est�o 160 activos pelo caminho da fun��o 'activate'. 161 162 -- Vari�vel de sistema da class: activecontexts 163 Valor por omiss�o: '[]' 164 165 'activecontexts' � a lista de contextos que est�o activos pelo 166 caminho da fun��o 'activate', em oposi��o a sendo activo porque 167 eles s�o subcontextos do contexto corrente. 168 169 -- Fun��o da class: assume (<pred_1>, ..., <pred_n>) 170 Adiciona predicados <pred_1>, ..., <pred_n> ao contexto corrente. 171 Se um predicado for incossistente ou redundante com os predicados 172 no contexto corrente, esses predicados n�o s�o adicionados ao 173 contexto. O contexto acumula predicados de cada chamada a 174 'assume'. 175 176 'assume' retorna uma lista cujos elementos s�o os predicados 177 adicionados ao contexto ou os �tomos 'redundant' ou 'inconsistent' 178 onde for aplic�vel. 179 180 Os predicados <pred_1>, ..., <pred_n> podem somente ser express�es 181 com os operadores relacionais '< <= equal notequal >=' e '>'. 182 Predicados n�o podem ser express�es de igualdades literais '=' ou 183 express�es de desigualdades literais '#', nem podem elas serem 184 fun��es de predicado tais como 'integerp'. 185 186 Predicados combinados da forma '<pred_1> and ... and <pred_n>' s�o 187 reconhecidos, mas n�o '<pred_1> or ... or <pred_n>'. 'not 188 <pred_k>' � reconhecidos se <pred_k> for um predicado relacional. 189 Express�es da forma 'not (<pred_1> e <pred_2>)' and 'not (<pred_1> 190 or <pred_2>)' n�o s�o reconhecidas. 191 192 O mecanismo de dedu��o do Maxima n�o � muito forte; exitem 193 consequ�ncias muito �bvias as quais n�o podem ser determinadas por 194 meio de 'is'. Isso � uma fraqueza conhecida. 195 196 'assume' avalia seus argumentos. 197 198 Veja tamb�m 'is', 'facts', 'forget', 'context', e 'declare'. 199 200 Exemplos: 201 202 (%i1) assume (xx > 0, yy < -1, zz >= 0); 203 (%o1) [xx > 0, yy < - 1, zz >= 0] 204 (%i2) assume (aa < bb and bb < cc); 205 (%o2) [bb > aa, cc > bb] 206 (%i3) facts (); 207 (%o3) [xx > 0, - 1 > yy, zz >= 0, bb > aa, cc > bb] 208 (%i4) is (xx > yy); 209 (%o4) true 210 (%i5) is (yy < -yy); 211 (%o5) true 212 (%i6) is (sinh (bb - aa) > 0); 213 (%o6) true 214 (%i7) forget (bb > aa); 215 (%o7) [bb > aa] 216 (%i8) prederror : false; 217 (%o8) false 218 (%i9) is (sinh (bb - aa) > 0); 219 (%o9) unknown 220 (%i10) is (bb^2 < cc^2); 221 (%o10) unknown 222 223 -- Vari�vel de op��o da class: assumescalar 224 Valor por omiss�o: 'true' 225 226 'assumescalar' ajuda a governar se express�es 'expr' para as quais 227 'nonscalarp (expr)' for 'false' s�o assumidas comportar-se como 228 escalares para certas transforma��es. 229 230 Tomemos 'expr' representando qualquer express�o outra que n�o uma 231 lista ou uma matriz, e tomemos '[1, 2, 3]' representando qualquer 232 lista ou matriz. Ent�o 'expr . [1, 2, 3]' retorna '[expr, 2 expr, 233 3 expr]' se 'assumescalar' for 'true', ou 'scalarp (expr)' for 234 'true', ou 'constantp (expr)' for 'true'. 235 236 Se 'assumescalar' for 'true', tais express�es ir�o comportar-se 237 como escalares somente para operadores comutativos, mas n�o para 238 multiplica��o n�o comutativa '.'. 239 240 Quando 'assumescalar' for 'false', tais express�es ir�o 241 comportar-se como n�o escalares. 242 243 Quando 'assumescalar' for 'all', tais express�es ir�o comportar-se 244 como escalares para todos os operadores listados acima. 245 246 -- Vari�vel de op��o da class: assume_pos 247 Valor por omiss�o: 'false' 248 249 Quando 'assume_pos' for 'true' e o sinal de um par�metro <x> n�o 250 pode ser determinado a partir do contexto corrente ou outras 251 considera��es, 'sign' e 'asksign (<x>)' retornam 'true'. Isso pode 252 impedir algum questionamento de 'asksign' gerado automaticamente, 253 tal como pode surgir de 'integrate' ou de outros c�lculos. 254 255 Por padr�o, um par�metro � <x> tal como 'symbolp (<x>)' or 'subvarp 256 (<x>)'. A classe de express�es consideradas par�metros pode ser 257 modificada para alguma abrang�ncia atrav�s da vari�vel 258 'assume_pos_pred'. 259 260 'sign' e 'asksign' tentam deduzir o sinal de express�es a partir de 261 sinais de operandos dentro da express�o. Por exemplo, se 'a' e 'b' 262 s�o ambos positivos, ent�o 'a + b' � tamb�m positivo. 263 264 Todavia, n�o existe caminho para desviar todos os questionamentos 265 de 'asksign'. Particularmente, quando o argumento de 'asksign' for 266 uma diferen�a '<x> - <y>' ou um logaritmo 'log(<x>)', 'asksign' 267 sempre solicita uma entrada ao utilizador, mesmo quando 268 'assume_pos' for 'true' e 'assume_pos_pred' for uma fun��o que 269 retorna 'true' para todos os argumentos. 270 271 -- Vari�vel de op��o da class: assume_pos_pred 272 Valor por omiss�o: 'false' 273 274 Quando 'assume_pos_pred' for atribu�do o nome de uma fun��o ou uma 275 express�o lambda de um argumento <x>, aquela fun��o � chamada para 276 determinar se <x> � considerado um par�metro para o prop�sito de 277 'assume_pos'. 'assume_pos_pred' � ignorado quando 'assume_pos' for 278 'false'. 279 280 A fun��o 'assume_pos_pred' � chamada atrav�s de 'sign' e de 281 'asksign' com um argumento <x> que � ou um �tomo, uma vari�vel 282 subscrita, ou uma express�o de chamada de fun��o. Se a fun��o 283 'assume_pos_pred' retorna 'true', <x> � considerado um par�metro 284 para o prop�sito de 'assume_pos'. 285 286 Por padr�o, um par�metro � <x> tal que 'symbolp (x)' ou 'subvarp 287 (x)'. 288 289 Veja tamb�m 'assume' e 'assume_pos'. 290 291 Exemplos: 292 293 (%i1) assume_pos: true$ 294 (%i2) assume_pos_pred: symbolp$ 295 (%i3) sign (a); 296 (%o3) pos 297 (%i4) sign (a[1]); 298 (%o4) pnz 299 (%i5) assume_pos_pred: lambda ([x], display (x), true)$ 300 (%i6) asksign (a); 301 x = a 302 303 (%o6) pos 304 (%i7) asksign (a[1]); 305 x = a 306 1 307 308 (%o7) pos 309 (%i8) asksign (foo (a)); 310 x = foo(a) 311 312 (%o8) pos 313 (%i9) asksign (foo (a) + bar (b)); 314 x = foo(a) 315 316 x = bar(b) 317 318 (%o9) pos 319 (%i10) asksign (log (a)); 320 x = a 321 322 Is a - 1 positive, negative, or zero? 323 324 p; 325 (%o10) pos 326 (%i11) asksign (a - b); 327 x = a 328 329 x = b 330 331 x = a 332 333 x = b 334 335 Is b - a positive, negative, or zero? 336 337 p; 338 (%o11) neg 339 340 -- Vari�vel de op��o da class: context 341 Valor por omiss�o: 'initial' 342 343 'context' nomeia a colec��o de factos mantida atrav�s de 'assume' e 344 'forget'. 'assume' adiciona factos � colec��o nomeada atrav�s de 345 'context', enquanto 'forget' remove factos. 346 347 Associando 'context' para um nome <foo> altera o contexto corrente 348 para <foo>. Se o contexto especificado <foo> n�o existe ainda, ele 349 � criado automaticamente atrav�s de uma chamada a 'newcontext'. O 350 contexto especificado � activado automaticamente. 351 352 Veja 'contexts' para uma descri��o geral do mecanismo de contexto. 353 354 -- Vari�vel de op��o da class: contexts 355 Valor por omiss�o: '[initial, global]' 356 357 'contexts' � uma lista dos contextos que existem actualmente, 358 incluindo o contexto activo actualmente. 359 360 O mecanismo de contexto torna poss�vel para um utilizador associar 361 e nomear uma por��o seleccionada de factos, chamada um contexto. 362 Assim que isso for conclu�do, o utilizador pode ter o Maxima 363 assumindo ou esquecendo grande quantidade de factos meramente 364 atrav�s da activa��o ou desativa��o seu contexto. 365 366 Qualquer �tomo simb�lico pode ser um contexto, e os factos contidos 367 naquele contexto ir�o ser retidos em armazenamento at� que sejam 368 destru�dos um por um atrav�s de chamadas a 'forget' ou destru�dos 369 com um conjunto atrav�s de uma chamada a 'kill' para destruir o 370 contexto que eles pertencem. 371 372 Contextos existem em uma hierarqu�a, com o ra�z sempre sendo o 373 contexto 'global', que cont�m informa��es sobre Maxima que alguma 374 fun��o precisa. Quando em um contexto dado, todos os factos 375 naquele contexto est�o "ativos" (significando que eles s�o usados 376 em dedu��es e recuperados) como est�o tamb�m todos os factos em 377 qualquer contexto que for um subcontexto do contexto activo. 378 379 Quando um novo Maxima for iniciado, o utilizador est� em um 380 contexto chamado 'initial', que tem 'global' como um subcontexto. 381 382 Veja tamb�m 'facts', 'newcontext', 'supcontext', 'killcontext', 383 'activate', 'deactivate', 'assume', e 'forget'. 384 385 -- Fun��o da class: deactivate (<context_1>, ..., <context_n>) 386 Desativa os contextos especificados <context_1>, ..., <context_n>. 387 388 -- Fun��o da class: facts (<item>) 389 -- Fun��o da class: facts () 390 Se <item> for o nome de um contexto, 'facts (<item>)' retorna uma 391 lista de factos no contexto especificado. 392 393 Se <item> n�o for o nome de um contexto, 'facts (<item>)' retorna 394 uma lista de factos conhecidos sobre <item> no contexto actual. 395 Fatos que est�o atuvos, mas em um diferente contexto, n�o s�o 396 listados. 397 398 'facts ()' (i.e., sem argumento) lista o contexto actual. 399 400 -- Declara��o da class: features 401 Maxima recnhece ceertas propriedades matem�ticas de fun��es e 402 vari�veis. Essas s�o chamadas "recursos". 403 404 'declare (<x>, <foo>)' fornece a propriedade <foo> para a fun��o ou 405 vari�vel <x>. 406 407 'declare (<foo>, recurso)' declara um novo recurso <foo>. Por 408 exemplo, 'declare ([red, green, blue], feature)' declara tr�s novos 409 recursos, 'red', 'green', e 'blue'. 410 411 O predicado 'featurep (<x>, <foo>)' retorna 'true' se <x> possui a 412 propriedade <foo>, e 'false' de outra forma. 413 414 A infolista 'features' � uma lista de recursos conhecidos. S�o 415 esses 'integer', 'noninteger', 'even', 'odd', 'rational', 416 'irrational', 'real', 'imaginary', 'complex', 'analytic', 417 'increasing', 'decreasing', 'oddfun', 'evenfun', 'posfun', 418 'commutative', 'lassociative', 'rassociative', 'symmetric', e 419 'antisymmetric', mais quaisquer recursos definidos pelo utilizador. 420 421 'features' � uma lista de recursos matem�ticos. Existe tamb�m uma 422 lista de recursos n�o matem�ticos, recursos dependentes do sistema. 423 Veja 'status'. 424 425 -- Fun��o da class: forget (<pred_1>, ..., <pred_n>) 426 -- Fun��o da class: forget (<L>) 427 Remove predicados estabelecidos atrav�s de 'assume'. Os predicados 428 podem ser express�es equivalentes a (mas n�o necess�riamente 429 id�nticas a) esses prevamentes assumidos. 430 431 'forget (<L>)', onde <L> � uma lista de predicados, esquece cada 432 item da lista. 433 434 -- Fun��o da class: killcontext (<context_1>, ..., <context_n>) 435 Mata os contextos <context_1>, ..., <context_n>. 436 437 Se um dos contextos estiver for o contexto actual, o novo contexto 438 actual ir� tornar-se o primeiro subcontexto dispon�vel do contexto 439 actual que n�o tiver sido morto. Se o primeiro contexto dispon�vel 440 n�o morto for 'global' ent�o 'initial' � usado em seu lugar. Se o 441 contexto 'initial' for morto, um novo, por�m vazio contexto 442 'initial' � criado. 443 444 'killcontext' recusa-se a matar um contexto que estiver ativo 445 actualmente, ou porque ele � um subcontexto do contexto actual, ou 446 atrav�s do uso da fun��o 'activate'. 447 448 'killcontext' avalia seus argumentos. 'killcontext' retorna 449 'done'. 450 451 -- Fun��o da class: newcontext (<nome>) 452 Cria um novo contexto, por�m vazio, chamado <nome>, que tem 453 'global' como seu �nico subcontexto. O contexto recentemente 454 criado torna-se o contexto activo actualmente. 455 456 'newcontext' avalia seu argumento. 'newcontext' retorna <nome>. 457 458 -- Fun��o da class: supcontext (<nome>, <context>) 459 -- Fun��o da class: supcontext (<nome>) 460 Cria um novo contexto, chamado <nome>, que tem <context> como um 461 subcontexto. <context> deve existir. 462 463 Se <context> n�o for especificado, o contexto actual � assumido. 464 465 466File: maxima.info, Node: Polin�mios, Next: Constantes, Prev: Contextos, Up: Top 467 46812, Polin�mios 469************** 470 471* Menu: 472 473* Introdu��o a Polin�mios:: 474* Defini��es para Polin�mios:: 475 476 477File: maxima.info, Node: Introdu��o a Polin�mios, Next: Defini��es para Polin�mios, Prev: Polin�mios, Up: Polin�mios 478 47912.1, Introdu��o a Polin�mios 480============================= 481 482Polin�mios s�o armazenados no Maxima ou na forma geral ou na forma de 483Express�es Racionais Can�nicas (CRE). Essa �ltima � uma forma padr�o, e 484� usada internamente por opera��es tais como 'factor', 'ratsimp', e 485assim por diante. 486 487Express�es Racionais Can�nicas constituem um tipo de representa��o que � 488especialmente adequado para polin�mios expandidos e fun��es racionais 489(tamb�m para polin�mios parcialmente factorizados e fun��es racionais 490quando RATFAC for escolhida para 'true'). Nessa forma CRE uma ordena��o 491de vari�veis (da mais para a menos importante) � assumida para cada 492express�o. Polin�mios s�o representados recursivamente por uma lista 493consistindo da vari�vel principal seguida por uma s�rie de pares de 494express�es, uma para cada termo do polin�mio. O primeiro membro de cada 495par � o expoente da vari�vel principal naquele termo e o segundo membro 496� o coeficiente daquele termo que pode ser um n�mero ou um polin�mio em 497outra vari�vel novamente respresentado nessa forma. Sendo assim a parte 498principal da forma CRE de 3*X^2-1 � (X 2 3 0 -1) e que a parte principal 499da forma CRE de 2*X*Y+X-3 � (Y 1 (X 1 2) 0 (X 1 1 0 -3)) assumindo Y 500como sendo a vari�vel principal, e � (X 1 (Y 1 2 0 1) 0 -3) assumindo X 501como sendo a vari�vel principal. A vari�vel principal � usualmente 502determineda pela ordem alfab�tica reversa. As "vari�veis" de uma 503express�o CRE n�o necessariamente devem ser at�micas. De facto qualquer 504subexpress�o cujo principal operador n�o for + - * / or ^ com expoente 505inteiro ser� considerado uma "vari�vel" da express�o (na forma CRE) na 506qual essa ocorrer. Por exemplo as vari�veis CRE da express�o 507X+SIN(X+1)+2*SQRT(X)+1 s�o X, SQRT(X), e SIN(X+1). Se o utilizador n�o 508especifica uma ordem de vari�veis pelo uso da fun��o RATVARS Maxima 509escolher� a alfab�tica por conta pr�pria. Em geral, CREs representam 510express�es racionais, isto �, raz�es de polin�mios, onde o numerador e o 511denominador n�o possuem factores comuns, e o denominador for positivo. 512A forma interna � essencialmente um par de polin�mios (o numerador e o 513denominador) precedidos pela lista de ordena��o de vari�vel. Se uma 514express�o a ser mostrada estiver na forma CRE ou se contiver quaisquer 515subexpress�es na forma CRE, o s�mbolo /R/ seguir� o r�tulo da linha. 516Veja a fun��o RAT para saber como converter uma express�o para a forma 517CRE. Uma forma CRE extendida � usada para a representa��o de s�ries de 518Taylor. A no��o de uma express�o racional � extendida de modo que os 519expoentes das vari�veis podem ser n�meros racionais positivos ou 520negativos em lugar de apenas inteiros positivos e os coeficientes podem 521eles mesmos serem express�es racionais como descrito acima em lugar de 522apenas polin�mios. Estes s�o representados internamente por uma forma 523polinomial recursiva que � similar � forma CRE e � a generaliza��o dessa 524mesma forma CRE, mas carrega informa��o adicional tal com o grau de 525trunca��o. Do mesmo modo que na forma CRE, o s�mbolo /T/ segue o r�tulo 526de linha que cont�m as tais express�es. 527 528 529File: maxima.info, Node: Defini��es para Polin�mios, Prev: Introdu��o a Polin�mios, Up: Polin�mios 530 53112.2, Defini��es para Polin�mios 532================================ 533 534 -- Vari�vel de op��o da class: algebraic 535 Valor Padr�o: 'false' 536 537 'algebraic' deve ser escolhida para 'true' com o objectivo de que a 538 simplifica��o de inteiros alg�bricos tenha efeito. 539 540 -- Vari�vel de op��o da class: berlefact 541 Valor Padr�o: 'true' 542 543 Quando 'berlefact' for 'false' ent�o o algoritmo de factoriza��o de 544 Kronecker ser� usado. De outra forma o algoritmo de Berlekamp, que 545 � o padr�o, ser� usado. 546 547 -- Fun��o da class: bezout (<p1>, <p2>, <x>) 548 uma alternativa para o comando 'resultant'. Isso retorna uma 549 matriz. 'determinant' dessa matriz � o resultante desejado. 550 551 -- Fun��o da class: bothcoef (<expr>, <x>) 552 Retorna uma lista da qual o primeiro membro � o coeficiente de <x> 553 em <expr> (como achado por 'ratcoef' se <expr> est� na forma CRE de 554 outro modo por 'coeff') e cujo segundo membro � a parte restante de 555 <expr>. Isto �, '[A, B]' onde '<expr> = A*<x> + B'. 556 557 Exemplo: 558 559 (%i1) islinear (expr, x) := block ([c], 560 c: bothcoef (rat (expr, x), x), 561 � (freeof (x, c) and c[1] # 0))$ 562 (%i2) islinear ((r^2 - (x - r)^2)/x, x); 563 (%o2) true 564 565 -- Fun��o da class: coeff (<expr>, <x>, <n>) 566 Retorna o coeficiente de '<x>^<n>' em <expr>. <n> pode ser omitido 567 se for 1. <x> pode ser um �tomo, ou subexpress�o completa de 568 <expr> e.g., 'sin(x)', 'a[i+1]', 'x + y', etc. (No �ltimo caso a 569 express�o '(x + y)' pode ocorrer em <expr>). Algumas vezes isso 570 pode ser necess�rio para expandir ou factorizar <expr> com o 571 objectivo de fazer '<x>^<n>' explicito. Isso n�o � realizado por 572 'coeff'. 573 574 Exemplos: 575 576 (%i1) coeff (2*a*tan(x) + tan(x) + b = 5*tan(x) + 3, tan(x)); 577 (%o1) 2 a + 1 = 5 578 (%i2) coeff (y + x*%e^x + 1, x, 0); 579 (%o2) y + 1 580 581 -- Fun��o da class: combine (<expr>) 582 Simplifica a adi��o <expr> por termos combinados com o mesmo 583 denominador dentro de um termo simples. 584 585 -- Fun��o da class: content (<p_1>, <x_1>, ..., <x_n>) 586 Retorna uma lista cujo primeiro elemento � o m�ximo divisor comum 587 dos coeficientes dos termos do polin�mio <p_1> na vari�vel <x_n> 588 (isso � o conte�do) e cujo segundo elemento � o polin�mio <p_1> 589 dividido pelo conte�do. 590 591 Exemplos: 592 593 (%i1) content (2*x*y + 4*x^2*y^2, y); 594 2 595 (%o1) [2 x, 2 x y + y] 596 597 -- Fun��o da class: denom (<expr>) 598 Retorna o denominador da express�o racional <expr>. 599 600 -- Fun��o da class: divide (<p_1>, <p_2>, <x_1>, ..., <x_n>) 601 calcula o quocietne e o resto do polin�mio <p_1> dividido pelo 602 polin�mio <p_2>, na vari�vel principal do polin�mio, <x_n>. As 603 outras vari�veis s�o como na fun��o 'ratvars'. O resultado � uma 604 lista cujo primeiro elemento � o quociente e cujo segundo elemento 605 � o resto. 606 607 Exemplos: 608 609 (%i1) divide (x + y, x - y, x); 610 (%o1) [1, 2 y] 611 (%i2) divide (x + y, x - y); 612 (%o2) [- 1, 2 x] 613 614 Note que 'y' � a vari�vel principal no segundo exemplo. 615 616 -- Fun��o da class: eliminate ([<eqn_1>, ..., <eqn_n>], [<x_1>, ..., 617 <x_k>]) 618 Elimina vari�veis de equa��es (ou express�es assumidas iguais a 619 zero) obtendo resultantes sucessivos. Isso retorna uma lista de 620 '<n> - <k>' express�es com <k> vari�veis <x_1>, ..., <x_k> 621 eliminadas. Primeiro <x_1> � eliminado retornando '<n> - 1' 622 express�es, ent�o 'x_2' � eliminado, etc. Se '<k> = <n>' ent�o uma 623 express�o simples em uma lista � retornada livre das vari�veis 624 <x_1>, ..., <x_k>. Nesse caso 'solve' � chamado para resolver a 625 �ltima resultante para a �ltima vari�vel. 626 627 Exemplo: 628 629 (%i1) expr1: 2*x^2 + y*x + z; 630 2 631 (%o1) z + x y + 2 x 632 (%i2) expr2: 3*x + 5*y - z - 1; 633 (%o2) - z + 5 y + 3 x - 1 634 (%i3) expr3: z^2 + x - y^2 + 5; 635 2 2 636 (%o3) z - y + x + 5 637 (%i4) eliminate ([expr3, expr2, expr1], [y, z]); 638 8 7 6 5 4 639 (%o4) [7425 x - 1170 x + 1299 x + 12076 x + 22887 x 640 641 3 2 642 - 5154 x - 1291 x + 7688 x + 15376] 643 644 -- Fun��o da class: ezgcd (<p_1>, <p_2>, <p_3>, ...) 645 Retorna uma lista cujo primeiro elemento � o m.d.c. dos polin�mios 646 <p_1>, <p_2>, <p_3>, ... e cujos restantes elementos s�o os 647 polin�mios divididos pelo mdc. Isso sempre usa o algoritmo 648 'ezgcd'. 649 650 -- Vari�vel de op��o da class: facexpand 651 Valor Padr�o: 'true' 652 653 'facexpand' controla se os factores irredut�veis retornados por 654 'factor' est�o na forma expandida (o padr�o) ou na forma recursiva 655 (CRE normal). 656 657 -- Fun��o da class: factcomb (<expr>) 658 Tenta combinar os coeficientes de factoriais em <expr> com os 659 pr�prios factoriais convertendo, por exemplo, '(n + 1)*n!' em '(n + 660 1)!'. 661 662 'sumsplitfact' se escolhida para 'false' far� com que 663 'minfactorial' seja aplicado ap�s um 'factcomb'. 664 665 -- Fun��o da class: factor (<expr>) 666 -- Fun��o da class: factor (<expr>, <p>) 667 668 Factoriza a express�o <expr>, contendo qualquer n�mero de vari�veis 669 ou fun��es, em factores irredut�veis sobre os inteiros. 'factor 670 (<expr>, <p>)' factoriza <expr> sobre o campo dos inteiros com um 671 elemento adjunto cujo menor polin�mio � <p>. 672 673 'factor' usa a fun��o 'ifactors' para factorizar inteiros. 674 675 'factorflag' se 'false' suprime a factoriza��o de factores inteiros 676 de express�es racionais. 677 678 'dontfactor' pode ser escolhida para uma lista de vari�veis com 679 rela��o � qual factoriza��o n�o � para ocorrer. (Essa � 680 inicialmente vazia). Factoriza��o tamb�m n�o acontece com rela��o 681 a quaisquer vari�veis que s�o menos importantes (usando a ordena��o 682 de vari�vel assumida pela forma CRE) como essas na lista 683 'dontfactor'. 684 685 'savefactors' se 'true' faz com que os factores de uma express�o 686 que � um produto de factores seja guardada por certas fun��es com o 687 objectivo de aumentar a velocidade de futuras factoriza��es de 688 express�es contendo alguns dos mesmos factores. 689 690 'berlefact' se 'false' ent�o o algoritmo de factoriza��o de 691 Kronecker ser� usado de outra forma o algoritmo de Berlekamp, que � 692 o padr�o, ser� usado. 693 694 'intfaclim' se 'true' maxima ir� interromper a factoriza��o de 695 inteiros se nenhum factor for encontrado ap�s tentar divis�es e o 696 m�todo rho de Pollard. Se escolhida para 'false' (esse � o caso 697 quando o utilizador chama 'factor' explicitamente), a factoriza��o 698 completa do inteiro ser� tentada. A escolha do utilizador para 699 'intfaclim' � usada para chamadas internas a 'factor'. Dessa 700 forma, 'intfaclim' pode ser resetada para evitar que o Maxima gaste 701 um tempo muito longo factorizando inteiros grandes. 702 703 Exemplos: 704 705 (%i1) factor (2^63 - 1); 706 2 707 (%o1) 7 73 127 337 92737 649657 708 (%i2) factor (-8*y - 4*x + z^2*(2*y + x)); 709 (%o2) (2 y + x) (z - 2) (z + 2) 710 (%i3) -1 - 2*x - x^2 + y^2 + 2*x*y^2 + x^2*y^2; 711 2 2 2 2 2 712 (%o3) x y + 2 x y + y - x - 2 x - 1 713 (%i4) block ([dontfactor: [x]], factor (%/36/(1 + 2*y + y^2))); 714 2 715 (x + 2 x + 1) (y - 1) 716 (%o4) ---------------------- 717 36 (y + 1) 718 (%i5) factor (1 + %e^(3*x)); 719 x 2 x x 720 (%o5) (%e + 1) (%e - %e + 1) 721 (%i6) factor (1 + x^4, a^2 - 2); 722 2 2 723 (%o6) (x - a x + 1) (x + a x + 1) 724 (%i7) factor (-y^2*z^2 - x*z^2 + x^2*y^2 + x^3); 725 2 726 (%o7) - (y + x) (z - x) (z + x) 727 (%i8) (2 + x)/(3 + x)/(b + x)/(c + x)^2; 728 x + 2 729 (%o8) ------------------------ 730 2 731 (x + 3) (x + b) (x + c) 732 (%i9) ratsimp (%); 733 4 3 734 (%o9) (x + 2)/(x + (2 c + b + 3) x 735 736 2 2 2 2 737 + (c + (2 b + 6) c + 3 b) x + ((b + 3) c + 6 b c) x + 3 b c ) 738 (%i10) partfrac (%, x); 739 2 4 3 740 (%o10) - (c - 4 c - b + 6)/((c + (- 2 b - 6) c 741 742 2 2 2 2 743 + (b + 12 b + 9) c + (- 6 b - 18 b) c + 9 b ) (x + c)) 744 745 c - 2 746 - --------------------------------- 747 2 2 748 (c + (- b - 3) c + 3 b) (x + c) 749 750 b - 2 751 + ------------------------------------------------- 752 2 2 3 2 753 ((b - 3) c + (6 b - 2 b ) c + b - 3 b ) (x + b) 754 755 1 756 - ---------------------------------------------- 757 2 758 ((b - 3) c + (18 - 6 b) c + 9 b - 27) (x + 3) 759 (%i11) map ('factor, %); 760 2 761 c - 4 c - b + 6 c - 2 762 (%o11) - ------------------------- - ------------------------ 763 2 2 2 764 (c - 3) (c - b) (x + c) (c - 3) (c - b) (x + c) 765 766 b - 2 1 767 + ------------------------ - ------------------------ 768 2 2 769 (b - 3) (c - b) (x + b) (b - 3) (c - 3) (x + 3) 770 (%i12) ratsimp ((x^5 - 1)/(x - 1)); 771 4 3 2 772 (%o12) x + x + x + x + 1 773 (%i13) subst (a, x, %); 774 4 3 2 775 (%o13) a + a + a + a + 1 776 (%i14) factor (%th(2), %); 777 2 3 3 2 778 (%o14) (x - a) (x - a ) (x - a ) (x + a + a + a + 1) 779 (%i15) factor (1 + x^12); 780 4 8 4 781 (%o15) (x + 1) (x - x + 1) 782 (%i16) factor (1 + x^99); 783 2 6 3 784 (%o16) (x + 1) (x - x + 1) (x - x + 1) 785 786 10 9 8 7 6 5 4 3 2 787 (x - x + x - x + x - x + x - x + x - x + 1) 788 789 20 19 17 16 14 13 11 10 9 7 6 790 (x + x - x - x + x + x - x - x - x + x + x 791 792 4 3 60 57 51 48 42 39 33 793 - x - x + x + 1) (x + x - x - x + x + x - x 794 795 30 27 21 18 12 9 3 796 - x - x + x + x - x - x + x + 1) 797 798 -- Vari�vel de op��o da class: factorflag 799 Valor Padr�o: 'false' 800 801 Quando 'factorflag' for 'false', suprime a factoriza��o de factores 802 inteiros em express�es racionais. 803 804 -- Fun��o da class: factorout (<expr>, <x_1>, <x_2>, ...) 805 Rearranja a adi��o <expr> em uma adi��o de parcelas da forma 'f 806 (<x_1>, <x_2>, ...)*g' onde 'g' � um produto de express�es que n�o 807 possuem qualquer <x_i> e 'f' � factorizado. 808 809 -- Fun��o da class: factorsum (<expr>) 810 Tenta agrupar parcelas em factores de <expr> que s�o adi��es em 811 grupos de parcelas tais que sua adi��o � factor�vel. 'factorsum' 812 pode recuperar o resultado de 'expand ((x + y)^2 + (z + w)^2)' mas 813 n�o pode recuperar 'expand ((x + 1)^2 + (x + y)^2)' porque os 814 termos possuem vari�veis em comum. 815 816 Exemplo: 817 818 (%i1) expand ((x + 1)*((u + v)^2 + a*(w + z)^2)); 819 2 2 2 2 820 (%o1) a x z + a z + 2 a w x z + 2 a w z + a w x + v x 821 822 2 2 2 2 823 + 2 u v x + u x + a w + v + 2 u v + u 824 (%i2) factorsum (%); 825 2 2 826 (%o2) (x + 1) (a (z + w) + (v + u) ) 827 828 -- Fun��o da class: fasttimes (<p_1>, <p_2>) 829 Retorna o produto dos polin�mios <p_1> e <p_2> usando um algoritmo 830 especial para a multiplica��o de polin�mios. 'p_1' e 'p_2' podem 831 ser de v�rias vari�veis, densos, e aproximadamente do mesmo 832 tamanho. A multiplica��o cl�ssica � de ordem 'n_1 n_2' onde 'n_1' 833 � o grau de 'p_1' and 'n_2' � o grau de 'p_2'. 'fasttimes' � da 834 ordem 'max (n_1, n_2)^1.585'. 835 836 -- Fun��o da class: fullratsimp (<expr>) 837 'fullratsimp' aplica repetidamente 'ratsimp' seguido por 838 simplifica��o n�o racional a uma express�o at� que nenhuma mudan�a 839 adicional ocorra, e retorna o resultado. 840 841 Quando express�es n�o racionais est�o envolvidas, uma chamada a 842 'ratsimp' seguida como � usual por uma simplifica��o n�o racional 843 ("geral") pode n�o ser suficiente para retornar um resultado 844 simplificado. Algumas vezes, mais que uma tal chamada pode ser 845 necess�ria. 'fullratsimp' faz esse processo convenientemente. 846 847 'fullratsimp (<expr>, <x_1>, ..., <x_n>)' aceita um ou mais 848 argumentos similar a 'ratsimp' e 'rat'. 849 850 Exemplo: 851 852 (%i1) expr: (x^(a/2) + 1)^2*(x^(a/2) - 1)^2/(x^a - 1); 853 a/2 2 a/2 2 854 (x - 1) (x + 1) 855 (%o1) ----------------------- 856 a 857 x - 1 858 (%i2) ratsimp (expr); 859 2 a a 860 x - 2 x + 1 861 (%o2) --------------- 862 a 863 x - 1 864 (%i3) fullratsimp (expr); 865 a 866 (%o3) x - 1 867 (%i4) rat (expr); 868 a/2 4 a/2 2 869 (x ) - 2 (x ) + 1 870 (%o4)/R/ ----------------------- 871 a 872 x - 1 873 874 -- Fun��o da class: fullratsubst (<a>, <b>, <c>) 875 � o mesmo que 'ratsubst' excepto que essa chama a si mesma 876 recursivamente sobre esse resultado at� que o resultado para de 877 mudar. Essa fun��o � �til quando a express�o de substitui��o e a 878 express�o substitu�da tenham uma ou mais vari�veis em comum. 879 880 'fullratsubst' ir� tamb�m aceitar seus argumentos no formato de 881 'lratsubst'. Isto �, o primeiro argumento pode ser uma 882 substitui��o simples de equa��o ou uma lista de tais equa��es, 883 enquanto o segundo argumento � a express�o sendo processada. 884 885 'load ("lrats")' chama 'fullratsubst' e 'lratsubst'. 886 887 Exemplos: 888 889 (%i1) load ("lrats")$ 890 * 'subst' pode realizar multiplas substitui��es. 'lratsubst' � 891 analogo a 'subst'. 892 (%i2) subst ([a = b, c = d], a + c); 893 (%o2) d + b 894 (%i3) lratsubst ([a^2 = b, c^2 = d], (a + e)*c*(a + c)); 895 (%o3) (d + a c) e + a d + b c 896 * Se somente uma substitui��o � desejada, ent�o uma equa��o 897 simples pode ser dada como primeiro argumento. 898 (%i4) lratsubst (a^2 = b, a^3); 899 (%o4) a b 900 * 'fullratsubst' � equivalente a 'ratsubst' excepto que essa 901 executa recursivamente at� que seu resultado para de mudar. 902 (%i5) ratsubst (b*a, a^2, a^3); 903 2 904 (%o5) a b 905 (%i6) fullratsubst (b*a, a^2, a^3); 906 2 907 (%o6) a b 908 * 'fullratsubst' tamb�m aceita uma lista de equa��es ou uma 909 equa��o simples como primeiro argumento. 910 (%i7) fullratsubst ([a^2 = b, b^2 = c, c^2 = a], a^3*b*c); 911 (%o7) b 912 (%i8) fullratsubst (a^2 = b*a, a^3); 913 2 914 (%o8) a b 915 * 'fullratsubst' pode causar uma recurs�o infinita. 916 (%i9) errcatch (fullratsubst (b*a^2, a^2, a^3)); 917 918 *** - Lisp stack overflow. RESET 919 920 -- Fun��o da class: gcd (<p_1>, <p_2>, <x_1>, ...) 921 Retorna o m�ximo divisor comum entre <p_1> e <p_2>. O sinalizador 922 'gcd' determina qual algoritmo � empregado. Escolhendo 'gcd' para 923 'ez', 'subres', 'red', ou 'spmod' selecciona o algoritmo 'ezgcd', 924 subresultante 'prs', reduzido, ou modular, respectivamente. Se 925 'gcd' for 'false' ent�o 'gcd (<p_1>, <p_2>, <x>)' sempre retorna 1 926 para todo <x>. Muitas fun��es (e.g. 'ratsimp', 'factor', etc.) 927 fazem com que mdc's sejam feitos implicitamente. Para polin�mios 928 homog�neos � recomendado que 'gcd' igual a 'subres' seja usado. 929 Para obter o mdc quando uma express�o alg�brica est� presente, e.g. 930 'gcd (<x>^2 - 2*sqrt(2)*<x> + 2, <x> - sqrt(2))', 'algebraic' deve 931 ser 'true' e 'gcd' n�o deve ser 'ez'. 'subres' � um novo 932 algoritmo, e pessoas que tenham estado usando a op��o 'red' podem 933 provavelmente alterar isso para 'subres'. 934 935 O sinalizador 'gcd', padr�o: 'subres', se 'false' ir� tamb�m evitar 936 o m�ximo divisor comum de ser usado quando express�es s�o 937 convertidas para a forma de express�o racional can�nica (CRE). Isso 938 ir� algumas vezes aumentar a velocidade dos c�lculos se mdc's n�o 939 s�o requeridos. 940 941 -- Fun��o da class: gcdex (<f>, <g>) 942 -- Fun��o da class: gcdex (<f>, <g>, <x>) 943 Retornam uma lista '[<a>, <b>, <u>]' onde <u> � o m�ximo divisor 944 comum (mdc) entre <f> e <g>, e <u> � igual a '<a> <f> + <b> <g>'. 945 Os argumentos <f> e <g> podem ser polin�mios de uma vari�vel, ou de 946 outra forma polin�mios em <x> uma main(principal) vari�vel suprida 947 desde que n�s precisamos estar em um dom�nio de ideal principal 948 para isso trabalhar. O mdc significa o mdc considerando <f> e <g> 949 como polin�mios de uma �nica vari�vel com coeficientes sendo 950 fun��es racionais em outras vari�veis. 951 952 'gcdex' implementa o algoritmo Euclideano, onde temos a sequ�ncia 953 of 'L[i]: [a[i], b[i], r[i]]' que s�o todos perpendiculares a '[f, 954 g, -1]' e o pr�ximo se � constru�do como se 'q = 955 quotient(r[i]/r[i+1])' ent�o 'L[i+2]: L[i] - q L[i+1]', e isso 956 encerra em 'L[i+1]' quando o resto 'r[i+2]' for zero. 957 958 (%i1) gcdex (x^2 + 1, x^3 + 4); 959 2 960 x + 4 x - 1 x + 4 961 (%o1)/R/ [- ------------, -----, 1] 962 17 17 963 (%i2) % . [x^2 + 1, x^3 + 4, -1]; 964 (%o2)/R/ 0 965 966 Note que o mdc adiante � '1' uma vez que trabalhamos em 'k(y)[x]', 967 o 'y+1' n�o pode ser esperado em 'k[y, x]'. 968 969 (%i1) gcdex (x*(y + 1), y^2 - 1, x); 970 1 971 (%o1)/R/ [0, ------, 1] 972 2 973 y - 1 974 975 -- Fun��o da class: gcfactor (<n>) 976 Factoriza o inteiro Gaussiano <n> sobre os inteiros Gaussianos, 977 i.e., n�meros da forma '<a> + <b> %i' onde <a> e <b> s�o inteiros 978 raconais (i.e., inteiros comuns). Factoriza��es s�o normalizadas 979 fazendo <a> e <b> n�o negativos. 980 981 -- Fun��o da class: gfactor (<expr>) 982 Factoriza o polin�mio <expr> sobre os inteiros de Gauss (isto �, os 983 inteiros com a unidade imagin�ria '%i' adjunta). Isso � como 984 'factor (<expr>, <a>^2+1)' trocando <a> por '%i'. 985 986 Exemplo: 987 988 (%i1) gfactor (x^4 - 1); 989 (%o1) (x - 1) (x + 1) (x - %i) (x + %i) 990 991 -- Fun��o da class: gfactorsum (<expr>) 992 � similar a 'factorsum' mas aplica 'gfactor' em lugar de 'factor'. 993 994 -- Fun��o da class: hipow (<expr>, <x>) 995 Retorna o maior expoente expl�cito de <x> em <expr>. <x> pode ser 996 uma vari�vel ou uma express�o geral. Se <x> n�o aparece em <expr>, 997 'hipow' retorna '0'. 998 999 'hipow' n�o considera express�es equivalentes a 'expr'. Em 1000 particular, 'hipow' n�o expande 'expr', ent�o 'hipow (<expr>, <x>)' 1001 e 'hipow (expand (<expr>, <x>))' podem retornar diferentes 1002 resultados. 1003 1004 Exemplos: 1005 1006 (%i1) hipow (y^3 * x^2 + x * y^4, x); 1007 (%o1) 2 1008 (%i2) hipow ((x + y)^5, x); 1009 (%o2) 1 1010 (%i3) hipow (expand ((x + y)^5), x); 1011 (%o3) 5 1012 (%i4) hipow ((x + y)^5, x + y); 1013 (%o4) 5 1014 (%i5) hipow (expand ((x + y)^5), x + y); 1015 (%o5) 0 1016 1017 -- Vari�vel de op��o da class: intfaclim 1018 Valor por omiss�o: true 1019 1020 Se 'true', maxima ir� interromper a factoriza��o de inteiros se 1021 nenhum factor for encontrado ap�s tentar divis�es e o m�todo rho de 1022 Pollard e a factoriza��o n�o ser� completada. 1023 1024 Quando 'intfaclim' for 'false' (esse � o caso quando o utilizador 1025 chama 'factor' explicitamente), a factoriza��o completa ser� 1026 tentada. 'intfaclim' � escolhida para 'false' quando factores s�o 1027 calculados em 'divisors', 'divsum' e 'totient'. 1028 1029 Chamadas internas a 'factor' respeitam o valor especificado pelo 1030 utilizador para 'intfaclim'. Setting 'intfaclim' to 'true' may 1031 reduce 'intfaclim'. Escolhendo 'intfaclim' para 'true' podemos 1032 reduzir o tempo gasto factorizando grandes inteiros. 1033 1034 -- Vari�vel de op��o da class: keepfloat 1035 Valor Padr�o: 'false' 1036 1037 Quando 'keepfloat' for 'true', evitamos que n�meros em ponto 1038 flutuante sejam racionalizados quando express�es que os possuem s�o 1039 ent�o convertidas para a forma de express�o racional can�nica 1040 (CRE). 1041 1042 -- Fun��o da class: lratsubst (<L>, <expr>) 1043 � an�logo a 'subst (<L>, <expr>)' excepto que esse usa 'ratsubst' 1044 em lugar de 'subst'. 1045 1046 O primeiro argumento de 'lratsubst' � uma equa��o ou uma lista de 1047 equa��es id�nticas em formato para que sejam aceitas por 'subst'. 1048 As substitui��es s�o feitas na ordem dada pela lista de equa��es, 1049 isto �, da esquerda para a direita. 1050 1051 'load ("lrats")' chama 'fullratsubst' e 'lratsubst'. 1052 1053 Exemplos: 1054 1055 (%i1) load ("lrats")$ 1056 * 'subst' pode realizar multiplas substitui��es. 'lratsubst' � 1057 analoga a 'subst'. 1058 (%i2) subst ([a = b, c = d], a + c); 1059 (%o2) d + b 1060 (%i3) lratsubst ([a^2 = b, c^2 = d], (a + e)*c*(a + c)); 1061 (%o3) (d + a c) e + a d + b c 1062 * Se somente uma substitui��o for desejada, ent�o uma equa��o 1063 simples pode ser dada como primeiro argumento. 1064 (%i4) lratsubst (a^2 = b, a^3); 1065 (%o4) a b 1066 1067 -- Vari�vel de op��o da class: modulus 1068 Valor Padr�o: 'false' 1069 1070 Quando 'modulus' for um n�mero positivo <p>, opera��es sobre os 1071 n�meros racionais (como retornado por 'rat' e fun��es relacionadas) 1072 s�o realizadas m�dulo <p>, usando o ent�o chamado sistema de m�dulo 1073 "balanceado" no qual '<n> m�dulo <p>' � definido como um inteiro 1074 <k> em '[-(<p>-1)/2, ..., 0, ..., (<p>-1)/2]' quando <p> for �mpar, 1075 ou '[-(<p>/2 - 1), ..., 0, ...., <p>/2]' quando <p> for par, tal 1076 que '<a> <p> + <k>' seja igual a <n> para algum inteiro <a>. 1077 1078 Se <expr> j� estiver na forma de express�o racional can�nica (CRE) 1079 quando 'modulus' for colocado no seu valor original, ent�o pode 1080 precisar repetir o rat <expr>, e.g., 'expr: rat (ratdisrep 1081 (expr))', com o objectivo de obter resultados correctos. 1082 1083 Tipicamente 'modulus' � escolhido para um n�mero primo. Se 1084 'modulus' for escolhido para um inteiro n�o primo positivo, essa 1085 escolha � aceita, mas uma mensagem de alerta � mostrada. Maxima 1086 permitir� que zero ou um inteiro negativo seja atribu�do a 1087 'modulus', embora isso n�o seja limpo se aquele tiver quaisquer 1088 consequ�ncias �teis. 1089 1090 -- Fun��o da class: num (<expr>) 1091 Retorna o numerador de <expr> se isso for uma raz�o. Se <expr> n�o 1092 for uma raz�o, <expr> � retornado. 1093 1094 'num' avalia seu argumento. 1095 1096 -- Fun��o da class: polydecomp (<p>, <x>) 1097 1098 Decomp�es o polin�mio <p> na vari�vel <x> em uma composi��o 1099 funcional de polin�mios em <x>. 'polydecomp' retorna uma lista 1100 '[<p_1>, ..., <p_n>]' tal que 1101 1102 lambda ([x], p_1) (lambda ([x], p_2) (... (lambda ([x], p_n) (x)) ...)) 1103 1104 seja igual a <p>. O grau de <p_i> � maior que 1 para <i> menor que 1105 <n>. 1106 1107 Tal decomposi��o n�o � �nica. 1108 1109 Exemplos: 1110 1111 (%i1) polydecomp (x^210, x); 1112 7 5 3 2 1113 (%o1) [x , x , x , x ] 1114 (%i2) p : expand (subst (x^3 - x - 1, x, x^2 - a)); 1115 6 4 3 2 1116 (%o2) x - 2 x - 2 x + x + 2 x - a + 1 1117 (%i3) polydecomp (p, x); 1118 2 3 1119 (%o3) [x - a, x - x - 1] 1120 1121 As seguintes fun��es comp�em 'L = [e_1, ..., e_n]' como fun��es em 1122 'x'; essa fun��o � a inversa de 'polydecomp': 1123 1124 compose (L, x) := 1125 block ([r : x], for e in L do r : subst (e, x, r), r) $ 1126 1127 Re-exprimindo o exemplo acima usando 'compose': 1128 1129 (%i3) polydecomp (compose ([x^2 - a, x^3 - x - 1], x), x); 1130 2 3 1131 (%o3) [x - a, x - x - 1] 1132 1133 Note que apesar de 'compose (polydecomp (<p>, <x>), <x>)' sempre 1134 retornar <p> (n�o expandido), 'polydecomp (compose ([<p_1>, ..., 1135 <p_n>], <x>), <x>)' n�o necess�riamente retorna '[<p_1>, ..., 1136 <p_n>]': 1137 1138 (%i4) polydecomp (compose ([x^2 + 2*x + 3, x^2], x), x); 1139 2 2 1140 (%o4) [x + 2, x + 1] 1141 (%i5) polydecomp (compose ([x^2 + x + 1, x^2 + x + 1], x), x); 1142 2 2 1143 x + 3 x + 5 1144 (%o5) [------, ------, 2 x + 1] 1145 4 2 1146 1147 -- Fun��o da class: quotient (<p_1>, <p_2>) 1148 -- Fun��o da class: quotient (<p_1>, <p_2>, <x_1>, ..., <x_n>) 1149 Retorna o polin�mio <p_1> dividido pelo polin�mio <p_2>. Os 1150 argumentos <x_1>, ..., <x_n> s�o interpretados como em 'ratvars'. 1151 1152 'quotient' retorna o primeiro elemento de uma lista de dois 1153 elementos retornada por 'divide'. 1154 1155 -- Fun��o da class: rat (<expr>) 1156 -- Fun��o da class: rat (<expr>, <x_1>, ..., <x_n>) 1157 Converte <expr> para a forma de express�o racional can�nica (CRE) 1158 expandindo e combinando todos os termos sobre um denominador comum 1159 e cancelando para fora o m�ximo divisor comum entre o numerador e o 1160 denominador, tamb�m convertendo n�meros em ponto flutuante para 1161 n�meros racionais dentro da toler�ncia de 'ratepsilon'. As 1162 vari�veis s�o ordenadas de acordo com <x_1>, ..., <x_n>, se 1163 especificado, como em 'ratvars'. 1164 1165 'rat' geralmente n�o simplifica fun��es outras que n�o sejam adi��o 1166 '+', subtra��o '-', multiplica��o '*', divis�o '/', e exponencia��o 1167 com expoente inteiro, uma vez que 'ratsimp' n�o manuseia esses 1168 casos. Note que �tomos (n�meros e vari�veis) na forma CRE n�o s�o 1169 os mesmos que eles s�o na forma geral. Por exemplo, 'rat(x)- x' 1170 retorna 'rat(0)' que tem uma representa��o interna diferente de 0. 1171 1172 Quando 'ratfac' for 'true', 'rat' retorna uma forma parcialmente 1173 factorizada para CRE. Durante opera��es racionais a express�o � 1174 mantida como totalmente factorizada como poss�vel sem uma chamada 1175 ao pacote de factoriza��o ('factor'). Isso pode sempre economizar 1176 espa�o de mem�ria e algum tempo em algumas computa��es. O 1177 numerador e o denominador s�o ainda tidos como relativamente primos 1178 (e.g. 'rat ((x^2 - 1)^4/(x + 1)^2)' retorna '(x - 1)^4 (x + 1179 1)^2)', mas os factores dentro de cada parte podem n�o ser 1180 relativamente primos. 1181 1182 'ratprint' se 'false' suprime a impress�o de mensagens informando o 1183 utilizador de convers�es de n�meros em ponto flutuante para n�meros 1184 racionais. 1185 1186 'keepfloat' se 'true' evita que n�meros em ponto flutuante sejam 1187 convertidos para n�meros racionais. 1188 1189 Veja tamb�m 'ratexpand' e 'ratsimp'. 1190 1191 Exemplos: 1192 1193 (%i1) ((x - 2*y)^4/(x^2 - 4*y^2)^2 + 1)*(y + a)*(2*y + x) /(4*y^2 + x^2); 1194 4 1195 (x - 2 y) 1196 (y + a) (2 y + x) (------------ + 1) 1197 2 2 2 1198 (x - 4 y ) 1199 (%o1) ------------------------------------ 1200 2 2 1201 4 y + x 1202 (%i2) rat (%, y, a, x); 1203 2 a + 2 y 1204 (%o2)/R/ --------- 1205 x + 2 y 1206 1207 -- Vari�vel de op��o da class: ratalgdenom 1208 Valor Padr�o: 'true' 1209 1210 Quando 'ratalgdenom' for 'true', permite racionaliza��o de 1211 denominadores com respeito a radicais tenham efeito. 'ratalgdenom' 1212 tem efeito somente quando express�es racionais can�nicas (CRE) 1213 forem usadas no modo alg�brico. 1214 1215 -- Fun��o da class: ratcoef (<expr>, <x>, <n>) 1216 -- Fun��o da class: ratcoef (<expr>, <x>) 1217 Retorna o coeficiente da express�o '<x>^<n>' dentro da express�o 1218 <expr>. Se omitido, <n> � assumido ser 1. 1219 1220 O valor de retorno est� livre (excepto possivelmente em um senso 1221 n�o racional) das vari�veis em <x>. Se nenhum coeficiente desse 1222 tipo existe, 0 � retornado. 1223 1224 'ratcoef' expande e simplifica racionalmente seu primeiro argumento 1225 e dessa forma pode produzir respostas diferentes das de 'coeff' que 1226 � puramente sint�tica. Dessa forma 'ratcoef ((x + 1)/y + x, x)' 1227 retorna '(y + 1)/y' ao passo que 'coeff' retorna 1. 1228 1229 'ratcoef (<expr>, <x>, 0)', visualiza <expr> como uma adi��o, 1230 retornando uma soma desses termos que n�o possuem <x>. portanto se 1231 <x> ocorre para quaisquer expoentes negativos, 'ratcoef' pode n�o 1232 ser usado. 1233 1234 Uma vez que <expr> � racionalmente simplificada antes de ser 1235 examinada, coeficientes podem n�o aparecer inteiramente no caminho 1236 que eles foram pensados. 1237 1238 Exemplo: 1239 1240 (%i1) s: a*x + b*x + 5$ 1241 (%i2) ratcoef (s, a + b); 1242 (%o2) x 1243 1244 -- Fun��o da class: ratdenom (<expr>) 1245 Retorna o denominador de <expr>, ap�s for�ar a convers�o de <expr> 1246 para express�o racional can�nica (CRE). O valor de retorno � a CRE. 1247 1248 <expr> � for�ada para uma CRE por 'rat' se n�o for j� uma CRE. Essa 1249 convers�o pode mudar a forma de <expr> colocando todos os termos 1250 sobre um denominador comum. 1251 1252 'denom' � similar, mas retorna uma express�o comum em lugar de uma 1253 CRE. Tamb�m, 'denom' n�o tenta colocar todos os termos sobre um 1254 denominador comum, e dessa forma algumas express�es que s�o 1255 consideradas raz�es por 'ratdenom' n�o s�o consideradas raz�es por 1256 'denom'. 1257 1258 -- Vari�vel de op��o da class: ratdenomdivide 1259 Valor Padr�o: 'true' 1260 1261 Quando 'ratdenomdivide' for 'true', 'ratexpand' expande uma raz�o 1262 cujo o numerador for uma adi��o dentro de uma soma de raz�es, tendo 1263 todos um denominador comum. De outra forma, 'ratexpand' colapsa 1264 uma adi��o de raz�es dentro de uma raz�o simples, cujo numerador 1265 seja a adi��o dos numeradores de cada raz�o. 1266 1267 Exemplos: 1268 1269 (%i1) expr: (x^2 + x + 1)/(y^2 + 7); 1270 2 1271 x + x + 1 1272 (%o1) ---------- 1273 2 1274 y + 7 1275 (%i2) ratdenomdivide: true$ 1276 (%i3) ratexpand (expr); 1277 2 1278 x x 1 1279 (%o3) ------ + ------ + ------ 1280 2 2 2 1281 y + 7 y + 7 y + 7 1282 (%i4) ratdenomdivide: false$ 1283 (%i5) ratexpand (expr); 1284 2 1285 x + x + 1 1286 (%o5) ---------- 1287 2 1288 y + 7 1289 (%i6) expr2: a^2/(b^2 + 3) + b/(b^2 + 3); 1290 2 1291 b a 1292 (%o6) ------ + ------ 1293 2 2 1294 b + 3 b + 3 1295 (%i7) ratexpand (expr2); 1296 2 1297 b + a 1298 (%o7) ------ 1299 2 1300 b + 3 1301 1302 -- Fun��o da class: ratdiff (<expr>, <x>) 1303 Realiza a deriva��o da express�o racional <expr> com rela��o a <x>. 1304 <expr> deve ser uma raz�o de polin�mios ou um polin�mio em <x>. O 1305 argumento <x> pode ser uma vari�vel ou uma subexpress�o de <expr>. 1306 1307 O resultado � equivalente a 'diff', embora talvez em uma forma 1308 diferente. 'ratdiff' pode ser mais r�pida que 'diff', para 1309 express�es racionais. 1310 1311 'ratdiff' retorna uma express�o racional can�nica (CRE) se 'expr' 1312 for uma CRE. De outra forma, 'ratdiff' retorna uma express�o geral. 1313 1314 'ratdiff' considera somente as depend�ncias de <expr> sobre <x>, e 1315 ignora quaisquer depend�ncias estabelecidas por 'depends'. 1316 1317 Exemplo: 1318 1319 (%i1) expr: (4*x^3 + 10*x - 11)/(x^5 + 5); 1320 3 1321 4 x + 10 x - 11 1322 (%o1) ---------------- 1323 5 1324 x + 5 1325 (%i2) ratdiff (expr, x); 1326 7 5 4 2 1327 8 x + 40 x - 55 x - 60 x - 50 1328 (%o2) - --------------------------------- 1329 10 5 1330 x + 10 x + 25 1331 (%i3) expr: f(x)^3 - f(x)^2 + 7; 1332 3 2 1333 (%o3) f (x) - f (x) + 7 1334 (%i4) ratdiff (expr, f(x)); 1335 2 1336 (%o4) 3 f (x) - 2 f(x) 1337 (%i5) expr: (a + b)^3 + (a + b)^2; 1338 3 2 1339 (%o5) (b + a) + (b + a) 1340 (%i6) ratdiff (expr, a + b); 1341 2 2 1342 (%o6) 3 b + (6 a + 2) b + 3 a + 2 a 1343 1344 -- Fun��o da class: ratdisrep (<expr>) 1345 Retorna seu argumento como uma express�o geral. Se <expr> for uma 1346 express�o geral, � retornada inalterada. 1347 1348 Tipicamente 'ratdisrep' � chamada para converter uma express�o 1349 racional can�nica (CRE) em uma express�o geral. Isso � algumas 1350 vezes conveniente se deseja-se parar o "cont�gio", ou caso se 1351 esteja usando fun��es racionais em contextos n�o racionais. 1352 1353 Veja tamb�m 'totaldisrep'. 1354 1355 -- Vari�vel de op��o da class: ratepsilon 1356 Valor Padr�o: 2.0e-8 1357 1358 'ratepsilon' � a toler�ncia usada em convers�es de n�meros em ponto 1359 flutuante para n�meros racionais. 1360 1361 -- Fun��o da class: ratexpand (<expr>) 1362 -- Vari�vel de op��o da class: ratexpand 1363 Expande <expr> multiplicando para fora produtos de somas e somas 1364 exponenciadas, combinando fra��es sobre um denominador comum, 1365 cancelando o m�ximo divisor comum entre entre o numerador e o 1366 denominador, ent�o quebrando o numerador (se for uma soma) dentro 1367 de suas respectivas parcelas divididas pelo denominador. 1368 1369 O valor de retorno de 'ratexpand' � uma express�o geral, mesmo se 1370 <expr> for uma express�o racional can�nica (CRE). 1371 1372 O comutador 'ratexpand' se 'true' far� com que express�es CRE sejam 1373 completamente expandidas quando forem convertidas de volta para a 1374 forma geral ou mostradas, enquanto se for 'false' ent�o elas ser�o 1375 colocadas na forma recursiva. Veja tamb�m 'ratsimp'. 1376 1377 Quando 'ratdenomdivide' for 'true', 'ratexpand' expande uma raz�o 1378 na qual o numerador � uma adi��o dentro de uma adi��o de raz�es, 1379 todas tendo um denominador comum. De outra forma, 'ratexpand' 1380 contrai uma soma de raz�es em uma raz�o simples, cujo numerador � a 1381 soma dos numeradores de cada raz�o. 1382 1383 Quando 'keepfloat' for 'true', evita que n�meros em ponto flutuante 1384 sejam racionalizados quando express�es que contenham n�meros em 1385 ponto flutuante forem convertidas para a forma de express�o 1386 racional can�nica (CRE). 1387 1388 Exemplos: 1389 1390 (%i1) ratexpand ((2*x - 3*y)^3); 1391 3 2 2 3 1392 (%o1) - 27 y + 54 x y - 36 x y + 8 x 1393 (%i2) expr: (x - 1)/(x + 1)^2 + 1/(x - 1); 1394 x - 1 1 1395 (%o2) -------- + ----- 1396 2 x - 1 1397 (x + 1) 1398 (%i3) expand (expr); 1399 x 1 1 1400 (%o3) ------------ - ------------ + ----- 1401 2 2 x - 1 1402 x + 2 x + 1 x + 2 x + 1 1403 (%i4) ratexpand (expr); 1404 2 1405 2 x 2 1406 (%o4) --------------- + --------------- 1407 3 2 3 2 1408 x + x - x - 1 x + x - x - 1 1409 1410 -- Vari�vel de op��o da class: ratfac 1411 Valor Padr�o: 'false' 1412 1413 Quando 'ratfac' for 'true', express�es racionais can�nicas (CRE) 1414 s�o manipuladas na forma parcialmente factorizada. 1415 1416 Durante opera��es racionais a express�o � mantida como 1417 completamente factorizada como foi poss�vel sem chamadas a 1418 'factor'. Isso pode sempre economizar espa�o e pode economizar 1419 tempo em algumas computa��es. O numerador e o denominador s�o 1420 feitos relativamente primos, por exemplo 'rat ((x^2 - 1)^4/(x + 1421 1)^2)' retorna '(x - 1)^4 (x + 1)^2)', mas o factor dentro de cada 1422 parte pode n�o ser relativamente primo. 1423 1424 No pacote 'ctensor' (Manipula��o de componentes de tensores), 1425 tensores de Ricci, Einstein, Riemann, e de Weyl e a curvatura 1426 escalar s�o factorizados automaticamente quando 'ratfac' for 1427 'true'. 'ratfac' pode somente ser escolhido para casos onde as 1428 componentes tensoriais sejam sabidametne consistidas de poucos 1429 termos. 1430 1431 Os esquemas de 'ratfac' e de 'ratweight' s�o incompat�veis e n�o 1432 podem ambos serem usados ao mesmo tempo. 1433 1434 -- Fun��o da class: ratnumer (<expr>) 1435 Retorna o numerador de <expr>, ap�s for�ar <expr> para uma 1436 express�o racional can�nica (CRE). O valor de retorno � uma CRE. 1437 1438 <expr> � for�ada para uma CRE por 'rat' se isso n�o for j� uma CRE. 1439 Essa convers�o pode alterar a forma de <expr> pela coloca��o de 1440 todos os termos sobre um denominador comum. 1441 1442 'num' � similar, mas retorna uma express�o comum em lugar de uma 1443 CRE. Tamb�m, 'num' n�o tenta colocar todos os termos sobre um 1444 denominador comum, e dessa forma algumas express�es que s�o 1445 consideradas raz�es por 'ratnumer' n�o s�o consideradas raz�es por 1446 'num'. 1447 1448 -- Fun��o da class: ratnump (<expr>) 1449 Retorna 'true' se <expr> for um inteiro literal ou raz�o de 1450 inteiros literais, de outra forma retorna 'false'. 1451 1452 -- Fun��o da class: ratp (<expr>) 1453 Retorna 'true' se <expr> for uma express�o racional can�nica (CRE) 1454 ou CRE extendida, de outra forma retorna 'false'. 1455 1456 CRE s�o criadas por 'rat' e fun��es relacionadas. CRE extendidas 1457 s�o criadas por 'taylor' e fun��es relacionadas. 1458 1459 -- Vari�vel de op��o da class: ratprint 1460 Valor Padr�o: 'true' 1461 1462 Quando 'ratprint' for 'true', uma mensagem informando ao utilizador 1463 da convers�o de n�meros em ponto flutuante para n�meros racionais � 1464 mostrada. 1465 1466 -- Fun��o da class: ratsimp (<expr>) 1467 -- Fun��o da class: ratsimp (<expr>, <x_1>, ..., <x_n>) 1468 Simplifica a express�o <expr> e todas as suas subexpress�es, 1469 incluindo os argumentos para fun��es n�o racionais. O resultado � 1470 retornado como o quociente de dois polin�mios na forma recursiva, 1471 isto �, os coeficientes de vari�vel principal s�o polin�mios em 1472 outras vari�veis. Vari�veis podem incluir fun��es n�o racionais 1473 (e.g., 'sin (x^2 + 1)') e os argumentos para quaisquer tais fun��es 1474 s�o tamb�m simplificados racionalmente. 1475 1476 'ratsimp (<expr>, <x_1>, ..., <x_n>)' habilita simplifica��o 1477 racional com a especiica��o de vari�vel ordenando como em 1478 'ratvars'. 1479 1480 Quando 'ratsimpexpons' for 'true', 'ratsimp' � aplicado para os 1481 expoentes de express�es durante a simplifica��o. 1482 1483 Veja tamb�m 'ratexpand'. Note que 'ratsimp' � afectado por algum 1484 dos sinalizadores que afectam 'ratexpand'. 1485 1486 Exemplos: 1487 1488 (%i1) sin (x/(x^2 + x)) = exp ((log(x) + 1)^2 - log(x)^2); 1489 2 2 1490 x (log(x) + 1) - log (x) 1491 (%o1) sin(------) = %e 1492 2 1493 x + x 1494 (%i2) ratsimp (%); 1495 1 2 1496 (%o2) sin(-----) = %e x 1497 x + 1 1498 (%i3) ((x - 1)^(3/2) - (x + 1)*sqrt(x - 1))/sqrt((x - 1)*(x + 1)); 1499 3/2 1500 (x - 1) - sqrt(x - 1) (x + 1) 1501 (%o3) -------------------------------- 1502 sqrt((x - 1) (x + 1)) 1503 (%i4) ratsimp (%); 1504 2 sqrt(x - 1) 1505 (%o4) - ------------- 1506 2 1507 sqrt(x - 1) 1508 (%i5) x^(a + 1/a), ratsimpexpons: true; 1509 2 1510 a + 1 1511 ------ 1512 a 1513 (%o5) x 1514 1515 -- Vari�vel de op��o da class: ratsimpexpons 1516 Valor Padr�o: 'false' 1517 1518 Quando 'ratsimpexpons' for 'true', 'ratsimp' � aplicado para os 1519 expoentes de express�es durante uma simplifica��o. 1520 1521 -- Fun��o da class: ratsubst (<a>, <b>, <c>) 1522 Substitue <a> por <b> em <c> e retorna a express�o resultante. <b> 1523 pode tamb�m ser uma adi��o, produto, expoente, etc. 1524 1525 'ratsubst' sabe alguma coisa do significado de express�es uma vez 1526 que 'subst' n�o � uma substitui��o puramente sint�tica. Dessa 1527 forma 'subst (a, x + y, x + y + z)' retorna 'x + y + z' ao passo 1528 que 'ratsubst' retorna 'z + a'. 1529 1530 Quando 'radsubstflag' for 'true', 'ratsubst' faz substitui��o de 1531 radicais em express�es que explicitamente n�o possuem esses 1532 radicais. 1533 1534 Exemplos: 1535 1536 (%i1) ratsubst (a, x*y^2, x^4*y^3 + x^4*y^8); 1537 3 4 1538 (%o1) a x y + a 1539 (%i2) cos(x)^4 + cos(x)^3 + cos(x)^2 + cos(x) + 1; 1540 4 3 2 1541 (%o2) cos (x) + cos (x) + cos (x) + cos(x) + 1 1542 (%i3) ratsubst (1 - sin(x)^2, cos(x)^2, %); 1543 4 2 2 1544 (%o3) sin (x) - 3 sin (x) + cos(x) (2 - sin (x)) + 3 1545 (%i4) ratsubst (1 - cos(x)^2, sin(x)^2, sin(x)^4); 1546 4 2 1547 (%o4) cos (x) - 2 cos (x) + 1 1548 (%i5) radsubstflag: false$ 1549 (%i6) ratsubst (u, sqrt(x), x); 1550 (%o6) x 1551 (%i7) radsubstflag: true$ 1552 (%i8) ratsubst (u, sqrt(x), x); 1553 2 1554 (%o8) u 1555 1556 -- Fun��o da class: ratvars (<x_1>, ..., <x_n>) 1557 -- Fun��o da class: ratvars () 1558 -- Vari�vel de sistema da class: ratvars 1559 Declara vari�veis principais <x_1>, ..., <x_n> para express�es 1560 racionais. <x_n>, se presente em uma express�o racional, � 1561 considerada a vari�vel principal. De outra forma, <x_[n-1]> � 1562 considerada a vari�vel principal se presente, e assim por diante 1563 at� as vari�veis precedentes para <x_1>, que � considerada a 1564 vari�vel principal somente se nenhuma das vari�veis que a sucedem 1565 estiver presente. 1566 1567 Se uma vari�vel em uma express�o racional n�o est� presente na 1568 lista 'ratvars', a ela � dada uma prioridade menor que <x_1>. 1569 1570 Os argumentos para 'ratvars' podem ser ou vari�veis ou fun��es n�o 1571 racionais tais como 'sin(x)'. 1572 1573 A vari�vel 'ratvars' � uma lista de argumentos da fun��o 'ratvars' 1574 quando ela foi chamada mais recentemente. Cada chamada para a 1575 fun��o 'ratvars' sobre-grava a lista apagando seu conte�do 1576 anterior. 'ratvars ()' limpa a lista. 1577 1578 -- Fun��o da class: ratweight (<x_1>, <w_1>, ..., <x_n>, <w_n>) 1579 -- Fun��o da class: ratweight () 1580 Atribui um peso <w_i> para a vari�vel <x_i>. Isso faz com que um 1581 termo seja substitu�do por 0 se seu peso exceder o valor da 1582 vari�vel 'ratwtlvl' (o padr�o retorna sem trunca��o). O peso de um 1583 termo � a soma dos produtos dos pesos de uma vari�vel no termo 1584 vezes seu expoente. Por exemplo, o peso de '3 x_1^2 x_2' � '2 w_1 1585 + w_2'. A trunca��o de acordo com 'ratwtlvl' � realizada somente 1586 quando multiplicando ou exponencializando express�es racionais 1587 can�nicas (CRE). 1588 1589 'ratweight ()' retorna a lista cumulativa de atribui��es de pesos. 1590 1591 Nota: Os esquemas de 'ratfac' e 'ratweight' s�o incompat�veis e n�o 1592 podem ambo serem usados ao mesmo tempo. 1593 1594 Exemplos: 1595 1596 (%i1) ratweight (a, 1, b, 1); 1597 (%o1) [a, 1, b, 1] 1598 (%i2) expr1: rat(a + b + 1)$ 1599 (%i3) expr1^2; 1600 2 2 1601 (%o3)/R/ b + (2 a + 2) b + a + 2 a + 1 1602 (%i4) ratwtlvl: 1$ 1603 (%i5) expr1^2; 1604 (%o5)/R/ 2 b + 2 a + 1 1605 1606 -- Vari�vel de sistema da class: ratweights 1607 Valor Padr�o: '[]' 1608 1609 'ratweights' � a lista de pesos atribu�dos por 'ratweight'. A 1610 lista � cumulativa: cada chamada a 'ratweight' coloca �tens 1611 adicionais na lista. 1612 1613 'kill (ratweights)' e 'save (ratweights)' ambos trabalham como 1614 esperado. 1615 1616 -- Vari�vel de op��o da class: ratwtlvl 1617 Valor Padr�o: 'false' 1618 1619 'ratwtlvl' � usada em combina��o com a fun��o 'ratweight' para 1620 controlar a trunca��o de express�o racionais can�nicas (CRE). Para 1621 o valor padr�o 'false', nenhuma trunca��o ocorre. 1622 1623 -- Fun��o da class: remainder (<p_1>, <p_2>) 1624 -- Fun��o da class: remainder (<p_1>, <p_2>, <x_1>, ..., <x_n>) 1625 Retorna o resto do polin�mio <p_1> dividido pelo polin�mio <p_2>. 1626 Os argumentos <x_1>, ..., <x_n> s�o interpretados como em 1627 'ratvars'. 1628 1629 'remainder' retorna o segundo elemento de uma lista de dois 1630 elementos retornada por 'divide'. 1631 1632 -- Fun��o da class: resultant (<p_1>, <p_2>, <x>) 1633 -- Vari�vel da class: resultant 1634 Calcula o resultante de dois polin�mios <p_1> e <p_2>, eliminando a 1635 vari�vel <x>. O resultante � um determinante dos coeficientes de 1636 <x> em <p_1> e <p_2>, que � igual a zero se e somente se <p_1> e 1637 <p_2> tiverem um factor em comum n�o constante. 1638 1639 Se <p_1> ou <p_2> puderem ser factorizados, pode ser desej�vel 1640 chamar 'factor' antes de chamar 'resultant'. 1641 1642 A vari�vel 'resultant' controla que algoritmo ser� usado para 1643 calcular o resultante. 'subres' para o prs subresultante, 'mod' 1644 para o algoritmo resultante modular, e 'red' para prs reduzido. 1645 Para muitos problemas 'subres' pode ser melhor. Para alguns 1646 problemas com valores grandes de grau de uma �nica vari�vel ou de 1647 duas vari�veis 'mod' pode ser melhor. 1648 1649 A fun��o 'bezout' aceita os mesmos argumentos que 'resultant' e 1650 retorna uma matriz. O determinante do valor de retorno � o 1651 resultante desejado. 1652 1653 -- Vari�vel de op��o da class: savefactors 1654 Valor Padr�o: 'false' 1655 1656 Quando 'savefactors' for 'true', faz com que os factores de uma 1657 express�o que � um produto de factores sejam gravados por certas 1658 fun��es com o objectivo de aumentar a velocidade em posteriores 1659 factoriza��es de express�es contendo algum desses mesmos factores. 1660 1661 -- Fun��o da class: sqfr (<expr>) 1662 � similar a 'factor' excepto que os factores do polin�mio s�o 1663 "livres de ra�zes". Isto �, eles possuem factores somente de grau 1664 um. Esse algoritmo, que � tamb�m usado no primeiro est�gio de 1665 'factor', utiliza o facto que um polin�mio tem em comum com sua 1666 n'�sima derivada todos os seus factores de grau maior que n. Dessa 1667 forma obtendo o maior divisor comum com o polin�mio das derivadas 1668 com rela��o a cada vari�vel no polin�mio, todos os factores de grau 1669 maior que 1 podem ser achados. 1670 1671 Exemplo: 1672 1673 (%i1) sqfr (4*x^4 + 4*x^3 - 3*x^2 - 4*x - 1); 1674 2 2 1675 (%o1) (2 x + 1) (x - 1) 1676 1677 -- Fun��o da class: tellrat (<p_1>, ..., <p_n>) 1678 -- Fun��o da class: tellrat () 1679 Adiciona ao anel dos inteiros alg�bricos conhecidos do Maxima os 1680 elementos que s�o as solu��es dos polin�mios <p_1>, ..., <p_n>. 1681 Cada argumento <p_i> � um polin�mio concoeficientes inteiros. 1682 1683 'tellrat (<x>)' efectivamente significa substituir 0 por <x> em 1684 fun��es racionais. 1685 1686 'tellrat ()' retorna uma lista das substitui��es correntes. 1687 1688 'algebraic' deve ser escolhida para 'true' com o objectivo de que a 1689 simplifica��o de inteiros alg�bricos tenha efeito. 1690 1691 Maxima inicialmente sabe sobre a unidade imagin�ria '%i' e todas as 1692 ra�zes de inteiros. 1693 1694 Existe um comando 'untellrat' que recebe n�cleos e remove 1695 propriedades 'tellrat'. 1696 1697 Quando fazemos 'tellrat' em um polin�mio de v�rias vari�veis, e.g., 1698 'tellrat (x^2 - y^2)', pode existir uma ambiguidade como para ou 1699 substituir '<y>^2' por '<x>^2' ou vice-versa. Maxima selecciona 1700 uma ordena��o particular, mas se o utilizador desejar especificar 1701 qual e.g. 'tellrat (y^2 = x^2)' forne�e uma sintaxe que diga para 1702 substituir '<y>^2' por '<x>^2'. 1703 1704 Exemplos: 1705 1706 (%i1) 10*(%i + 1)/(%i + 3^(1/3)); 1707 10 (%i + 1) 1708 (%o1) ----------- 1709 1/3 1710 %i + 3 1711 (%i2) ev (ratdisrep (rat(%)), algebraic); 1712 2/3 1/3 2/3 1/3 1713 (%o2) (4 3 - 2 3 - 4) %i + 2 3 + 4 3 - 2 1714 (%i3) tellrat (1 + a + a^2); 1715 2 1716 (%o3) [a + a + 1] 1717 (%i4) 1/(a*sqrt(2) - 1) + a/(sqrt(3) + sqrt(2)); 1718 1 a 1719 (%o4) ------------- + ----------------- 1720 sqrt(2) a - 1 sqrt(3) + sqrt(2) 1721 (%i5) ev (ratdisrep (rat(%)), algebraic); 1722 (7 sqrt(3) - 10 sqrt(2) + 2) a - 2 sqrt(2) - 1 1723 (%o5) ---------------------------------------------- 1724 7 1725 (%i6) tellrat (y^2 = x^2); 1726 2 2 2 1727 (%o6) [y - x , a + a + 1] 1728 1729 -- Fun��o da class: totaldisrep (<expr>) 1730 Converte toda subexpress�o de <expr> da forma de express�o 1731 racionais can�nicas (CRE) para a forma geral e retorna o resultado. 1732 Se <expr> � em s� mesma na forma CRE ent�o 'totaldisrep' � identica 1733 a 'ratdisrep'. 1734 1735 'totaldisrep' pode ser usada para fazer um 'ratdisrep' em 1736 express�es tais como equa��es, listas, matrizes, etc., que tiverem 1737 algumas subexpress�es na forma CRE. 1738 1739 -- Fun��o da class: untellrat (<x_1>, ..., <x_n>) 1740 Remove propriedades 'tellrat' de <x_1>, ..., <x_n>. 1741 1742 1743File: maxima.info, Node: Constantes, Next: Logaritmos, Prev: Polin�mios, Up: Top 1744 174513, Constantes 1746************** 1747 1748* Menu: 1749 1750* Defini��es para Constantes:: 1751 1752 1753File: maxima.info, Node: Defini��es para Constantes, Prev: Constantes, Up: Constantes 1754 175513.1, Defini��es para Constantes 1756================================ 1757 1758 -- Constante da class: %e 1759 '%e' representa a base do logaritmo natural, tamb�m conhecido como 1760 constante de Euler. O valor num�rico de '%e' � um n�mero em ponto 1761 flutuante de precis�o dupla 2.718281828459045d0. 1762 1763 -- Constante da class: %i 1764 '%i' representa a unidade imagin�ria, sqrt(- 1). 1765 1766 -- Constante da class: false 1767 'false' representa a constante Booleana falso. Maxima implementa 1768 'false' atrav�s do valor 'NIL' no Lisp. 1769 1770 -- Constante da class: inf 1771 'inf' representa o infinito positivo real. 1772 1773 -- Constante da class: infinity 1774 'infinity' representa o infinito complexo. 1775 1776 -- Constante da class: minf 1777 'minf' representa o menos infinito (i.e., negativo) real. 1778 1779 -- Constante da class: %phi 1780 1781 '%phi' representa o ent�o chamado n�mero �ureo, (1 + sqrt(5))/2. O 1782 valor num�rico de '%phi' � o n�mero em ponto flutuante de de dupla 1783 precis�o 1.618033988749895d0. 1784 1785 'fibtophi' expressa n�meros de Fibonacci 'fib(n)' em termos de 1786 '%phi'. 1787 1788 Por padr�o, Maxima n�o conhece as propriedade alg�bricas de '%phi'. 1789 Ap�s avaliar 'tellrat(%phi^2 - %phi - 1)' e 'algebraic: true', 1790 'ratsimp' pode simplificar algumas express�oes contendo '%phi'. 1791 1792 Exemplos: 1793 1794 'fibtophi' expresses Fibonacci numbers 'fib(n)' in terms of '%phi'. 1795 1796 (%i1) fibtophi (fib (n)); 1797 n n 1798 %phi - (1 - %phi) 1799 (%o1) ------------------- 1800 2 %phi - 1 1801 (%i2) fib (n-1) + fib (n) - fib (n+1); 1802 (%o2) - fib(n + 1) + fib(n) + fib(n - 1) 1803 (%i3) fibtophi (%); 1804 n + 1 n + 1 n n 1805 %phi - (1 - %phi) %phi - (1 - %phi) 1806 (%o3) - --------------------------- + ------------------- 1807 2 %phi - 1 2 %phi - 1 1808 n - 1 n - 1 1809 %phi - (1 - %phi) 1810 + --------------------------- 1811 2 %phi - 1 1812 (%i4) ratsimp (%); 1813 (%o4) 0 1814 1815 Por padr�o, Maxima n�o conhece as propriedade alg�bricas de '%phi'. 1816 Ap�s avaliar 'tellrat(%phi^2 - %phi - 1)' e 'algebraic: true', 1817 'ratsimp' pode simplificar algumas express�oes contendo '%phi'. 1818 1819 (%i1) e : expand ((%phi^2 - %phi - 1) * (A + 1)); 1820 2 2 1821 (%o1) %phi A - %phi A - A + %phi - %phi - 1 1822 (%i2) ratsimp (e); 1823 2 2 1824 (%o2) (%phi - %phi - 1) A + %phi - %phi - 1 1825 (%i3) tellrat (%phi^2 - %phi - 1); 1826 2 1827 (%o3) [%phi - %phi - 1] 1828 (%i4) algebraic : true; 1829 (%o4) true 1830 (%i5) ratsimp (e); 1831 (%o5) 0 1832 1833 -- Constante da class: %pi 1834 '%pi' representa a raz�o do per�metro de um c�rculo para seu 1835 di�metro. O valor num�rico de '%pi' � o n;umero em ponto flutuante 1836 de dupla precis�o 3.141592653589793d0. 1837 1838 -- Constante da class: true 1839 'true' representa a constante Booleana verdadeiro. Maxima 1840 implementa 'true' atrav�s do valor 'T' no Lisp. 1841 1842 1843File: maxima.info, Node: Logaritmos, Next: Trigonometria, Prev: Constantes, Up: Top 1844 184514, Logaritmos 1846************** 1847 1848* Menu: 1849 1850* Defini��es para Logaritmos:: 1851 1852 1853File: maxima.info, Node: Defini��es para Logaritmos, Prev: Logaritmos, Up: Logaritmos 1854 185514.1, Defini��es para Logaritmos 1856================================ 1857 1858 -- Vari�vel de op��o da class: %e_to_numlog 1859 Valor por omiss�o: 'false' 1860 1861 Quando 'true', sendo 'r' algum n�mero racional, e 'x' alguma 1862 express�o, '%e^(r*log(x))' ser� simplificado em 'x^r' . Note-se 1863 que o comando 'radcan' tamb�m faz essa transforma��o, assim como 1864 algumas transforma��es mais complicadas. O comando 'logcontract' 1865 _contrai_ express�es contendo 'log'. 1866 1867 -- Fun��o da class: li [<s>] (<z>) 1868 Representa a fun��o polilogaritmo de ordem <s> e argumento <z>, 1869 definida por meio da s�rie infinita 1870 1871 inf 1872 ==== k 1873 \ z 1874 Li (z) = > -- 1875 s / s 1876 ==== k 1877 k = 1 1878 1879 'li [1]' � '- log (1 - z)'. 'li [2]' e 'li [3]' s�o as fun��es 1880 dilogaritmo e trilogaritmo, respectivamente. 1881 1882 Quando a ordem for 1, o polilogaritmo simplifica para '- log (1 - 1883 z)', o qual por sua vez simplifica para um valor num�rico se <z> 1884 for um n�mero em ponto flutuante real ou complexo ou o sinalizador 1885 de avalia��o 'numer' estiver presente. 1886 1887 Quando a ordem for 2 ou 3, o polilogaritmo simplifica para um valor 1888 num�rico se <z> for um n�mero real em ponto flutuante ou o 1889 sinalizador de avalia��o 'numer' estiver presente. 1890 1891 Exemplos: 1892 1893 (%i1) assume (x > 0); 1894 (%o1) [x > 0] 1895 (%i2) integrate ((log (1 - t)) / t, t, 0, x); 1896 (%o2) - li (x) 1897 2 1898 (%i3) li [2] (7); 1899 (%o3) li (7) 1900 2 1901 (%i4) li [2] (7), numer; 1902 (%o4) 1.24827317833392 - 6.113257021832577 %i 1903 (%i5) li [3] (7); 1904 (%o5) li (7) 1905 3 1906 (%i6) li [2] (7), numer; 1907 (%o6) 1.24827317833392 - 6.113257021832577 %i 1908 (%i7) L : makelist (i / 4.0, i, 0, 8); 1909 (%o7) [0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0] 1910 (%i8) map (lambda ([x], li [2] (x)), L); 1911 (%o8) [0, .2676526384986274, .5822405249432515, 1912 .9784693966661848, 1.64493407, 2.190177004178597 1913 - .7010261407036192 %i, 2.374395264042415 1914 - 1.273806203464065 %i, 2.448686757245154 1915 - 1.758084846201883 %i, 2.467401098097648 1916 - 2.177586087815347 %i] 1917 (%i9) map (lambda ([x], li [3] (x)), L); 1918 (%o9) [0, .2584613953442624, 0.537213192678042, 1919 .8444258046482203, 1.2020569, 1.642866878950322 1920 - .07821473130035025 %i, 2.060877505514697 1921 - .2582419849982037 %i, 2.433418896388322 1922 - .4919260182322965 %i, 2.762071904015935 1923 - .7546938285978846 %i] 1924 1925 -- Fun��o da class: log (<x>) 1926 Representa o logaritmo natural (base e) de <x>. 1927 1928 Maxima n�o possui uma fun��o interna para logaritmo de base 10 ou 1929 de outras bases. 'log10(x) := log(x) / log(10)' � uma defini��o 1930 �til. 1931 1932 A simplifica��o e avalia��o de logaritmos s�o governadas por v�rios 1933 sinalizadores globais: 1934 1935 'logexpand' - faz com que 'log(a^b)' se transfome em 'b*log(a)'. 1936 Se 'logexpand' tiver o valor 'all', 'log(a*b)' ir� tamb�m 1937 simplificar para 'log(a)+log(b)'. Se 'logexpand' for igual a 1938 'super', ent�o 'log(a/b)' ir� tamb�m simplificar para 1939 'log(a)-log(b)' para n�meros racionais 'a/b', 'a#1' ('log(1/b)', 1940 para 'b' inteiro, sempre simplifica). Se 'logexpand' for igaul a 1941 'false', todas essas simplifica��es ir�o ser desabilitadas. 1942 1943 'logsimp' - se tiver valor 'false', n�o ser� feita nenhuma 1944 simplifica��o de '%e' para um expoente contendo 'log''s. 1945 1946 'lognumer' - se tiver valor 'true', os argumentos negativos em 1947 ponto flutuante para 'log' ir� sempre ser convertidos para seu 1948 valor absoluto antes que 'log' seja calculado. Se 'numer' for 1949 tamb�m 'true', ent�o argumentos negativos inteiros para 'log' ir�o 1950 tamb�m ser convertidos para os seus valores absolutos. 1951 1952 'lognegint' - se tiver valor 'true', implementa a regra 'log(-n)' 1953 -> 'log(n)+%i*%pi' para 'n' um inteiro positivo. 1954 1955 '%e_to_numlog' - quando for igual a 'true', '%e^(r*log(x))', sendo 1956 'r' algum n�mero racional, e 'x' alguma express�o, ser� 1957 simplificado para 'x^r'. Note-se que o comando 'radcan' tamb�m faz 1958 essa transforma��o, e outras transforma��es mais complicadas desse 1959 g�nero. 1960 1961 O comando 'logcontract' "contrai" express�es contendo 'log'. 1962 1963 -- Vari�vel de op��o da class: logabs 1964 Valor por omiss�o: 'false' 1965 1966 No c�lculo de primitivas em que sejam gerados logaritmos, por 1967 exemplo, 'integrate(1/x,x)', a resposta ser� dada em termos de 1968 'log(abs(...))' se 'logabs' for 'true', mas em termos de 'log(...)' 1969 se 'logabs' for 'false'. Para integrais definidos, usa-se 1970 'logabs:true', porque nesse caso muitas vezes � necess�rio calcular 1971 a primitiva nos extremos. 1972 1973 -- Vari�vel de op��o da class: logarc 1974 -- Fun��o da class: logarc (<expr>) 1975 1976 Quando a vari�vel global 'logarc' for igual a 'true', as fun��es 1977 trigononom�tricas inversas, circulares e hiperb�licas, ser�o 1978 substitu�das por suas fun��es logar�tmicas equivalentes. O valor 1979 padr�o de 'logarc' � 'false'. 1980 1981 A fun��o 'logarc(<expr>)' realiza essa substitui��o para uma 1982 express�o <expr> sem modificar o valor da vari�vel global 'logarc'. 1983 1984 -- Vari�vel de op��o da class: logconcoeffp 1985 Valor por omiss�o: 'false' 1986 1987 Controla quais coeficientes s�o contra�dos quando se usa 1988 'logcontract'. Poder� ser igual ao nome de uma fun��o de um 1989 argumento. Por exemplo, se quiser gerar ra�zes quadradas, pode 1990 fazer 'logconcoeffp:'logconfun$ logconfun(m):=featurep(m,integer) 1991 or ratnump(m)$'. E assim, 'logcontract(1/2*log(x));' produzir� 1992 'log(sqrt(x))'. 1993 1994 -- Fun��o da class: logcontract (<expr>) 1995 Examina recursivamente a express�o <expr>, transformando 1996 subexpress�es da forma 'a1*log(b1) + a2*log(b2) + c' em 1997 'log(ratsimp(b1^a1 * b2^a2)) + c' 1998 1999 (%i1) 2*(a*log(x) + 2*a*log(y))$ 2000 (%i2) logcontract(%); 2001 2 4 2002 (%o2) a log(x y ) 2003 2004 2005 Se fizer 'declare(n,integer);' ent�o 'logcontract(2*a*n*log(x));' 2006 produzir� 'a*log(x^(2*n))'. Os coeficientes que _contraem_ dessa 2007 maneira s�o os que, tal como 2 e 'n' neste exemplo, satisfazem 2008 'featurep(coeficiente,integer)'. O utilizador pode controlar quais 2009 coeficientes s�o contra�dos, dando � vari�vel 'logconcoeffp' o nome 2010 de uma fun��o de um argumento. Por exemplo, se quiser gerar ra�zes 2011 quadradas, pode fazer 'logconcoeffp:'logconfun$ 2012 logconfun(m):=featurep(m,integer) or ratnump(m)$'. E assim, 2013 'logcontract(1/2*log(x));' produzir� 'log(sqrt(x))'. 2014 2015 -- Vari�vel de op��o da class: logexpand 2016 Valor por omiss�o: 'true' 2017 2018 Faz com que 'log(a^b)' se transfome em 'b*log(a)'. Se 'logexpand' 2019 tiver o valor 'all', 'log(a*b)' ir� tamb�m simplificar para 2020 'log(a)+log(b)'. Se 'logexpand' for igual a 'super', ent�o 2021 'log(a/b)' ir� tamb�m simplificar para 'log(a)-log(b)' para n�meros 2022 racionais 'a/b', 'a#1' ('log(1/b)', para 'b' inteiro, sempre 2023 simplifica). Se 'logexpand' for igaul a 'false', todas essas 2024 simplifica��es ir�o ser desabilitadas. 2025 2026 -- Vari�vel de op��o da class: lognegint 2027 Valor por omiss�o: 'false' 2028 2029 Se for igual a 'true', implementa a regra 'log(-n)' -> 2030 'log(n)+%i*%pi' para 'n' um inteiro positivo. 2031 2032 -- Vari�vel de op��o da class: lognumer 2033 Valor por omiss�o: 'false' 2034 2035 Se tiver valor 'true', os argumentos negativos em ponto flutuante 2036 para 'log' ir� sempre ser convertidos para seu valor absoluto antes 2037 que 'log' seja calculado. Se 'numer' for tamb�m 'true', ent�o 2038 argumentos negativos inteiros para 'log' ir�o tamb�m ser 2039 convertidos para os seus valores absolutos. 2040 2041 -- Vari�vel de op��o da class: logsimp 2042 Valor por omiss�o: 'true' 2043 2044 Se tiver valor 'false', n�o ser� feita nenhuma simplifica��o de 2045 '%e' para um expoente contendo 'log''s. 2046 2047 -- Fun��o da class: plog (<x>) 2048 Representa o ramo principal dos logaritmos naturais no plano 2049 complexo, com '-%pi' < 'carg(<x>)' <= '+%pi'. 2050 2051 2052File: maxima.info, Node: Trigonometria, Next: Fun��es Especiais, Prev: Logaritmos, Up: Top 2053 205415, Trigonometria 2055***************** 2056 2057* Menu: 2058 2059* Introdu��o ao Pacote Trigonom�trico:: 2060* Defini��es para Trigonometria:: 2061 2062 2063File: maxima.info, Node: Introdu��o ao Pacote Trigonom�trico, Next: Defini��es para Trigonometria, Prev: Trigonometria, Up: Trigonometria 2064 206515.1, Introdu��o ao Pacote Trigonom�trico 2066========================================= 2067 2068Maxima tem muitas fun��es trigonom�tricas definidas. N�o todas as 2069identidades trigonometricas est�o programadas, mas isso � poss�vel para 2070o utilizador adicionar muitas delas usando a compatibilidade de 2071correspond�ncia de modelos do sistema. As fun��es trigonom�tricas 2072definidas no Maxima s�o: 'acos', 'acosh', 'acot', 'acoth', 'acsc', 2073'acsch', 'asec', 'asech', 'asin', 'asinh', 'atan', 'atanh', 'cos', 2074'cosh', 'cot', 'coth', 'csc', 'csch', 'sec', 'sech', 'sin', 'sinh', 2075'tan', e 'tanh'. Existe uma colec��o de comandos especialmente para 2076manusear fun��es trigonom�tricas, veja 'trigexpand', 'trigreduce', e o 2077comutador 'trigsign'. Dois pacotes compartilhados extendem as regras de 2078simplifica��o constru�das no Maxima, 'ntrig' e 'atrig1'. Fa�a 2079'describe(<comando>)' para detalhes. 2080 2081 2082File: maxima.info, Node: Defini��es para Trigonometria, Prev: Introdu��o ao Pacote Trigonom�trico, Up: Trigonometria 2083 208415.2, Defini��es para Trigonometria 2085=================================== 2086 2087 -- Fun��o da class: acos (<x>) 2088 - Arco Cosseno. 2089 2090 -- Fun��o da class: acosh (<x>) 2091 - Arco Cosseno Hiperb�lico. 2092 2093 -- Fun��o da class: acot (<x>) 2094 - Arco Cotangente. 2095 2096 -- Fun��o da class: acoth (<x>) 2097 - Arco Cotangente Hiperb�lico. 2098 2099 -- Fun��o da class: acsc (<x>) 2100 - Arco Cossecante. 2101 2102 -- Fun��o da class: acsch (<x>) 2103 - Arco Cossecante Hiperb�lico. 2104 2105 -- Fun��o da class: asec (<x>) 2106 - Arco Secante. 2107 2108 -- Fun��o da class: asech (<x>) 2109 - Arco Secante Hiperb�lico. 2110 2111 -- Fun��o da class: asin (<x>) 2112 - Arco Seno. 2113 2114 -- Fun��o da class: asinh (<x>) 2115 - Arco Seno Hiperb�lico. 2116 2117 -- Fun��o da class: atan (<x>) 2118 - Arco Tangente. 2119 2120 -- Fun��o da class: atan2 (<y>, <x>) 2121 - retorna o valor de 'atan(<y>/<x>)' no intervalo de '-%pi' a 2122 '%pi'. 2123 2124 -- Fun��o da class: atanh (<x>) 2125 - Arco tangente Hiperb�lico. 2126 2127 -- Pacote da class: atrig1 2128 O pacote 'atrig1' cont�m muitas regras adicionais de simplifica��o 2129 para fun��es trigonom�tricas inversas. Junto com regras j� 2130 conhecidas para Maxima, os seguintes �ngulos est�o completamente 2131 implementados: '0', '%pi/6', '%pi/4', '%pi/3', e '%pi/2'. Os 2132 �ngulos correspondentes nos outros tr�s quadrantes est�o tamb�m 2133 dispon�veis. Fa�a 'load(atrig1);' para us�-lo. 2134 2135 -- Fun��o da class: cos (<x>) 2136 - Cosseno. 2137 2138 -- Fun��o da class: cosh (<x>) 2139 - Cosseno hiperb�lico. 2140 2141 -- Fun��o da class: cot (<x>) 2142 - Cotangente. 2143 2144 -- Fun��o da class: coth (<x>) 2145 - Cotangente Hyperb�lica. 2146 2147 -- Fun��o da class: csc (<x>) 2148 - Cossecante. 2149 2150 -- Fun��o da class: csch (<x>) 2151 - Cossecante Hyperb�lica. 2152 2153 -- Vari�vel de op��o da class: halfangles 2154 Default value: 'false' 2155 2156 Quando 'halfangles' for 'true', meios-�ngulos s�o simplificados 2157 imediatamente. 2158 2159 -- Pacote da class: ntrig 2160 O pacote 'ntrig' cont�m um conjunto de regras de simplifica��o que 2161 s�o usadas para simplificar fun��o trigonom�trica cujos argumentos 2162 est�o na forma '<f>(<n> %pi/10)' onde <f> � qualquer das fun��es 2163 'sin', 'cos', 'tan', 'csc', 'sec' e 'cot'. 2164 2165 -- Fun��o da class: sec (<x>) 2166 - Secante. 2167 2168 -- Fun��o da class: sech (<x>) 2169 - Secante Hyperb�lica. 2170 2171 -- Fun��o da class: sin (<x>) 2172 - Seno. 2173 2174 -- Fun��o da class: sinh (<x>) 2175 - Seno Hyperb�lico. 2176 2177 -- Fun��o da class: tan (<x>) 2178 - Tangente. 2179 2180 -- Fun��o da class: tanh (<x>) 2181 - Tangente Hyperb�lica. 2182 2183 -- Fun��o da class: trigexpand (<expr>) 2184 Expande fun��es trigonometricas e hyperb�licas de adi��es de 2185 �ngulos e de �ngulos multiplos que ocorram em <expr>. Para 2186 melhores resultados, <expr> deve ser expandida. Para intensificar 2187 o controle do utilizador na simplifica��o, essa fun��o expande 2188 somente um n�vel de cada vez, expandindo adi��es de �ngulos ou 2189 �ngulos multiplos. Para obter expans�o completa dentro de senos e 2190 co-senos imediatamente, escolha o comutador 'trigexpand: true'. 2191 2192 'trigexpand' � governada pelos seguintes sinalizadores globais: 2193 2194 'trigexpand' 2195 Se 'true' causa expans�o de todas as express�es contendo senos 2196 e co-senos ocorrendo subsequ�ntemente. 2197 'halfangles' 2198 Se 'true' faz com que meios-�ngulos sejam simplificados 2199 imediatamente. 2200 'trigexpandplus' 2201 Controla a regra "soma" para 'trigexpand', expans�o de adi��es 2202 (e.g. 'sin(x + y)') ter�o lugar somente se 'trigexpandplus' 2203 for 'true'. 2204 'trigexpandtimes' 2205 Controla a regra "produto" para 'trigexpand', expans�o de 2206 produtos (e.g. 'sin(2 x)') ter�o lugar somente se 2207 'trigexpandtimes' for 'true'. 2208 2209 Exemplos: 2210 2211 (%i1) x+sin(3*x)/sin(x),trigexpand=true,expand; 2212 2 2 2213 (%o1) - sin (x) + 3 cos (x) + x 2214 (%i2) trigexpand(sin(10*x+y)); 2215 (%o2) cos(10 x) sin(y) + sin(10 x) cos(y) 2216 2217 2218 -- Vari�vel de op��o da class: trigexpandplus 2219 Valor por omiss�o: 'true' 2220 2221 'trigexpandplus' controla a regra da "soma" para 'trigexpand'. 2222 Dessa forma, quando o comando 'trigexpand' for usado ou o comutador 2223 'trigexpand' escolhido para 'true', expans�o de adi��es (e.g. 2224 'sin(x+y))' ter�o lugar somente se 'trigexpandplus' for 'true'. 2225 2226 -- Vari�vel de op��o da class: trigexpandtimes 2227 Valor por omiss�o: 'true' 2228 2229 'trigexpandtimes' controla a regra "produto" para 'trigexpand'. 2230 Dessa forma, quando o comando 'trigexpand' for usado ou o comutador 2231 'trigexpand' escolhido para 'true', expans�o de produtos (e.g. 2232 'sin(2*x)') ter�o lugar somente se 'trigexpandtimes' for 'true'. 2233 2234 -- Vari�vel de op��o da class: triginverses 2235 Valor por omiss�o: 'all' 2236 2237 'triginverses' controla a simplifica��o de composi��es de fun��es 2238 trigonom�tricas e hiperb�licas com suas fun��es inversas. 2239 2240 Se 'all', ambas e.g. 'atan(tan(<x>))' e 'tan(atan(<x>))' 2241 simplificar�o para <x>. 2242 2243 Se 'true', a simplifica��o de '<arcfun>(<fun>(<x>))' � 2244 desabilitada. 2245 2246 Se 'false', ambas as simplifica��es '<arcfun>(<fun>(<x>))' e 2247 '<fun>(<arcfun>(<x>))' s�o desabilitadas. 2248 2249 -- Fun��o da class: trigreduce (<expr>, <x>) 2250 -- Fun��o da class: trigreduce (<expr>) 2251 Combina produtos e expoentes de senos e cossenso trigonom�tricos e 2252 hiperb�licos de <x> dentro daqueles de m�ltiplos de <x>. Tamb�m 2253 tenta eliminar essas fun��es quando elas ocorrerem em 2254 denominadores. Se <x> for omitido ent�o todas as vari�veis em 2255 <expr> s�o usadas. 2256 2257 Veja tamb�m 'poissimp'. 2258 2259 (%i1) trigreduce(-sin(x)^2+3*cos(x)^2+x); 2260 cos(2 x) cos(2 x) 1 1 2261 (%o1) -------- + 3 (-------- + -) + x - - 2262 2 2 2 2 2263 2264 2265 As rotinas de simplifica��o trigonom�trica ir�o usar informa��es 2266 declaradas em alguns casos simples. Declara��es sobre vari�veis 2267 s�o usadas como segue, e.g. 2268 2269 (%i1) declare(j, integer, e, even, o, odd)$ 2270 (%i2) sin(x + (e + 1/2)*%pi); 2271 (%o2) cos(x) 2272 (%i3) sin(x + (o + 1/2)*%pi); 2273 (%o3) - cos(x) 2274 2275 2276 -- Vari�vel de op��o da class: trigsign 2277 Valor por omiss�o: 'true' 2278 2279 Quando 'trigsign' for 'true', permite simplifica��o de argumentos 2280 negativos para fun��es trigonom�tricas. E.g., 'sin(-x)' 2281 transformar-se-� em '-sin(x)' somente se 'trigsign' for 'true'. 2282 2283 -- Fun��o da class: trigsimp (<expr>) 2284 Utiliza as identidades sin(x)^2 + cos(x)^2 = 1 and cosh(x)^2 - 2285 sinh(x)^2 = 1 para simplificar express�es contendo 'tan', 'sec', 2286 etc., para 'sin', 'cos', 'sinh', 'cosh'. 2287 2288 'trigreduce', 'ratsimp', e 'radcan' podem estar habilitadas a 2289 adicionar simplifica��es ao resultado. 2290 2291 'demo ("trgsmp.dem")' mostra alguns exemplos de 'trigsimp'. 2292 2293 -- Fun��o da class: trigrat (<expr>) 2294 Fornece uma forma quase-linear simplificada can�nica de uma 2295 express�o trigonom�trica; <expr> � uma fra��o racional de muitos 2296 'sin', 'cos' ou 'tan', os argumentos delas s�o formas lineares em 2297 algumas vari�veis (ou kernels-n�cleos) e '%pi/<n>' (<n> inteiro) 2298 com coeficientes inteiros. O resultado � uma fra��o simplificada 2299 com numerador e denominador ambos lineares em 'sin' e 'cos'. Dessa 2300 forma 'trigrat' lineariza sempre quando isso for pass�vel. 2301 2302 (%i1) trigrat(sin(3*a)/sin(a+%pi/3)); 2303 (%o1) sqrt(3) sin(2 a) + cos(2 a) - 1 2304 2305 2306 O seguinte exemplo encontra-se em Davenport, Siret, and Tournier, 2307 Calcul Formel, Masson (ou em ingl�s, Addison-Wesley), sec��o 1.5.5, 2308 teorema de Morley. 2309 2310 (%i1) c: %pi/3 - a - b; 2311 %pi 2312 (%o1) - b - a + --- 2313 3 2314 (%i2) bc: sin(a)*sin(3*c)/sin(a+b); 2315 sin(a) sin(3 b + 3 a) 2316 (%o2) --------------------- 2317 sin(b + a) 2318 (%i3) ba: bc, c=a, a=c$ 2319 (%i4) ac2: ba^2 + bc^2 - 2*bc*ba*cos(b); 2320 2 2 2321 sin (a) sin (3 b + 3 a) 2322 (%o4) ----------------------- 2323 2 2324 sin (b + a) 2325 2326 %pi 2327 2 sin(a) sin(3 a) cos(b) sin(b + a - ---) sin(3 b + 3 a) 2328 3 2329 - -------------------------------------------------------- 2330 %pi 2331 sin(a - ---) sin(b + a) 2332 3 2333 2334 2 2 %pi 2335 sin (3 a) sin (b + a - ---) 2336 3 2337 + --------------------------- 2338 2 %pi 2339 sin (a - ---) 2340 3 2341 (%i5) trigrat (ac2); 2342 (%o5) - (sqrt(3) sin(4 b + 4 a) - cos(4 b + 4 a) 2343 2344 - 2 sqrt(3) sin(4 b + 2 a) + 2 cos(4 b + 2 a) 2345 2346 - 2 sqrt(3) sin(2 b + 4 a) + 2 cos(2 b + 4 a) 2347 2348 + 4 sqrt(3) sin(2 b + 2 a) - 8 cos(2 b + 2 a) - 4 cos(2 b - 2 a) 2349 2350 + sqrt(3) sin(4 b) - cos(4 b) - 2 sqrt(3) sin(2 b) + 10 cos(2 b) 2351 2352 + sqrt(3) sin(4 a) - cos(4 a) - 2 sqrt(3) sin(2 a) + 10 cos(2 a) 2353 2354 - 9)/4 2355 2356 2357 2358File: maxima.info, Node: Fun��es Especiais, Next: Fun��es El�pticas, Prev: Trigonometria, Up: Top 2359 236016, Fun��es Especiais 2361********************* 2362 2363* Menu: 2364 2365* Introdu��o a Fun��es Especiais:: 2366* Defini��es para Fun��es Especiais:: 2367 2368 2369File: maxima.info, Node: Introdu��o a Fun��es Especiais, Next: Defini��es para Fun��es Especiais, Prev: Fun��es Especiais, Up: Fun��es Especiais 2370 237116.1, Introdu��o a Fun��es Especiais 2372==================================== 2373 2374A nota��o de fun��o especial segue adiante: 2375 2376 bessel_j (index, expr) Fun��o de Bessel, primeiro tipo 2377 bessel_y (index, expr) Fun��o de Bessel, segundo tipo 2378 bessel_i (index, expr) Fun��o de Bessel modificada, primeiro tipo 2379 bessel_k (index, expr) Fun��o de Bessel modificada, segundo tipo 2380 %he[n] (z) Polin�mio de Hermite (Note bem: he, n�o h. Veja A&S 22.5.18) 2381 %p[u,v] (z) Fun��o de Legendre 2382 %q[u,v] (z) Fun��o de Legendre, segundo tipo 2383 hstruve[n] (z) Fun��o H de Struve H 2384 lstruve[n] (z) Fun��o de L Struve 2385 %f[p,q] ([], [], expr) Fun��o Hipergeom�trica Generalizada 2386 gamma() Fun��o Gamma 2387 gamma_incomplete_lower(a,z) Fun��o gama incompleta inferior 2388 gammaincomplete(a,z) Final da fun��o gama incompleta 2389 slommel 2390 %m[u,k] (z) Fun��o de Whittaker, primeiro tipo 2391 %w[u,k] (z) Fun��o de Whittaker, segundo tipo 2392 erfc (z) Complemento da fun��o erf (fun��o de erros - integral da distribui��o normal) 2393 ei (z) Integral de exponencial (?) 2394 kelliptic (z) integral eliptica completa de primeiro tipo (K) 2395 %d [n] (z) Fun��o cil�ndrica parab�lica 2396 2397 2398File: maxima.info, Node: Defini��es para Fun��es Especiais, Prev: Introdu��o a Fun��es Especiais, Up: Fun��es Especiais 2399 240016.2, Defini��es para Fun��es Especiais 2401======================================= 2402 2403 -- Fun��o da class: airy_ai (<x>) 2404 A fun��o de Airy Ai, como definida em Abramowitz e Stegun, Handbook 2405 of Mathematical Functions, Sess�o 10.4. 2406 2407 A equa��o de Airy 'diff (y(x), x, 2) - x y(x) = 0' tem duas 2408 solu��es linearmente independentes, 'y = Ai(x)' e 'y = Bi(x)'. A 2409 derivada de 'diff (airy_ai(x), x)' � 'airy_dai(x)'. 2410 2411 Se o argumento 'x' for um n�mero real ou um n�mero complexo 2412 qualquer deles em ponto flutuante , o valor num�rico de 'airy_ai' � 2413 retornado quando poss�vel. 2414 2415 Veja tamb�m 'airy_bi', 'airy_dai', 'airy_dbi'. 2416 2417 -- Fun��o da class: airy_dai (<x>) 2418 A derivada da fun��o de Airy Ai 'airy_ai(x)'. 2419 2420 Veja 'airy_ai'. 2421 2422 -- Fun��o da class: airy_bi (<x>) 2423 A fun��o de Airy Bi, como definida em Abramowitz e Stegun, Handbook 2424 of Mathematical Functions, Sess�o 10.4, � a segunda solu��o da 2425 equa��o de Airy 'diff (y(x), x, 2) - x y(x) = 0'. 2426 2427 Se o argumento 'x' for um n�mero real ou um n�mero complexo 2428 qualquer deles em ponto flutuante, o valor num�rico de 'airy_bi' � 2429 retornado quando poss�vel. Em outros casos a express�o n�o 2430 avaliada � retornada. 2431 2432 A derivada de 'diff (airy_bi(x), x)' � 'airy_dbi(x)'. 2433 2434 Veja 'airy_ai', 'airy_dbi'. 2435 2436 -- Fun��o da class: airy_dbi (<x>) 2437 A derivada de fun��o de Airy Bi 'airy_bi(x)'. 2438 2439 Veja 'airy_ai' e 'airy_bi'. 2440 2441 -- Fun��o da class: asympa 2442 'asympa' � um pacote para an�lise assint�tica. O pacote cont�m 2443 fun��es de simplifica��o para an�lise assint�tica, incluindo as 2444 fun��es "grande O" e "pequeno o" que s�o largamente usadas em 2445 an�lises de complexidade e an�lise num�rica. 2446 2447 'load ("asympa")' chama esse pacote. 2448 2449 -- Fun��o da class: bessel (<z>, <a>) 2450 A fun��o de Bessel de primeiro tipo. 2451 2452 Essa fun��o est� desactualizada. Escreva 'bessel_j (<z>, <a>)' em 2453 lugar dessa. 2454 2455 -- Fun��o da class: bessel_j (<v>, <z>) 2456 A fun��o de Bessel do primeiro tipo de ordem v e argumento z. 2457 2458 'bessel_j' calcula o array 'besselarray' tal que 'besselarray [i] = 2459 bessel_j [i + v - int(v)] (z)' para 'i' de zero a 'int(v)'. 2460 2461 'bessel_j' � definida como 2462 inf 2463 ==== k - v - 2 k v + 2 k 2464 \ (- 1) 2 z 2465 > -------------------------- 2466 / k! gamma(v + k + 1) 2467 ==== 2468 k = 0 2469 2470 todavia s�ries infinitas n�o s�o usadas nos c�lculos. 2471 2472 -- Fun��o da class: bessel_y (<v>, <z>) 2473 A fun��o de Bessel do segundo tipo de ordem v e argumento z. 2474 2475 'bessel_y' calcula o array 'besselarray' tal que 'besselarray [i] = 2476 bessel_y [i + v - int(v)] (z)' para 'i' de zero a 'int(v)'. 2477 2478 'bessel_y' � definida como 2479 cos(%pi v) bessel_j(v, z) - bessel_j(-v, z) 2480 ------------------------------------------- 2481 sin(%pi v) 2482 2483 quando v n�o for um inteiro. Quando v for um inteiro n, o limite 2484 com v aprocimando-se de n � tomado. 2485 2486 -- Fun��o da class: bessel_i (<v>, <z>) 2487 A fun��o de Bessel modificada de primeiro tipo de ordem v e 2488 argumento z. 2489 2490 'bessel_i' calcula o array 'besselarray' tal que 'besselarray [i] = 2491 bessel_i [i + v - int(v)] (z)' para 'i' de zero a 'int(v)'. 2492 2493 'bessel_i' � definida como 2494 inf 2495 ==== - v - 2 k v + 2 k 2496 \ 2 z 2497 > ------------------- 2498 / k! gamma(v + k + 1) 2499 ==== 2500 k = 0 2501 2502 todavia s�ries infinitas n�o s�o usadas nos c�lculos. 2503 2504 -- Fun��o da class: bessel_k (<v>, <z>) 2505 A fun��o de Bessel modificada de segundo tipo de ordem v e 2506 argumento z. 2507 2508 'bessel_k' calcula o array 'besselarray' tal que 'besselarray [i] = 2509 bessel_k [i + v - int(v)] (z)' para 'i' de zero a 'int(v)'. 2510 2511 'bessel_k' � definida como 2512 %pi csc(%pi v) (bessel_i(-v, z) - bessel_i(v, z)) 2513 ------------------------------------------------- 2514 2 2515 2516 quando v n�o for inteiro. Se v for um inteiro n, ent�o o limite 2517 com v aproximando-se de n � tomado. 2518 2519 -- Vari�vel de op��o da class: besselexpand 2520 Valor por omiss�o: 'false' 2521 2522 Expans�es de controle de fun��es de Bessel quando a ordem for a 2523 metade de um inteiro �mpar. Nesse caso, as fun��es de Bessel podem 2524 ser expandidas em termos de outras fun��es elementares. Quando 2525 'besselexpand' for 'true', a fun��o de Bessel � expandida. 2526 2527 (%i1) besselexpand: false$ 2528 (%i2) bessel_j (3/2, z); 2529 3 2530 (%o2) bessel_j(-, z) 2531 2 2532 (%i3) besselexpand: true$ 2533 (%i4) bessel_j (3/2, z); 2534 2 z sin(z) cos(z) 2535 (%o4) sqrt(---) (------ - ------) 2536 %pi 2 z 2537 z 2538 2539 -- Fun��o da class: scaled_bessel_i (<v>, <z>) 2540 2541 A fun��o homot�tica modificada de Bessel de primeiro tipo de ordem 2542 v e argumento z. Isto �, scaled_bessel_i(v,z) = 2543 exp(-abs(z))*bessel_i(v, z). Essa fun��o � particularmente �til 2544 para calcular bessel_i para grandes valores de z. Todavia, maxima 2545 n�o conhece outra forma muito mais sobre essa fun��o. Para 2546 computa��o simb�lica, � provavelmete prefer�vel trabalhar com a 2547 express�o 'exp(-abs(z))*bessel_i(v, z)'. 2548 2549 -- Fun��o da class: scaled_bessel_i0 (<z>) 2550 2551 Id�ntica a 'scaled_bessel_i(0,z)'. 2552 2553 -- Fun��o da class: scaled_bessel_i1 (<z>) 2554 2555 Id�ntica a 'scaled_bessel_i(1,z)'. 2556 2557 -- Fun��o da class: beta (<x>, <y>) 2558 A fun��o beta, definida como 'gamma(x) gamma(y)/gamma(x + y)'. 2559 2560 -- Fun��o da class: gamma (<x>) 2561 A fun��o gama. 2562 2563 Veja tamb�m 'makegamma'. 2564 2565 A vari�vel 'gammalim' controla a simplifica��o da fun��o gama. 2566 2567 A constante de Euler-Mascheroni � '%gamma'. 2568 2569 -- Vari�vel de op��o da class: gammalim 2570 Valor por omiss�o: 1000000 2571 2572 'gammalim' controla a simplifica��o da fun��o gama para integral e 2573 argumentos na forma de n�meros racionais. Se o valor absoluto do 2574 argumento n�o for maior que 'gammalim', ent�o a simplifica��o 2575 ocorrer�. Note que 'factlim' comuta controle de simplifica�c�o do 2576 resultado de 'gamma' de um argumento inteiro tamb�m. 2577 2578 -- Fun��o da class: intopois (<a>) 2579 Converte <a> em um c�digo de Poisson. 2580 2581 -- Fun��o da class: makefact (<expr>) 2582 Transforma inst�ncias de fun��es binomiais, gama, e beta em <expr> 2583 para factoriais. 2584 2585 Veja tamb�m 'makegamma'. 2586 2587 -- Fun��o da class: makegamma (<expr>) 2588 Transforma inst�ncias de fun��es binomiais, factorial, e beta em 2589 <expr> para fun��es gama. 2590 2591 Veja tamb�m 'makefact'. 2592 2593 -- Fun��o da class: numfactor (<expr>) 2594 Retorna o factor num�rico multiplicando a express�o <expr>, que 2595 pode ser um termo simples. 2596 2597 'content' retorna o m�ximo divisor comum (mdc) de todos os termos 2598 em uma adi��o. 2599 2600 (%i1) gamma (7/2); 2601 15 sqrt(%pi) 2602 (%o1) ------------ 2603 8 2604 (%i2) numfactor (%); 2605 15 2606 (%o2) -- 2607 8 2608 2609 -- Fun��o da class: outofpois (<a>) 2610 Converte <a> de um c�digo de Poisson para uma representa��o geral. 2611 Se <a> n�o for uma forma de Poisson, 'outofpois' realiza a 2612 convers�o, i.e., o valor de retorno � 'outofpois (intopois (<a>))'. 2613 Essa fun��o � desse modo um simplificador can�nico para adi��es e 2614 pot�ncias de termos de seno e co-seno de um tipo particular. 2615 2616 -- Fun��o da class: poisdiff (<a>, <b>) 2617 Deriva <a> com rela��o a <b>. <b> deve ocorrer somente nos 2618 argumentos trigonom�tricos ou somente nos coeficientes. 2619 2620 -- Fun��o da class: poisexpt (<a>, <b>) 2621 Funcionalmente identica a 'intopois (<a>^<b>)'. <b> deve ser um 2622 inteiro positico. 2623 2624 -- Fun��o da class: poisint (<a>, <b>) 2625 Integra em um senso restrito similarmente (para 'poisdiff'). 2626 Termos n�o peri�dicos em <b> s�o diminu�dos se <b> estiver em 2627 argumentos trigonom�tricos. 2628 2629 -- Vari�vel de op��o da class: poislim 2630 Valor por omiss�o: 5 2631 2632 'poislim' determina o dom�nio dos coeficientes nos argumentos de 2633 fun��es trigonom�tricas. O valor inicial de 5 corresponde ao 2634 intervalo [-2^(5-1)+1,2^(5-1)], ou [-15,16], mas isso pode ser 2635 alterado para [-2^(n-1)+1, 2^(n-1)]. 2636 2637 -- Fun��o da class: poismap (<series>, <sinfn>, <cosfn>) 2638 mapear� as fun��es <sinfn> sobre os termos de seno e <cosfn> ssobre 2639 os termos de co-seno das s�ries de Poisson dadas. <sinfn> e 2640 <cosfn> s�o fun��es de dois argumentos que s�o um coeficiente e uma 2641 parte trigonom�trica de um termo em s�ries respectivamente. 2642 2643 -- Fun��o da class: poisplus (<a>, <b>) 2644 � funcionalmente identica a 'intopois (a + b)'. 2645 2646 -- Fun��o da class: poissimp (<a>) 2647 Converte <a> em s�ries de Poisson para <a> em representa��o geral. 2648 2649 -- S�mbolo especial da class: poisson 2650 O s�mbolo '/P/' segue o r�tulo de linha de uma express�o contendo 2651 s�ries de Poisson. 2652 2653 -- Fun��o da class: poissubst (<a>, <b>, <c>) 2654 Substitue <a> por <b> em <c>. <c> � uma s�rie de Poisson. 2655 2656 (1) Quando <B> � uma vari�vel <u>, <v>, <w>, <x>, <y>, ou <z>, 2657 ent�o <a> deve ser uma express�o linear nessas vari�veis (e.g., 2658 '6*u + 4*v'). 2659 2660 (2) Quando <b> for outra que n�o essas vari�veis, ent�o <a> deve 2661 tamb�m ser livre dessas vari�veis, e al�m disso, livre de senos ou 2662 co-senos. 2663 2664 'poissubst (<a>, <b>, <c>, <d>, <n>)' � um tipo especial d 2665 substitui��o que opera sobre <a> e <b> como no tipo (1) acima, mas 2666 onde <d> � uma s�rie de Poisson, expande 'cos(<d>)' e 'sin(<d>)' 2667 para a ordem <n> como provendo o resultado da substitui��o '<a> + 2668 <d>' por <b> em <c>. A id�ia � que <d> � uma expans�o em termos de 2669 um pequeno par�metro. Por exemplo, 'poissubst (u, v, cos(v), %e, 2670 3)' retorna 'cos(u)*(1 - %e^2/2) - sin(u)*(%e - %e^3/6)'. 2671 2672 -- Fun��o da class: poistimes (<a>, <b>) 2673 � funcionalmente id�ntica a 'intopois (<a>*<b>)'. 2674 2675 -- Fun��o da class: poistrim () 2676 � um nome de fun��o reservado que (se o utilizador tiver definido 2677 uma fun��o com esse nome) � aplicada durante multiplica��o de 2678 Poisson. Isso � uma fun��o predicada de 6 argumentos que s�o os 2679 coeficientes de <u>, <v>, ..., <z> em um termo. Termos para os 2680 quais 'poistrim' for 'true' (para os coeficientes daquele termo) 2681 s�o eliminados durante a multiplica��o. 2682 2683 -- Fun��o da class: printpois (<a>) 2684 Mostra uma s�rie de Poisson em um formato leg�vel. Em comum com 2685 'outofpois', essa fun��o converter� <a> em um c�digo de Poisson 2686 primeiro, se necess�rio. 2687 2688 -- Fun��o da class: psi [<n>](<x>) 2689 2690 A derivada de 'log (gamma (<x>))' de ordem '<n>+1'. Dessa forma, 2691 'psi[0](<x>)' � a primeira derivada, 'psi[1](<x>)' � a segunda 2692 derivada, etc. 2693 2694 Maxima n�o sabe como, em geral, calcular um valor num�rico de 2695 'psi', mas Maxima pode calcular alguns valores exatos para 2696 argumentos racionais. Muitas vari�veis controlam qual intervalo de 2697 argumentos racionais 'psi' ir� retornar um valor exato, se 2698 poss�vel. Veja 'maxpsiposint', 'maxpsinegint', 'maxpsifracnum', e 2699 'maxpsifracdenom'. Isto �, <x> deve localizar-se entre 2700 'maxpsinegint' e 'maxpsiposint'. Se o valor absoluto da parte 2701 facion�ria de <x> for racional e tiver um numerador menor que 2702 'maxpsifracnum' e tiver um denominador menor que 'maxpsifracdenom', 2703 'psi' ir� retornar um valor exato. 2704 2705 A fun��o 'bfpsi' no pacote 'bffac' pode calcular valores num�ricos. 2706 2707 -- Vari�vel de op��o da class: maxpsiposint 2708 Valor por omiss�o: 20 2709 2710 'maxpsiposint' � o maior valor positivo para o qual 'psi[n](x)' ir� 2711 tentar calcular um valor exato. 2712 2713 -- Vari�vel de op��o da class: maxpsinegint 2714 Valor por omiss�o: -10 2715 2716 'maxpsinegint' � o valor mais negativo para o qual 'psi[n](x)' ir� 2717 tentar calcular um valor exato. Isto �, se <x> for menor que 2718 'maxnegint', 'psi[n](<x>)' n�o ir� retornar resposta simplificada, 2719 mesmo se isso for poss�vel. 2720 2721 -- Vari�vel de op��o da class: maxpsifracnum 2722 Valor por omiss�o: 4 2723 2724 Tomemos <x> como sendo um n�mero racional menor que a unidade e da 2725 forma 'p/q'. Se 'p' for menor que 'maxpsifracnum', ent�o 2726 'psi[<n>](<x>)' n�o ir� tentar retornar um valor simplificado. 2727 2728 -- Fun��o da class: specint (exp(- s*<t>) * <expr>, <t>) 2729 2730 Calcula a transformada de Laplace de <expr> com rala��o � vari�vel 2731 <t>. O integrando <expr> pode conter fun��es especiais. 2732 2733 Se 'specint' n�o puder calcular a integral, o valore de retorno 2734 pode conter v�rios s�mbolos do Lisp, incluindo 2735 'other-defint-to-follow-negtest', 'other-lt-exponential-to-follow', 2736 'product-of-y-with-nofract-indices', etc.; isso � um erro. 2737 2738 'demo(hypgeo)' mostra muitos exemplos de transformadas de Laplace 2739 calculados por 'specint'. 2740 2741 Exemplos: 2742 2743 (%i1) assume (p > 0, a > 0); 2744 (%o1) [p > 0, a > 0] 2745 (%i2) specint (t^(1/2) * exp(-a*t/4) * exp(-p*t), t); 2746 sqrt(%pi) 2747 (%o2) ------------ 2748 a 3/2 2749 2 (p + -) 2750 4 2751 (%i3) specint (t^(1/2) * bessel_j(1, 2 * a^(1/2) * t^(1/2)) * exp(-p*t), t); 2752 - a/p 2753 sqrt(a) %e 2754 (%o3) --------------- 2755 2 2756 p 2757 2758 -- Vari�vel de op��o da class: maxpsifracdenom 2759 Valor por omiss�o: 4 2760 2761 Tomemos <x> como sendo um n�mero racional menor que a unidade e da 2762 forma 'p/q'. Se 'q' for maior que 'maxpsifracdeonm', ent�o 2763 'psi[<n>](<x>)' n�o ir� tentar retornar um valor simplificado. 2764 2765 2766File: maxima.info, Node: Fun��es El�pticas, Next: Limites, Prev: Fun��es Especiais, Up: Top 2767 276817, Fun��es El�pticas 2769********************* 2770 2771* Menu: 2772 2773* Introdu��o a Fun��es El�pticas e Integrais:: 2774* Defini��es para Fun��es El�pticas:: 2775* Defini��es para Integrais El�pticas:: 2776 2777 2778File: maxima.info, Node: Introdu��o a Fun��es El�pticas e Integrais, Next: Defini��es para Fun��es El�pticas, Up: Top 2779 278017.1, Introdu��o a Fun��es El�pticas e Integrais 2781================================================ 2782 2783Maxima inclui suporte a fun��es el�pticas Jacobianas e a integrais 2784el�pticas completas e incompletas. Isso inclui manipula��o simb�lica 2785dessas fun��es e avalia��o num�rica tamb�m. Defini��es dessas fun��es e 2786muitas de suas propriedades podem ser encontradas em Abramowitz e 2787Stegun, Cap�tulos 16-17. Tanto quanto poss�vel, usamos as defini��es e 2788rela��es dadas a�. 2789 2790Em particular, todas as fun��es el�pticas e integrais el�pticas usam o 2791par�metro m em lugar de m�dulo k ou o �ngulo modular \alpha. Isso � uma 2792�rea onde discordamos de Abramowitz e Stegun que usam o �ngulo modular 2793para as fun��es el�pticas. As seguintes rela��es s�o verdadeiras: m = 2794k^2 e k = \sin(\alpha) 2795 2796As fun��es el�pticas e integrais el�pticas est�o primariamente 2797tencionando suportar computa��o simb�lica. Portanto, a maiora das 2798derivadas de fun��es e integrais s�o conhecidas. Todavia, se valores em 2799ponto flutuante forem dados, um resultado em ponto flutuante � 2800retornado. 2801 2802Suporte para a maioria de outras propriedades das fun��es el�pticas e 2803integrais el�pticas al�m das derivadas n�o foram ainda escritas. 2804 2805Alguns exemplos de fun��es el�pticas: 2806 2807 (%i1) jacobi_sn (u, m); 2808 (%o1) jacobi_sn(u, m) 2809 (%i2) jacobi_sn (u, 1); 2810 (%o2) tanh(u) 2811 (%i3) jacobi_sn (u, 0); 2812 (%o3) sin(u) 2813 (%i4) diff (jacobi_sn (u, m), u); 2814 (%o4) jacobi_cn(u, m) jacobi_dn(u, m) 2815 (%i5) diff (jacobi_sn (u, m), m); 2816 (%o5) jacobi_cn(u, m) jacobi_dn(u, m) 2817 2818 elliptic_e(asin(jacobi_sn(u, m)), m) 2819 (u - ------------------------------------)/(2 m) 2820 1 - m 2821 2822 2 2823 jacobi_cn (u, m) jacobi_sn(u, m) 2824 + -------------------------------- 2825 2 (1 - m) 2826 2827Alguns exemplos de integrais el�pticas: 2828 2829 (%i1) elliptic_f (phi, m); 2830 (%o1) elliptic_f(phi, m) 2831 (%i2) elliptic_f (phi, 0); 2832 (%o2) phi 2833 (%i3) elliptic_f (phi, 1); 2834 phi %pi 2835 (%o3) log(tan(--- + ---)) 2836 2 4 2837 (%i4) elliptic_e (phi, 1); 2838 (%o4) sin(phi) 2839 (%i5) elliptic_e (phi, 0); 2840 (%o5) phi 2841 (%i6) elliptic_kc (1/2); 2842 1 2843 (%o6) elliptic_kc(-) 2844 2 2845 (%i7) makegamma (%); 2846 2 1 2847 gamma (-) 2848 4 2849 (%o7) ----------- 2850 4 sqrt(%pi) 2851 (%i8) diff (elliptic_f (phi, m), phi); 2852 1 2853 (%o8) --------------------- 2854 2 2855 sqrt(1 - m sin (phi)) 2856 (%i9) diff (elliptic_f (phi, m), m); 2857 elliptic_e(phi, m) - (1 - m) elliptic_f(phi, m) 2858 (%o9) (----------------------------------------------- 2859 m 2860 2861 cos(phi) sin(phi) 2862 - ---------------------)/(2 (1 - m)) 2863 2 2864 sqrt(1 - m sin (phi)) 2865 2866Suporte a fun��es el�pticas e integrais el�pticas foi escrito por 2867Raymond Toy. Foi colocado sob os termos da Licen�� P�blica Geral (GPL) 2868que governa a distribui��o do Maxima. 2869 2870 2871File: maxima.info, Node: Defini��es para Fun��es El�pticas, Next: Defini��es para Integrais El�pticas, Prev: Introdu��o a Fun��es El�pticas e Integrais, Up: Top 2872 287317.2, Defini��es para Fun��es El�pticas 2874======================================= 2875 2876 -- Fun��o da class: jacobi_sn (<u>, <m>) 2877 A Fun��o el�ptica Jacobiana sn(u,m). 2878 2879 -- Fun��o da class: jacobi_cn (<u>, <m>) 2880 A fun��o el�ptica Jacobiana cn(u,m). 2881 2882 -- Fun��o da class: jacobi_dn (<u>, <m>) 2883 A fun��o el�ptica Jacobiana dn(u,m). 2884 2885 -- Fun��o da class: jacobi_ns (<u>, <m>) 2886 A fun��o el�ptica Jacobiana ns(u,m) = 1/sn(u,m). 2887 2888 -- Fun��o da class: jacobi_sc (<u>, <m>) 2889 A fun��o el�ptica Jacobiana sc(u,m) = sn(u,m)/cn(u,m). 2890 2891 -- Fun��o da class: jacobi_sd (<u>, <m>) 2892 A fun��o el�ptica Jacobiana sd(u,m) = sn(u,m)/dn(u,m). 2893 2894 -- Fun��o da class: jacobi_nc (<u>, <m>) 2895 A fun��o el�ptica Jacobiana nc(u,m) = 1/cn(u,m). 2896 2897 -- Fun��o da class: jacobi_cs (<u>, <m>) 2898 A fun��o el�ptica Jacobiana cs(u,m) = cn(u,m)/sn(u,m). 2899 2900 -- Fun��o da class: jacobi_cd (<u>, <m>) 2901 A fun��o el�ptica Jacobiana cd(u,m) = cn(u,m)/dn(u,m). 2902 2903 -- Fun��o da class: jacobi_nd (<u>, <m>) 2904 A fun��o el�ptica Jacobiana nc(u,m) = 1/cn(u,m). 2905 2906 -- Fun��o da class: jacobi_ds (<u>, <m>) 2907 A fun��o el�ptica Jacobiana ds(u,m) = dn(u,m)/sn(u,m). 2908 2909 -- Fun��o da class: jacobi_dc (<u>, <m>) 2910 A fun��o el�ptica Jacobiana dc(u,m) = dn(u,m)/cn(u,m). 2911 2912 -- Fun��o da class: inverse_jacobi_sn (<u>, <m>) 2913 A inversa da fun��o el�ptica Jacobiana sn(u,m). 2914 2915 -- Fun��o da class: inverse_jacobi_cn (<u>, <m>) 2916 A inversa da fun��o el�ptica Jacobiana cn(u,m). 2917 2918 -- Fun��o da class: inverse_jacobi_dn (<u>, <m>) 2919 A inversa da fun��o el�ptica Jacobiana dn(u,m). 2920 2921 -- Fun��o da class: inverse_jacobi_ns (<u>, <m>) 2922 A inversa da fun��o el�ptica Jacobiana ns(u,m). 2923 2924 -- Fun��o da class: inverse_jacobi_sc (<u>, <m>) 2925 A inversa da fun��o el�ptica Jacobiana sc(u,m). 2926 2927 -- Fun��o da class: inverse_jacobi_sd (<u>, <m>) 2928 A inversa da fun��o el�ptica Jacobiana sd(u,m). 2929 2930 -- Fun��o da class: inverse_jacobi_nc (<u>, <m>) 2931 A inversa da fun��o el�ptica Jacobiana nc(u,m). 2932 2933 -- Fun��o da class: inverse_jacobi_cs (<u>, <m>) 2934 A inversa da fun��o el�ptica Jacobiana cs(u,m). 2935 2936 -- Fun��o da class: inverse_jacobi_cd (<u>, <m>) 2937 A inversa da fun��o el�ptica Jacobiana cd(u,m). 2938 2939 -- Fun��o da class: inverse_jacobi_nd (<u>, <m>) 2940 A inversa da fun��o el�ptica Jacobiana nc(u,m). 2941 2942 -- Fun��o da class: inverse_jacobi_ds (<u>, <m>) 2943 A inversa da fun��o el�ptica Jacobiana ds(u,m). 2944 2945 -- Fun��o da class: inverse_jacobi_dc (<u>, <m>) 2946 A inversa da fun��o el�ptica Jacobiana dc(u,m). 2947 2948 2949File: maxima.info, Node: Defini��es para Integrais El�pticas, Prev: Defini��es para Fun��es El�pticas, Up: Top 2950 295117.3, Defini��es para Integrais El�pticas 2952========================================= 2953 2954 -- Fun��o da class: elliptic_f (<phi>, <m>) 2955 A integral el�ptica incompleta de primeiro tipo, definida como 2956 2957 integrate(1/sqrt(1 - m*sin(x)^2), x, 0, phi) 2958 2959 Veja tamb�m _elliptic_e_ e _elliptic_kc_. 2960 2961 -- Fun��o da class: elliptic_e (<phi>, <m>) 2962 A integral el�ptica incompleta de segundo tipo, definida como 2963 2964 elliptic_e(u, m) = integrate(sqrt(1 - m*sin(x)^2), x, 0, phi) Veja 2965 tamb�m _elliptic_e_ e _elliptic_ec_. 2966 2967 -- Fun��o da class: elliptic_eu (<u>, <m>) 2968 A integral el�ptica incompleta de segundo tipo, definida como 2969 integrate(dn(v,m)^2,v,0,u) = integrate(sqrt(1-m*t^2)/sqrt(1-t^2), 2970 t, 0, tau) 2971 2972 onde tau = sn(u,m) 2973 2974 Isso � relacionado a elliptic_e atrav�s de elliptic_eu(u, m) = 2975 elliptic_e(asin(sn(u,m)),m) Veja tamb�m _elliptic_e_. 2976 2977 -- Fun��o da class: elliptic_pi (<n>, <phi>, <m>) 2978 A integral el�ptica incompleta de terceiro tipo, definida como 2979 2980 integrate(1/(1-n*sin(x)^2)/sqrt(1 - m*sin(x)^2), x, 0, phi) 2981 2982 Somente a derivada em rela��o a phi � conhecida pelo Maxima. 2983 2984 -- Fun��o da class: elliptic_kc (<m>) 2985 A integral el�ptica completa de primeiro tipo, definida como 2986 2987 integrate(1/sqrt(1 - m*sin(x)^2), x, 0, %pi/2) 2988 2989 Para certos valores de m, o valor da integral � conhecido em termos 2990 de fun��es Gama. Use 'makegamma' para avaliar esse valor. 2991 2992 -- Fun��o da class: elliptic_ec (<m>) 2993 A integral el�ptica completa de segundo tipo, definida como 2994 2995 integrate(sqrt(1 - m*sin(x)^2), x, 0, %pi/2) 2996 2997 Para certos valores de m, o valor da integral � conhecido em termos 2998 de fun��es Gama. Use 'makegamma' para avaliar esse valor. 2999 3000 3001File: maxima.info, Node: Limites, Next: Diferencia��o, Prev: Fun��es El�pticas, Up: Top 3002 300318, Limites 3004*********** 3005 3006* Menu: 3007 3008* Defini��es para Limites:: 3009 3010 3011File: maxima.info, Node: Defini��es para Limites, Prev: Limites, Up: Limites 3012 301318.1, Defini��es para Limites 3014============================= 3015 3016 -- Vari�vel de Op��o da class: lhospitallim 3017 Valor por omiss�o: 4 3018 3019 'lhospitallim' � o m�ximo n�mero de vezes que a regra L'Hospital � 3020 usada em 'limit'. Isso evita ciclos infinitos em casos como 'limit 3021 (cot(x)/csc(x), x, 0)'. 3022 3023 -- Fun��o da class: limit (<expr>, <x>, <val>, <dir>) 3024 -- Fun��o da class: limit (<expr>, <x>, <val>) 3025 -- Fun��o da class: limit (<expr>) 3026 Calcula o limite de <expr> com a vari�vel real <x> aproximando-se 3027 do valor <val> pela dire��o <dir>. <dir> pode ter o valor 'plus' 3028 para um limite pela direita, 'minus' para um limite pela esquerda, 3029 ou pode ser omitido (implicando em um limite em ambos os lados � 3030 para ser computado). 3031 3032 'limit' usa os seguintes s�mbolos especiais: 'inf' (infinito 3033 positivo) e 'minf' (infinito negativo). Em sa�das essa fun��o pode 3034 tamb�m usar 'und' (undefined - n�o definido), 'ind' (indefinido mas 3035 associado) e 'infinity' (infinito complexo). 3036 3037 'lhospitallim' � o m�ximo n�mero de vezes que a regra L'Hospital � 3038 usada em 'limit'. Isso evita ciclos infinitos em casos como 'limit 3039 (cot(x)/csc(x), x, 0)'. 3040 3041 'tlimswitch' quando 'true' far� o pacote 'limit' usar s�rie de 3042 Taylor quando poss�vel. 3043 3044 'limsubst' evita que 'limit' tente substitui��es sobre formas 3045 desconhecidas. Isso � para evitar erros como 'limit (f(n)/f(n+1), 3046 n, inf)' dando igual a 1. Escolhendo 'limsubst' para 'true' 3047 permitir� tais substitui��es. 3048 3049 'limit' com um argumento � muitas vezes chamado em ocasi�es para 3050 simplificar express�es de constantes, por exemplo, 'limit (inf-1)'. 3051 3052 'example (limit)' mostra alguns exemplos. 3053 3054 Para saber sobre o m�todo utilizado veja Wang, P., "Evaluation of 3055 Definite Integrals by Symbolic Manipulation", tese de Ph.D., MAC 3056 TR-92, Outubro de 1971. 3057 3058 -- Vari�vel de Op��o da class: limsubst 3059 valor padr�o: 'false' - evita que 'limit' tente substitui��es sobre 3060 formas desconhecidas. Isso � para evitar erros como 'limit 3061 (f(n)/f(n+1), n, inf)' dando igual a 1. Escolhendo 'limsubst' para 3062 'true' permitir� tais substitui��es. 3063 3064 -- Fun��o da class: tlimit (<expr>, <x>, <val>, <dir>) 3065 -- Fun��o da class: tlimit (<expr>, <x>, <val>) 3066 -- Fun��o da class: tlimit (<expr>) 3067 Retorna 'limit' com 'tlimswitch' escolhido para 'true'. 3068 3069 -- Vari�vel de Op��o da class: tlimswitch 3070 Valor por omiss�o: 'false' 3071 3072 Quando 'tlimswitch' for 'true', far� o pacote 'limit' usar s�rie de 3073 Taylor quando poss�vel. 3074 3075 3076File: maxima.info, Node: Diferencia��o, Next: Integra��o, Prev: Limites, Up: Top 3077 307819, Diferencia��o 3079***************** 3080 3081* Menu: 3082 3083* Defini��es para Diferencia��o:: 3084 3085 3086File: maxima.info, Node: Defini��es para Diferencia��o, Prev: Diferencia��o, Up: Diferencia��o 3087 308819.1, Defini��es para Diferencia��o 3089=================================== 3090 3091 -- Fun��o da class: antid (<expr>, <x>, <u(x)>) 3092 Retorna uma lista de dois elementos, tais que uma antiderivada de 3093 <expr> com rela��o a <x> pode ser constu�da a partir da lista. A 3094 express�o <expr> pode conter uma fun��o desconhecida <u> e suas 3095 derivadas. 3096 3097 Tome <L>, uma lista de dois elementos, como sendo o valor de 3098 retorno de 'antid'. Ent�o '<L>[1] + 'integrate (<L>[2], <x>)' � 3099 uma antiderivada de <expr> com rela��o a <x>. 3100 3101 Quando 'antid' obt�m sucesso inteiramente, o segundo elemento do 3102 valor de retorno � zero. De outra forma, o segundo elemento � n�o 3103 zero, e o primeiro elemento n�o zero ou zero. Se 'antid' n�o pode 3104 fazer nenhum progresso, o primeiro elemento � zero e o segundo n�o 3105 zero. 3106 3107 'load ("antid")' chama essa fun��o. O pacote 'antid' tamb�m define 3108 as fun��es 'nonzeroandfreeof' e 'linear'. 3109 3110 'antid' est� relacionada a 'antidiff' como segue. Tome <L>, uma 3111 lista de dois elementos, que � o valor de retorno de 'antid'. 3112 Ent�o o valor de retorno de 'antidiff' � igual a '<L>[1] + 3113 'integrate (<L>[2], <x>)' onde <x> � a vari�vel de integra��o. 3114 3115 Exemplos: 3116 3117 (%i1) load ("antid")$ 3118 (%i2) expr: exp (z(x)) * diff (z(x), x) * y(x); 3119 z(x) d 3120 (%o2) y(x) %e (-- (z(x))) 3121 dx 3122 (%i3) a1: antid (expr, x, z(x)); 3123 z(x) z(x) d 3124 (%o3) [y(x) %e , - %e (-- (y(x)))] 3125 dx 3126 (%i4) a2: antidiff (expr, x, z(x)); 3127 / 3128 z(x) [ z(x) d 3129 (%o4) y(x) %e - I %e (-- (y(x))) dx 3130 ] dx 3131 / 3132 (%i5) a2 - (first (a1) + 'integrate (second (a1), x)); 3133 (%o5) 0 3134 (%i6) antid (expr, x, y(x)); 3135 z(x) d 3136 (%o6) [0, y(x) %e (-- (z(x)))] 3137 dx 3138 (%i7) antidiff (expr, x, y(x)); 3139 / 3140 [ z(x) d 3141 (%o7) I y(x) %e (-- (z(x))) dx 3142 ] dx 3143 / 3144 3145 -- Fun��o da class: antidiff (<expr>, <x>, <u>(<x>)) 3146 Retorna uma antiderivada de <expr> com rela��o a <x>. A express�o 3147 <expr> pode conter uma fun��o desconhecida <u> e suas derivadas. 3148 3149 Quando 'antidiff' obt�m sucesso inteiramente, a express�o 3150 resultante � livre do sinal de integral (isto �, livre do 3151 substantivo 'integrate'). De outra forma, 'antidiff' retorna uma 3152 express�o que � parcialmente ou inteiramente dentro de um sinal de 3153 um sinal de integral. Se 'antidiff' n�o pode fazer qualquer 3154 progresso, o valor de retorno � inteiramente dentro de um sinal de 3155 integral. 3156 3157 'load ("antid")' chama essa fun��o. O pacote 'antid' tamb�m define 3158 as fun��es 'nonzeroandfreeof' e 'linear'. 3159 3160 'antidiff' � relacionada a 'antid' como segue. Tome <L>, uma lista 3161 de dois elementos, como sendo o valor de retorno de 'antid'. Ent�o 3162 o valor de retorno de 'antidiff' � igual a '<L>[1] + 'integrate 3163 (<L>[2], <x>)' onde <x> � a vari�vel de integra��o. 3164 3165 Exemplos: 3166 3167 (%i1) load ("antid")$ 3168 (%i2) expr: exp (z(x)) * diff (z(x), x) * y(x); 3169 z(x) d 3170 (%o2) y(x) %e (-- (z(x))) 3171 dx 3172 (%i3) a1: antid (expr, x, z(x)); 3173 z(x) z(x) d 3174 (%o3) [y(x) %e , - %e (-- (y(x)))] 3175 dx 3176 (%i4) a2: antidiff (expr, x, z(x)); 3177 / 3178 z(x) [ z(x) d 3179 (%o4) y(x) %e - I %e (-- (y(x))) dx 3180 ] dx 3181 / 3182 (%i5) a2 - (first (a1) + 'integrate (second (a1), x)); 3183 (%o5) 0 3184 (%i6) antid (expr, x, y(x)); 3185 z(x) d 3186 (%o6) [0, y(x) %e (-- (z(x)))] 3187 dx 3188 (%i7) antidiff (expr, x, y(x)); 3189 / 3190 [ z(x) d 3191 (%o7) I y(x) %e (-- (z(x))) dx 3192 ] dx 3193 / 3194 3195 -- propriedade da class: atomgrad 3196 3197 'atomgrad' � a propriedade do gradiente at�mico de uma express�o. 3198 Essa propriedade � atribu�da por 'gradef'. 3199 3200 -- Fun��o da class: atvalue (<expr>, [<x_1> = <a_1>, ..., <x_m> = 3201 <a_m>], <c>) 3202 -- Fun��o da class: atvalue (<expr>, <x_1> = <a_1>, <c>) 3203 Atribui o valor <c> a <expr> no ponto '<x> = <a>'. Tipicamente 3204 valores de extremidade s�o estabelecidos por esse mecanismo. 3205 3206 <expr> � a fun��o de avalia��o, '<f>(<x_1>, ..., <x_m>)', ou uma 3207 derivada, 'diff (<f>(<x_1>, ..., <x_m>), <x_1>, <n_1>, ..., <x_n>, 3208 <n_m>)' na qual os argumentos da fun��o explicitamente aparecem. 3209 <n_i> � a ordem de diferencia��o com rela��o a <x_i>. 3210 3211 O ponto no qual o 'atvalue' � estabelecido � dado pela lista de 3212 equa��es '[<x_1> = <a_1>, ..., <x_m> = <a_m>]'. Se existe uma 3213 vari�vel simples <x_1>, uma �nica equa��o pode ser dada sem ser 3214 contida em uma lista. 3215 3216 'printprops ([<f_1>, <f_2>, ...], atvalue)' mostra os 'atvalues' 3217 das fun��es '<f_1>, <f_2>, ...' como especificado por chamadas a 3218 'atvalue'. 'printprops (<f>, atvalue)' mostra os 'atvalues' de uma 3219 fun��o <f>. 'printprops (all, atvalue)' mostra os 'atvalue's de 3220 todas as fun��es para as quais 'atvalue's s�o definidos. 3221 3222 Os simbolos '@1', '@2', ... representam as vari�veis <x_1>, <x_2>, 3223 ... quando 'atvalue's s�o mostrados. 3224 3225 'atvalue' avalia seus argumentos. 'atvalue' retorna <c>, o 3226 'atvalue'. 3227 3228 Exemplos: 3229 3230 (%i1) atvalue (f(x,y), [x = 0, y = 1], a^2); 3231 2 3232 (%o1) a 3233 (%i2) atvalue ('diff (f(x,y), x), x = 0, 1 + y); 3234 (%o2) @2 + 1 3235 (%i3) printprops (all, atvalue); 3236 ! 3237 d ! 3238 --- (f(@1, @2))! = @2 + 1 3239 d@1 ! 3240 !@1 = 0 3241 3242 2 3243 f(0, 1) = a 3244 3245 (%o3) done 3246 (%i4) diff (4*f(x,y)^2 - u(x,y)^2, x); 3247 d d 3248 (%o4) 8 f(x, y) (-- (f(x, y))) - 2 u(x, y) (-- (u(x, y))) 3249 dx dx 3250 (%i5) at (%, [x = 0, y = 1]); 3251 ! 3252 2 d ! 3253 (%o5) 16 a - 2 u(0, 1) (-- (u(x, y))! ) 3254 dx ! 3255 !x = 0, y = 1 3256 3257 -- Fun��o da class: cartan - 3258 O c�lculo exterior de formas diferenciais � uma ferramenta b�sica 3259 de geometria diferencial desenvolvida por Elie Cartan e tem 3260 importantes aplica��es na teoria das equa��es diferenciais 3261 parciais. O pacote 'cartan' implementa as fun��es 'ext_diff' e 3262 'lie_diff', juntamente com os operadores '~' (produto da cunha) e 3263 '|' (contra��o de uma forma com um vector.) Digite 'demo (tensor)' 3264 para ver uma breve descri��o desses comandos juntamente com 3265 exemplos. 3266 3267 'cartan' foi implementado por F.B. Estabrook e H.D. Wahlquist. 3268 3269 -- Fun��o da class: del (<x>) 3270 'del (<x>)' representa a diferencial da vari�vel x. 3271 3272 'diff' retorna uma express�o contendo 'del' se uma vari�vel 3273 independente n�o for especificada. Nesse caso, o valor de retorno 3274 � a ent�o chamada "diferencial total". 3275 3276 Exemplos: 3277 3278 (%i1) diff (log (x)); 3279 del(x) 3280 (%o1) ------ 3281 x 3282 (%i2) diff (exp (x*y)); 3283 x y x y 3284 (%o2) x %e del(y) + y %e del(x) 3285 (%i3) diff (x*y*z); 3286 (%o3) x y del(z) + x z del(y) + y z del(x) 3287 3288 -- Fun��o da class: delta (<t>) 3289 A fun��o Delta de Dirac. 3290 3291 Correntemente somente 'laplace' sabe sobre a fun��o 'delta'. 3292 3293 Exemplo: 3294 3295 (%i1) laplace (delta (t - a) * sin(b*t), t, s); 3296 Is a positive, negative, or zero? 3297 3298 p; 3299 - a s 3300 (%o1) sin(a b) %e 3301 3302 -- Vari�vel da class: dependencies 3303 Valor por omiss�o: '[]' 3304 3305 'dependencies' � a lista de �tomos que possuem depend�ncias 3306 funcionais, atribu�das por 'depends' ou 'gradef'. A lista 3307 'dependencies' � cumulativa: cada chamada a 'depends' ou a 'gradef' 3308 anexa �tens adicionais. 3309 3310 Veja 'depends' e 'gradef'. 3311 3312 -- Fun��o da class: depends (<f_1>, <x_1>, ..., <f_n>, <x_n>) 3313 Declara depend�cias funcionais entre vari�veis para o prop�sito de 3314 calcular derivadas. Na aus�ncia de depend�cias declaradas, 'diff 3315 (f, x)' retorna zero. Se 'depends (f, x)' for declarada, 'diff (f, 3316 x)' retorna uma derivada simb�lica (isto �, um substantivo 'diff'). 3317 3318 Cada argumento <f_1>, <x_1>, etc., pode ser o nome de uma vari�vel 3319 ou array, ou uma lista de nomes. Todo elemento de <f_i> (talvez 3320 apenas um elemento simples) � declarado para depender de todo 3321 elemento de <x_i> (talvez apenas um elemento simples). Se algum 3322 <f_i> for o nome de um array ou cont�m o nome de um array, todos os 3323 elementos do array dependem de <x_i>. 3324 3325 'diff' reconhece depend�ncias indirectas estabelecidas por 3326 'depends' e aplica a regra da cadeia nesses casos. 3327 3328 'remove (<f>, dependency)' remove todas as depend�ncias declaradas 3329 para <f>. 3330 3331 'depends' retorna uma lista de depend�ncias estabelecidas. As 3332 depend�ncias s�o anexadas � vari�vel global 'dependencies'. 3333 'depends' avalia seus argumentos. 3334 3335 'diff' � o �nico comando Maxima que reconhece depend�ncias 3336 estabelecidas por 'depends'. Outras fun��es ('integrate', 3337 'laplace', etc.) somente reconhecem depend�ncias explicitamente 3338 representadas por seus argumentos. Por exemplo, 'integrate' n�o 3339 reconhece a depend�ncia de 'f' sobre 'x' a menos que explicitamente 3340 representada como 'integrate (f(x), x)'. 3341 3342 (%i1) depends ([f, g], x); 3343 (%o1) [f(x), g(x)] 3344 (%i2) depends ([r, s], [u, v, w]); 3345 (%o2) [r(u, v, w), s(u, v, w)] 3346 (%i3) depends (u, t); 3347 (%o3) [u(t)] 3348 (%i4) dependencies; 3349 (%o4) [f(x), g(x), r(u, v, w), s(u, v, w), u(t)] 3350 (%i5) diff (r.s, u); 3351 dr ds 3352 (%o5) -- . s + r . -- 3353 du du 3354 3355 (%i6) diff (r.s, t); 3356 dr du ds du 3357 (%o6) -- -- . s + r . -- -- 3358 du dt du dt 3359 3360 (%i7) remove (r, dependency); 3361 (%o7) done 3362 (%i8) diff (r.s, t); 3363 ds du 3364 (%o8) r . -- -- 3365 du dt 3366 3367 -- Vari�vel de op��o da class: derivabbrev 3368 Valor por omiss�o: 'false' 3369 3370 Quando 'derivabbrev' for 'true', derivadas simb�licas (isto �, 3371 substantivos 'diff') s�o mostradas como subscritos. De outra 3372 forma, derivadas s�o mostradas na nota��o de Leibniz 'dy/dx'. 3373 3374 -- Fun��o da class: derivdegree (<expr>, <y>, <x>) 3375 Retorna o maior grau de uma derivada da vari�vel dependente <y> com 3376 rela��o � vari�vel independente <x> ocorrendo em <expr>. 3377 3378 Exemplo: 3379 (%i1) 'diff (y, x, 2) + 'diff (y, z, 3) + 'diff (y, x) * x^2; 3380 3 2 3381 d y d y 2 dy 3382 (%o1) --- + --- + x -- 3383 3 2 dx 3384 dz dx 3385 (%i2) derivdegree (%, y, x); 3386 (%o2) 2 3387 3388 -- Fun��o da class: derivlist (<var_1>, ..., <var_k>) 3389 Causa somente diferencia��es com rela��o �s vari�veis indicadas, 3390 dentro do comando 'ev'. 3391 3392 -- Vari�vel de op��o da class: derivsubst 3393 Valor por omiss�o: 'false' 3394 3395 Quando 'derivsubst' for 'true', uma substiru���o n�o sint�tica tais 3396 como 'subst (x, 'diff (y, t), 'diff (y, t, 2))' retorna ''diff (x, 3397 t)'. 3398 3399 -- Fun��o da class: diff (<expr>, <x_1>, <n_1>, ..., <x_m>, <n_m>) 3400 -- Fun��o da class: diff (<expr>, <x>, <n>) 3401 -- Fun��o da class: diff (<expr>, <x>) 3402 -- Fun��o da class: diff (<expr>) 3403 Retorna uma derivada ou diferencial de <expr> com rela��o a alguma 3404 ou todas as vari�veis em <expr>. 3405 3406 'diff (<expr>, <x>, <n>)' retorna a <n>'�sima derivada de <expr> 3407 com rela��o a <x>. 3408 3409 'diff (<expr>, <x_1>, <n_1>, ..., <x_m>, <n_m>)' retorna a derivada 3410 parcial mista de <expr> com rela��o a <x_1>, ..., <x_m>. Isso � 3411 equivalente a 'diff (... (diff (<expr>, <x_m>, <n_m>) ...), <x_1>, 3412 <n_1>)'. 3413 3414 'diff (<expr>, <x>)' retorna a primeira derivada de <expr> com 3415 rela��o a uma vari�vel <x>. 3416 3417 'diff (<expr>)' retorna a diferencial total de <expr>, isto �, a 3418 soma das derivadas de <expr> com rela��o a cada uma de suas 3419 vari�veis vezes a diferencial 'del' de cada vari�vel. Nenhuma 3420 simplifica��o adicional de 'del' � oferecida. 3421 3422 A forma substantiva de 'diff' � requerida em alguns contextos, tal 3423 como declarando uma equa��o diferencial. Nesses casos, 'diff' pode 3424 ser colocado ap�strofo (com ''diff') para retornar a forma 3425 substantiva em lugar da realiza��o da diferencia��o. 3426 3427 Quando 'derivabbrev' for 'true', derivadas s�o mostradas como 3428 subscritos. De outra forma, derivadas s�o mostradas na nota��o de 3429 Leibniz, 'dy/dx'. 3430 3431 Exemplos: 3432 3433 (%i1) diff (exp (f(x)), x, 2); 3434 2 3435 f(x) d f(x) d 2 3436 (%o1) %e (--- (f(x))) + %e (-- (f(x))) 3437 2 dx 3438 dx 3439 (%i2) derivabbrev: true$ 3440 (%i3) 'integrate (f(x, y), y, g(x), h(x)); 3441 h(x) 3442 / 3443 [ 3444 (%o3) I f(x, y) dy 3445 ] 3446 / 3447 g(x) 3448 (%i4) diff (%, x); 3449 h(x) 3450 / 3451 [ 3452 (%o4) I f(x, y) dy + f(x, h(x)) h(x) - f(x, g(x)) g(x) 3453 ] x x x 3454 / 3455 g(x) 3456 3457 Para o pacote tensor, as seguintes modifica��es foram incorporadas: 3458 3459 (1) As derivadas de quaisquer objectos indexados em <expr> ter�o as 3460 vari�veis <x_i> anexadas como argumentos adicionais. Ent�o todos 3461 os �ndices de derivada ser�o ordenados. 3462 3463 (2) As vari�veis <x_i> podem ser inteiros de 1 at� o valor de uma 3464 vari�vel 'dimension' [valor padr�o: 4]. Isso far� com que a 3465 diferencia��o seja conclu�da com rela��o aos <x_i>'�simos membros 3466 da lista 'coordinates' que pode ser escolhida para uma lista de 3467 nomes de coordenadas, e.g., '[x, y, z, t]'. Se 'coordinates' for 3468 associada a uma vari�vel at�mica, ent�o aquela vari�vel subscrita 3469 por <x_i> ser� usada para uma vari�vel de diferencia��o. Isso 3470 permite um array de nomes de coordenadas ou nomes subscritos como 3471 'X[1]', 'X[2]', ... sejam usados. Se 'coordinates' n�o foram 3472 atribu�das um valor, ent�o as vari�veis seram tratadas como em (1) 3473 acima. 3474 3475 -- S�mbolo especial da class: diff 3476 3477 Quando 'diff' est� presente como um 'evflag' em chamadas para 'ev', 3478 Todas as diferencia��es indicadas em 'expr' s�o realizdas. 3479 3480 -- Fun��o da class: dscalar (<f>) 3481 Aplica o d'Alembertiano escalar para a fun��o escalar <f>. 3482 3483 'load ("ctensor")' chama essa fun��o. 3484 3485 -- Fun��o da class: express (<expr>) 3486 3487 Expande o substantivo do operador diferencial em express�es em 3488 termos de derivadas parciais. 'express' reconhece os operadores 3489 'grad', 'div', 'curl', 'laplacian'. 'express' tamb�m expande o 3490 produto do X '~'. 3491 3492 Derivadas simb�licas (isto �, substantivos 'diff') no valor de 3493 retorno de 'express' podem ser avaliadas inclu�ndo 'diff' na 3494 chamada � fun��o 'ev' ou na linha de comando. Nesse contexto, 3495 'diff' age como uma 'evfun'. 3496 3497 'load ("vect")' chama essa fun��o. 3498 3499 Exemplos: 3500 3501 (%i1) load ("vect")$ 3502 (%i2) grad (x^2 + y^2 + z^2); 3503 2 2 2 3504 (%o2) grad (z + y + x ) 3505 (%i3) express (%); 3506 d 2 2 2 d 2 2 2 d 2 2 2 3507 (%o3) [-- (z + y + x ), -- (z + y + x ), -- (z + y + x )] 3508 dx dy dz 3509 (%i4) ev (%, diff); 3510 (%o4) [2 x, 2 y, 2 z] 3511 (%i5) div ([x^2, y^2, z^2]); 3512 2 2 2 3513 (%o5) div [x , y , z ] 3514 (%i6) express (%); 3515 d 2 d 2 d 2 3516 (%o6) -- (z ) + -- (y ) + -- (x ) 3517 dz dy dx 3518 (%i7) ev (%, diff); 3519 (%o7) 2 z + 2 y + 2 x 3520 (%i8) curl ([x^2, y^2, z^2]); 3521 2 2 2 3522 (%o8) curl [x , y , z ] 3523 (%i9) express (%); 3524 d 2 d 2 d 2 d 2 d 2 d 2 3525 (%o9) [-- (z ) - -- (y ), -- (x ) - -- (z ), -- (y ) - -- (x )] 3526 dy dz dz dx dx dy 3527 (%i10) ev (%, diff); 3528 (%o10) [0, 0, 0] 3529 (%i11) laplacian (x^2 * y^2 * z^2); 3530 2 2 2 3531 (%o11) laplacian (x y z ) 3532 (%i12) express (%); 3533 2 2 2 3534 d 2 2 2 d 2 2 2 d 2 2 2 3535 (%o12) --- (x y z ) + --- (x y z ) + --- (x y z ) 3536 2 2 2 3537 dz dy dx 3538 (%i13) ev (%, diff); 3539 2 2 2 2 2 2 3540 (%o13) 2 y z + 2 x z + 2 x y 3541 (%i14) [a, b, c] ~ [x, y, z]; 3542 (%o14) [a, b, c] ~ [x, y, z] 3543 (%i15) express (%); 3544 (%o15) [b z - c y, c x - a z, a y - b x] 3545 3546 -- Fun��o da class: gradef (<f>(<x_1>, ..., <x_n>), <g_1>, ..., <g_m>) 3547 -- Fun��o da class: gradef (<a>, <x>, <expr>) 3548 Define as derivadas parciais (i.e., os componentes do gradiente) da 3549 fun��o <f> ou vari�vel <a>. 3550 3551 'gradef (<f>(<x_1>, ..., <x_n>), <g_1>, ..., <g_m>)' define 3552 'd<f>/d<x_i>' como <g_i>, onde <g_i> � uma express�o; <g_i> pode 3553 ser uma chamada de fun��o, mas n�o o nome de uma fun��o. O n�mero 3554 de derivadas parciais <m> pode ser menor que o n�mero de argumentos 3555 <n>, nesses casos derivadas s�o definidas com rela��o a <x_1> at� 3556 <x_m> somente. 3557 3558 'gradef (<a>, <x>, <expr>)' define uma derivada de vari�vel <a> com 3559 rela��o a <x> como <expr>. Isso tamb�m estabelece a depend�ncia de 3560 <a> sobre <x> (via 'depends (<a>, <x>)'). 3561 3562 O primeiro argumento '<f>(<x_1>, ..., <x_n>)' ou <a> � acompanhado 3563 de ap�strofo, mas os argumentos restantes <g_1>, ..., <g_m> s�o 3564 avaliados. 'gradef' retorna a fun��o ou vari�vel para as quais as 3565 derivadas parciais s�o definidas. 3566 3567 'gradef' pode redefinir as derivadas de fun��es internas do Maxima. 3568 Por exemplo, 'gradef (sin(x), sqrt (1 - sin(x)^2))' redefine uma 3569 derivada de 'sin'. 3570 3571 'gradef' n�o pode definir derivadas parciais para um fun��o 3572 subscrita. 3573 3574 'printprops ([<f_1>, ..., <f_n>], gradef)' mostra as derivadas 3575 parciais das fun��es <f_1>, ..., <f_n>, como definidas por 3576 'gradef'. 3577 3578 'printprops ([<a_n>, ..., <a_n>], atomgrad)' mostra as derivadas 3579 parciais das vari�veis <a_n>, ..., <a_n>, como definidas por 3580 'gradef'. 3581 3582 'gradefs' � a lista de fun��es para as quais derivadas parciais 3583 foram definidas por 'gradef'. 'gradefs' n�o inclui quaisquer 3584 vari�veis para quais derivadas parciais foram definidas por 3585 'gradef'. 3586 3587 Gradientes s�o necess�rios quando, por exemplo, uma fun��o n�o � 3588 conhecida explicitamente mas suas derivadas primeiras s�o e isso � 3589 desejado para obter derivadas de ordem superior. 3590 3591 -- Vari�vel de sistema da class: gradefs 3592 Valor por omiss�o: '[]' 3593 3594 'gradefs' � a lista de fun��es para as quais derivadas parciais 3595 foram definidas por 'gradef'. 'gradefs' n�o inclui quaisquer 3596 vari�veis para as quais derivadas parciais foram deinidas por 3597 'gradef'. 3598 3599 -- Fun��o da class: laplace (<expr>, <t>, <s>) 3600 Tenta calcular a transformada de Laplace de <expr> com rela��o a 3601 uma vari�vel <t> e par�metro de transforma��o <s>. Se 'laplace' 3602 n�o pode achar uma solu��o, um substantivo ''laplace' � retornado. 3603 3604 'laplace' reconhece em <expr> as fun��es 'delta', 'exp', 'log', 3605 'sin', 'cos', 'sinh', 'cosh', e 'erf', tamb�m 'derivative', 3606 'integrate', 'sum', e 'ilt'. Se algumas outras fun��es estiverem 3607 presente, 'laplace' pode n�o ser habilitada a calcular a 3608 tranformada. 3609 3610 <expr> pode tamb�m ser uma equa��o linear, diferencial de 3611 coeficiente contante no qual caso o 'atvalue' da vari�vel 3612 dependente � usado. O requerido 'atvalue' pode ser fornecido ou 3613 antes ou depois da transformada ser calculada. Uma vez que as 3614 condi��es iniciais devem ser especificadas em zero, se um teve 3615 condi��es de limite impostas em qualquer outro lugar ele pode impor 3616 essas sobre a solu��o geral e eliminar as constantes resolvendo a 3617 solu��o geral para essas e substituindo seus valores de volta. 3618 3619 'laplace' reconhece integrais de convolu��o da forma 'integrate 3620 (f(x) * g(t - x), x, 0, t)'; outros tipos de convolu��es n�o s�o 3621 reconhecidos. 3622 3623 Rela��es funcionais devem ser explicitamente representadas em 3624 <expr>; rela��es impl�citas, estabelecidas por 'depends', n�o s�o 3625 reconhecidas. Isto �, se <f> depende de <x> e <y>, 'f (x, y)' deve 3626 aparecer em <expr>. 3627 3628 Veja tamb�m 'ilt', a transformada inversa de Laplace. 3629 3630 Exemplos: 3631 3632 (%i1) laplace (exp (2*t + a) * sin(t) * t, t, s); 3633 a 3634 %e (2 s - 4) 3635 (%o1) --------------- 3636 2 2 3637 (s - 4 s + 5) 3638 (%i2) laplace ('diff (f (x), x), x, s); 3639 (%o2) s laplace(f(x), x, s) - f(0) 3640 (%i3) diff (diff (delta (t), t), t); 3641 2 3642 d 3643 (%o3) --- (delta(t)) 3644 2 3645 dt 3646 (%i4) laplace (%, t, s); 3647 ! 3648 d ! 2 3649 (%o4) - -- (delta(t))! + s - delta(0) s 3650 dt ! 3651 !t = 0 3652 3653 3654File: maxima.info, Node: Integra��o, Next: Equa��es, Prev: Diferencia��o, Up: Top 3655 365620, Integra��o 3657************** 3658 3659* Menu: 3660 3661* Introdu��o a Integra��o:: 3662* Defini��es para Integra��o:: 3663* Introdu��o a QUADPACK:: 3664* Defini��es para QUADPACK:: 3665 3666 3667File: maxima.info, Node: Introdu��o a Integra��o, Next: Defini��es para Integra��o, Prev: Integra��o, Up: Integra��o 3668 366920.1, Introdu��o a Integra��o 3670============================= 3671 3672Maxima tem muitas rotinas para realizar integra��o. A fun��o 3673'integrate' faz uso de muitas dessas. Exite tamb�m o pacote 'antid', 3674que manuseia uma fun��o n�o especificada (e suas derivadas, certamente). 3675Para usos numericos, existe um conjunto de integradores adaptativos de 3676QUADPACK, a saber 'quad_qag', 'quad_qags', etc., os quais s�o descritos 3677sob o t�pico 'QUADPACK'. Fun��es hipergeom�tricas est�o sendo 3678trabalhadas, veja 'specint' para detalhes. Geralmente falando, Maxima 3679somente calcula integrais que sejam integr�veis em termos de "fun��es 3680elementares" (fun��es racionais, trigonometricas, logar�tmicas, 3681exponenciais, radicais, etc.) e umas poucas extens�es (fun��o de erro, 3682dilogaritmo). N� consegue calcular integrais em termos de fun��es 3683desconhecidas tais como 'g(x)' e 'h(x)'. 3684 3685 3686File: maxima.info, Node: Defini��es para Integra��o, Next: Introdu��o a QUADPACK, Prev: Introdu��o a Integra��o, Up: Integra��o 3687 368820.2, Defini��es para Integra��o 3689================================ 3690 3691 -- Fun��o da class: changevar (<expr>, <f(x,y)>, <y>, <x>) 3692 Faz a mudan�a de vari�vel dada por '<f(x,y)> = 0' em todos os 3693 integrais que existam em <expr> com integra��o em rela��o a <x>. A 3694 nova vari�vel � <y>. 3695 3696 (%i1) assume(a > 0)$ 3697 (%i2) 'integrate (%e**sqrt(a*y), y, 0, 4); 3698 4 3699 / 3700 [ sqrt(a) sqrt(y) 3701 (%o2) I %e dy 3702 ] 3703 / 3704 0 3705 (%i3) changevar (%, y-z^2/a, z, y); 3706 0 3707 / 3708 [ abs(z) 3709 2 I z %e dz 3710 ] 3711 / 3712 - 2 sqrt(a) 3713 (%o3) - ---------------------------- 3714 a 3715 3716 Uma express�o contendo uma forma substantiva, tais como as 3717 inst�ncias de ''integrate' acima, pode ser avaliada por 'ev' com o 3718 sinalizador 'nouns'. Por exemplo, a express�o retornada por 3719 'changevar' acima pode ser avaliada por 'ev (%o3, nouns)'. 3720 3721 'changevar' pode tamb�m ser usada para altera��es nos �ndices de 3722 uma soma ou de um produto. No entanto, � de salientar que quando 3723 seja feita uma altera��o a uma soma ou produto, essa mudan�a dever� 3724 ser apenas uma desloca��o do �ndice, nomeadamente, 'i = j+ ...', e 3725 n�o uma fun��o de grau superior. Por exemplo, 3726 3727 (%i4) sum (a[i]*x^(i-2), i, 0, inf); 3728 inf 3729 ==== 3730 \ i - 2 3731 (%o4) > a x 3732 / i 3733 ==== 3734 i = 0 3735 (%i5) changevar (%, i-2-n, n, i); 3736 inf 3737 ==== 3738 \ n 3739 (%o5) > a x 3740 / n + 2 3741 ==== 3742 n = - 2 3743 3744 -- Fun��o da class: dblint (<f>, <r>, <s>, <a>, <b>) 3745 Esta � uma rotina de integral duplo que foi escrita na linguagem de 3746 alto n�vel do Maxima sendo logo traduzida e compilada para 3747 linguagem de m�quina. Use 'load (dblint)' para poder usar este 3748 pacote. Esta fun��o usa o m�todo da regra de Simpson em ambas as 3749 dire��es x e y para calcular 3750 3751 /b /s(x) 3752 | | 3753 | | f(x,y) dy dx 3754 | | 3755 /a /r(x) 3756 3757 A fun��o <f> deve ser uma fun��o traduzida ou compilada de duas 3758 vari�veis, e <r> e <s> devem cada uma ser uma fun��o traduzida ou 3759 compilada de uma vari�vel, enquanto <a> e <b> devem ser n�meros em 3760 ponto flutuante. A rotina tem duas vari�veis globais que 3761 determinam o n�mero de divis�es dos intervalos x e y: 'dblint_x' e 3762 'dblint_y', ambas as quais s�o inicialmente 10, e podem ser 3763 alteradas independentemente para outros valores inteiros (existem 3764 '2*dblint_x+1' pontos calculados na dire��o x , e '2*dblint_y+1' na 3765 dire��o y). A rotina subdivide o eixo X e ent�o para cada valor de 3766 X primeiro calcula '<r>(x)' e '<s>(x)'; ent�o o eixo Y entre 3767 '<r>(x)' e '<s>(x)' � subdividido e o integral ao longo do eixo Y � 3768 executado usando a regra de Simpson; ent�o o integral ao longo do 3769 eixo X � conclu�do usando a regra de Simpson com os valores da 3770 fun��o sendo os integrais em Y. Esse procedimento pode ser 3771 numericamente inst�vel por v�rias raz�es, mas razo�velmente r�pido: 3772 evite usar este progrma sobre fun��es altamente oscilat�rias e 3773 fun��es com singularidades (p�los ou pontos de ramifica��o na 3774 regi�o). Os integrais em Y dependem de quanto fragmentados 3775 '<r>(x)' e '<s>(x)' sejam; assim, se a dist�ncia '<s>(x) - <r>(x)' 3776 variar rapidamente com X, nesse ponto podr�o surgir erros 3777 substanciais provenientes de trunca��o com saltos de diferentes 3778 tamanhos nos v�rios integrais Y. Pode incrementar-se 'dblint_x' e 3779 'dblint_y' numa tentativa para melhorar a converg�ncia da regi�o, 3780 com um aumento no tempo de computa��o. Os valores da fun��o n�o 3781 s�o guardados, portanto se a fun��o desperdi�r muito tempo, ter� de 3782 esperar pela re-computa��o cada vez que mudar qualquer coisa 3783 (pedimos desculpa por esse facto). � necess�rio que as fun��es 3784 <f>, <r>, e <s> sejam ainda traduzidas ou compiladas previamente 3785 chamando 'dblint'. Isso resultar� em ordens de magnitude de 3786 melhoramentos de velocidade sobre o c�digo interpretado em muitos 3787 casos! 3788 3789 'demo (dblint)' executa uma demonstra��o de 'dblint' aplicado a um 3790 problema exemplo. 3791 3792 -- Fun��o da class: defint (<expr>, <x>, <a>, <b>) 3793 Tenta calcular um integral definido. 'defint' � chamada por 3794 'integrate' quando limites de integra��o s�o especificados, i.e., 3795 quando 'integrate' � chamado como 'integrate (<expr>, <x>, <a>, 3796 <b>)'. Dessa forma do ponto de vista do utilizador, isso � 3797 suficiente para chamar 'integrate'. 3798 3799 'defint' retorna uma express�o simb�lica, e executa um dos dois: ou 3800 calcula o integral ou a forma substantiva do integral. Veja 3801 'quad_qag' e fun��es rellacionadas para aproxima��o num�rica de 3802 integrais definidos. 3803 3804 -- Fun��o da class: erf (<x>) 3805 Representa a fun��o de erro, cuja derivada �: 3806 '2*exp(-x^2)/sqrt(%pi)'. 3807 3808 -- Vari�vel de op��o da class: erfflag 3809 Valor por omiss�o: 'true' 3810 3811 Quando 'erfflag' � 'false', previne 'risch' da introdu��o da fun��o 3812 'erf' na resposta se n�o houver nenhum no integrando para come�ar. 3813 3814 -- Fun��o da class: ilt (<expr>, <t>, <s>) 3815 Calcula a transforma��o inversa de Laplace de <expr> em rela��o a 3816 <t> e par�metro <s>. <expr> deve ser uma raz�o de polin�mios cujo 3817 denominador tem somente factores lineares e quadr�ticos. Usando a 3818 fun��es 'laplace' e 'ilt' juntas com as fun��es 'solve' ou 3819 'linsolve' o utilizador pode resolver uma diferencial simples ou 3820 uma equa��o integral de convolu��o ou um conjunto delas. 3821 3822 (%i1) 'integrate (sinh(a*x)*f(t-x), x, 0, t) + b*f(t) = t**2; 3823 t 3824 / 3825 [ 2 3826 (%o1) I f(t - x) sinh(a x) dx + b f(t) = t 3827 ] 3828 / 3829 0 3830 (%i2) laplace (%, t, s); 3831 a laplace(f(t), t, s) 2 3832 (%o2) b laplace(f(t), t, s) + --------------------- = -- 3833 2 2 3 3834 s - a s 3835 (%i3) linsolve ([%], ['laplace(f(t), t, s)]); 3836 2 2 3837 2 s - 2 a 3838 (%o3) [laplace(f(t), t, s) = --------------------] 3839 5 2 3 3840 b s + (a - a b) s 3841 (%i4) ilt (rhs (first (%)), s, t); 3842 Is a b (a b - 1) positive, negative, or zero? 3843 3844 pos; 3845 sqrt(a b (a b - 1)) t 3846 2 cosh(---------------------) 2 3847 b a t 3848 (%o4) - ----------------------------- + ------- 3849 3 2 2 a b - 1 3850 a b - 2 a b + a 3851 3852 2 3853 + ------------------ 3854 3 2 2 3855 a b - 2 a b + a 3856 3857 -- Fun��o da class: integrate (<expr>, <x>) 3858 -- Fun��o da class: integrate (<expr>, <x>, <a>, <b>) 3859 Tenta s�mbolicamente calcular o integral de <expr> em rela��o a 3860 <x>. 'integrate (<expr>, <x>)' � um integral indefinido, enquanto 3861 'integrate (<expr>, <x>, <a>, <b>)' � um integral definido, com 3862 limites de integra��o <a> e <b>. Os limites n�o poderam conter 3863 <x>, embora 'integrate' n�o imponha essa restri��o. <a> n�o 3864 precisa ser menor que <b>. Se <b> � igual a <a>, 'integrate' 3865 retorna zero. 3866 3867 Veja 'quad_qag' e fun��es relacionadas para aproxima��o num�rica de 3868 integrais definidos. Veja 'residue' para computa��o de res�duos 3869 (integra��o complexa). Veja 'antid' para uma forma alternativa de 3870 calcular integrais indefinidos. 3871 3872 O integral (uma express�o livre de 'integrate') � calculado se 3873 'integrate' for bem sucedido. De outra forma o valor de retorno � 3874 a forma substantiva do integral (o operador com ap�strofo 3875 ''integrate') ou uma express�o contendo uma ou mais formas 3876 substantivas. A forma substantiva de 'integrate' � apresentada com 3877 um s�mbolo de integra��o. 3878 3879 Em algumas circunst�ncias isso � �til para construir uma forma 3880 substantiva manualmente, colocando em 'integrate' um ap�strofo, 3881 e.g., ''integrate (<expr>, <x>)'. Por exemplo, o integral pode 3882 depender de alguns par�metos que n�o est�o ainda calculados. A 3883 forma substantiva pode ser aplicada a seus argumentos por 'ev (<i>, 3884 nouns)' onde <i> � a forma substantiva de interesse. 3885 3886 'integrate' calcula integrais definidos separadamente dos 3887 indefinidos, e utiliza uma gama de heur�sticas para simplificar 3888 cada caso. Casos especiais de integrais definidos incluem limites 3889 de integra��o iguais a zero ou infinito ('inf' ou 'minf'), fun��es 3890 trigonom�tricas com limites de integra��o iguais a zero e '%pi' ou 3891 '2 %pi', fun��es racionais, integrais relacionados com as 3892 defini��es das fun��es 'beta' e 'psi', e alguns integrais 3893 logar�tmicos e trigonom�tricos. O processamento de fun��es 3894 racionais pode incluir c�lculo de res�duos. Se um caso especial 3895 aplic�vel n�o for encontrado, ser� feita uma tentativa para 3896 calcular o integral indefinido e avali�-lo nos limites de 3897 integra��o. Isso pode incluir o c�lculo de um limite nos casos em 3898 que um dos limites do integral for para infinito ou menos infinito; 3899 veja tamb�m 'ldefint'. 3900 3901 Casos especiais de integrais indefinidos incluem fun��es 3902 trigonom�tricas, exponenciais e fun��es logar�tmicas, e fun��es 3903 racionais. 'integrate' pode tamb�m fazer uso de uma pequena tabela 3904 de integais elementares. 3905 3906 'integrate' pode realizar uma mudan�a de vari�vel se o integrando 3907 tiver a forma 'f(g(x)) * diff(g(x), x)'. 'integrate' tenta achar 3908 uma subexpress�o 'g(x)' de forma que a derivada de 'g(x)' divida o 3909 integrando. Essa busca pode fazer uso de derivadas definidas pela 3910 fun��o 'gradef'. Veja tamb�m 'changevar' e 'antid'. 3911 3912 Se nenhum dos procedimentos heur�sticos conseguir calcular o 3913 integral indefinido, o algoritmo de Risch � executado. O 3914 sinalizador 'risch' pode ser utilizado como um par�metro para 'ev', 3915 ou na linha de comando, nomeadamente, 'ev (integrate (<expr>, <x>), 3916 risch)' ou 'integrate (<expr>, <x>), risch'. Se 'risch' estiver 3917 presente, 'integrate' chamar� a fun��o 'risch' sem tentar 3918 heur�sticas primeiro. Veja tamb�m 'risch'. 3919 3920 'integrate' trabalha somente com rela��es funcionais representadas 3921 explicitamente com a nota��o 'f(x)'. 'integrate' n�o respeita 3922 depend�ncias implicitas estabelecidas pela fun��o 'depends'. 3923 'integrate' pode necessitar conhecer alguma propriedade de um 3924 par�metro no integrando. 'integrate' ir� primeiro consultar a base 3925 de dados do 'assume', e , se a vari�vel de interesse n�o est� l�, 3926 'integrate' perguntar� ao utilizador. Dependendo da pergunta, 3927 respostas adequadas s�o 'yes;' ou 'no;', ou 'pos;', 'zero;', ou 3928 'neg;'. 3929 3930 'integrate' n�o �, por padr�o, declarada ser linear. Veja 3931 'declare' e 'linear'. 3932 3933 'integrate' tenta integra��o por partes somente em uns poucos casos 3934 especiais. 3935 3936 Exemplos: 3937 3938 * Integrais definidos e indefinidos elementares. 3939 3940 (%i1) integrate (sin(x)^3, x); 3941 3 3942 cos (x) 3943 (%o1) ------- - cos(x) 3944 3 3945 (%i2) integrate (x/ sqrt (b^2 - x^2), x); 3946 2 2 3947 (%o2) - sqrt(b - x ) 3948 (%i3) integrate (cos(x)^2 * exp(x), x, 0, %pi); 3949 %pi 3950 3 %e 3 3951 (%o3) ------- - - 3952 5 5 3953 (%i4) integrate (x^2 * exp(-x^2), x, minf, inf); 3954 sqrt(%pi) 3955 (%o4) --------- 3956 2 3957 3958 * Uso de 'assume' e d�vida interativa. 3959 3960 (%i1) assume (a > 1)$ 3961 (%i2) integrate (x**a/(x+1)**(5/2), x, 0, inf); 3962 2 a + 2 3963 Is ------- an integer? 3964 5 3965 3966 no; 3967 Is 2 a - 3 positive, negative, or zero? 3968 3969 neg; 3970 3 3971 (%o2) beta(a + 1, - - a) 3972 2 3973 3974 * Mudan�a de vari�vel. Existem duas mudan�as de vari�vel nesse 3975 exemplo: uma usando a derivada estabelecida por 'gradef', e 3976 uma usando a deriva��o 'diff(r(x))' de uma fun��o n�o 3977 especificada 'r(x)'. 3978 3979 (%i3) gradef (q(x), sin(x**2)); 3980 (%o3) q(x) 3981 (%i4) diff (log (q (r (x))), x); 3982 d 2 3983 (-- (r(x))) sin(r (x)) 3984 dx 3985 (%o4) ---------------------- 3986 q(r(x)) 3987 (%i5) integrate (%, x); 3988 (%o5) log(q(r(x))) 3989 3990 * O resultado cont�m a forma substantiva ''integrate'. Neste 3991 exemplo, Maxima pode extrair um factor do denominador de uma 3992 fun��o racional, mas n�o pode factorizar o restante ou de 3993 outra forma achar o seu integral. 'grind' mostra a forma 3994 substantiva ''integrate' no resultado. Veja tamb�m 3995 'integrate_use_rootsof' para mais informa�es sobre integrais 3996 de fun��es racionais. 3997 3998 (%i1) expand ((x-4) * (x^3+2*x+1)); 3999 4 3 2 4000 (%o1) x - 4 x + 2 x - 7 x - 4 4001 (%i2) integrate (1/%, x); 4002 / 2 4003 [ x + 4 x + 18 4004 I ------------- dx 4005 ] 3 4006 log(x - 4) / x + 2 x + 1 4007 (%o2) ---------- - ------------------ 4008 73 73 4009 (%i3) grind (%); 4010 log(x-4)/73-('integrate((x^2+4*x+18)/(x^3+2*x+1),x))/73$ 4011 4012 * Definindo uma fun��o em termos de um integral. O corpo de uma 4013 fun��o n�o � avaliado quando a fun��o � definida. Dessa forma 4014 o corpo de 'f_1' nesse exemplo cont�m a forma substantiva de 4015 'integrate'. O operador de doi ap�strofos seguidos '''' faz 4016 com que o integral seja avaliado, e o resultado se 4017 transforme-se no corpo de 'f_2'. 4018 4019 (%i1) f_1 (a) := integrate (x^3, x, 1, a); 4020 3 4021 (%o1) f_1(a) := integrate(x , x, 1, a) 4022 (%i2) ev (f_1 (7), nouns); 4023 (%o2) 600 4024 (%i3) /* Note parentheses around integrate(...) here */ 4025 f_2 (a) := ''(integrate (x^3, x, 1, a)); 4026 4 4027 a 1 4028 (%o3) f_2(a) := -- - - 4029 4 4 4030 (%i4) f_2 (7); 4031 (%o4) 600 4032 4033 -- Vari�vel de sistema da class: integration_constant_counter 4034 Valor por omiss�o: 0 4035 4036 'integration_constant_counter' � um contador que � actualizado a 4037 cada vez que uma constante de integra��o (nomeada pelo Maxima, por 4038 exemplo, 'integrationconstant1') � introduzida numa express�o 4039 obtida ap�s a integra��o indefinida de uma equa��o. 4040 4041 -- Vari�vel de op��o da class: integrate_use_rootsof 4042 Valor por omiss�o: 'false' 4043 4044 Quando 'integrate_use_rootsof' � 'true' e o denominador de uma 4045 fun��o racional n�o pode ser factorizado, 'integrate' retorna o 4046 integral em uma forma que � uma soma sobre as ra�zes (n�o 4047 conhecidas ainda) do denominador. 4048 4049 Por exemplo, com 'integrate_use_rootsof' escolhido para 'false', 4050 'integrate' retorna um integral n�o resolvido de uma fun��o 4051 racional na forma substantiva: 4052 4053 (%i1) integrate_use_rootsof: false$ 4054 (%i2) integrate (1/(1+x+x^5), x); 4055 / 2 4056 [ x - 4 x + 5 4057 I ------------ dx 2 x + 1 4058 ] 3 2 2 5 atan(-------) 4059 / x - x + 1 log(x + x + 1) sqrt(3) 4060 (%o2) ----------------- - --------------- + --------------- 4061 7 14 7 sqrt(3) 4062 4063 Agora vamos escolher o sinalizador para ser true e a parte n�o 4064 resolvida do integral ser� escrito como uma soma sobre as ra�zes do 4065 denominador da fun��o racional: 4066 4067 (%i3) integrate_use_rootsof: true$ 4068 (%i4) integrate (1/(1+x+x^5), x); 4069 ==== 2 4070 \ (%r4 - 4 %r4 + 5) log(x - %r4) 4071 > ------------------------------- 4072 / 2 4073 ==== 3 %r4 - 2 %r4 4074 3 2 4075 %r4 in rootsof(%r4 - %r4 + 1, %r4) 4076 (%o4) ---------------------------------------------------------- 4077 7 4078 4079 2 x + 1 4080 2 5 atan(-------) 4081 log(x + x + 1) sqrt(3) 4082 - --------------- + --------------- 4083 14 7 sqrt(3) 4084 4085 Alternativamente o utilizador pode calcular as ra�zes do 4086 denominador separadamente, e ent�o expressar o integrando em termos 4087 dessas ra�zes, e.g., '1/((x - a)*(x - b)*(x - c))' ou '1/((x^2 - 4088 (a+b)*x + a*b)*(x - c))' se o denominador for um polin�mio c�bico. 4089 Algumas vezes isso ajudar� Maxima a obter resultados mais �teis. 4090 4091 -- Fun��o da class: ldefint (<expr>, <x>, <a>, <b>) 4092 Tenta calcular o integral definido de <expr> pelo uso de 'limit' 4093 para avaliar o integral indefinido <expr> em rela��o a <x> no 4094 limite superior <b> e no limite inferior <a>. Se isso falha para 4095 calcular o integral definido, 'ldefint' retorna uma express�o 4096 contendo limites como formas substantivas. 4097 4098 'ldefint' n�o � chamada por 'integrate', ent�o executando 'ldefint 4099 (<expr>, <x>, <a>, <b>)' pode retornar um resultado diferente de 4100 'integrate (<expr>, <x>, <a>, <b>)'. 'ldefint' sempre usa o mesmo 4101 m�todo para avaliar o integral definido, enquanto 'integrate' pode 4102 utilizar v�rias heur�sticas e pode reconhecer alguns casos 4103 especiais. 4104 4105 -- Fun��o da class: potential (<givengradient>) 4106 O c�lculo faz uso da vari�vel global 'potentialzeroloc[0]' que deve 4107 ser 'nonlist' ou da forma 4108 4109 [indeterminatej=express�oj, indeterminatek=express�ok, ...] 4110 4111 O formador sendo equivalente para a express�o nonlist para todos os 4112 lados direitos-manuseados mais tarde. Os lados direitos indicados 4113 s�o usados como o limite inferior de integra��o. O sucesso das 4114 integra��es pode depender de seus valores e de sua ordem. 4115 'potentialzeroloc' � inicialmente escolhido para 0. 4116 4117 -- Fun��o da class: residue (<expr>, <z>, <z_0>) 4118 Calcula o res�duo no plano complexo da express�o <expr> quando a 4119 vari�vel <z> assumes o valor <z_0>. O res�duo � o coeficiente de 4120 '(<z> - <z_0>)^(-1)' nas s�ries de Laurent para <expr>. 4121 4122 (%i1) residue (s/(s**2+a**2), s, a*%i); 4123 1 4124 (%o1) - 4125 2 4126 (%i2) residue (sin(a*x)/x**4, x, 0); 4127 3 4128 a 4129 (%o2) - -- 4130 6 4131 4132 -- Fun��o da class: risch (<expr>, <x>) 4133 Integra <expr> em rela��o a <x> usando um caso transcendental do 4134 algoritmo de Risch. (O caso alg�brico do algoritmo de Risch foi 4135 implementado.) Isso actualmente manuseia os casos de exponenciais 4136 aninhadas e logaritmos que a parte principal de 'integrate' n�o 4137 pode fazer. 'integrate' ir� aplicar automaticamente 'risch' se 4138 dados esses casos. 4139 4140 'erfflag', se 'false', previne 'risch' da introdu��o da fun��o 4141 'erf' na resposta se n�o for achado nenhum no integrando para 4142 come�ar. 4143 4144 (%i1) risch (x^2*erf(x), x); 4145 2 4146 3 2 - x 4147 %pi x erf(x) + (sqrt(%pi) x + sqrt(%pi)) %e 4148 (%o1) ------------------------------------------------- 4149 3 %pi 4150 (%i2) diff(%, x), ratsimp; 4151 2 4152 (%o2) x erf(x) 4153 4154 -- Fun��o da class: tldefint (<expr>, <x>, <a>, <b>) 4155 Equivalente a 'ldefint' com 'tlimswitch' escolhido para 'true'. 4156 4157 4158File: maxima.info, Node: Introdu��o a QUADPACK, Next: Defini��es para QUADPACK, Prev: Defini��es para Integra��o, Up: Integra��o 4159 416020.3, Introdu��o a QUADPACK 4161=========================== 4162 4163QUADPACK � uma colec��o de fun��es para a�lculo num�rico de integrais 4164definidos unidimensionais. O pacote QUADPACK resultou da jun��o de um 4165projeto de R. Piessens (1), E. de Doncker (2), C. Ueberhuber (3), e D. 4166Kahaner (4). 4167 4168A biblioteca QUADPACK incl�da no Maxima � uma tradu��o autom�tica (feita 4169atrav�s do programa 'f2cl') do c�digo fonte em de QUADPACK como aparece 4170na SLATEC Common Mathematical Library, Vers�o 4.1 (5). A biblioteca 4171Fortran SLATEC � datada de Julho de 1993, mas as fun��es QUADPACK foram 4172escritas alguns anos antes. Existe outra vers�o de QUADPACK em Netlib 4173(6); n�o est� claro no que aquela vers�o difere da vers�o existente em 4174SLATEC. 4175 4176As fun��es QUADPACK inclu�das no Maxima s�o toda autom�ticas, no sentido 4177de que essas fun��es tentam calcular um resultado para uma precis�o 4178espec�fica, requerendo um n�mero n�o especificado de avalia��es de 4179fun��o. A tradu��o do Lisp do Maxima da iblioteca QUADPACK tamb�m 4180inclui algumas fun�e~s n�o autom�ticas, mas elas n�o s�o expostas a 4181n�vel de Maxima. 4182 4183Informa��o adicionalsobre a bilioteca QUADPACK pode ser encontrada no 4184livro do QUADPACK (7). 4185 418620.3.1, Overview 4187---------------- 4188 4189'quad_qag' 4190 Integra��o de uma fun��o gen�rica sobre um intervalo finito. 4191 'quad_qag' implementa um integrador adaptativo globalmente simples 4192 usando a estrat�gia de Aind (Piessens, 1973). O chamador pode 4193 escolher entre 6 pares de formulas da quadratura de Gauss-Kronrod 4194 para a componente de avalia��o da regra. As regras de alto grau 4195 s�o adequadas para integrandos fortemente oscilantes. 4196 4197'quad_qags' 4198 Integra��o de uma fun��o gen�rica sob um intervalo finito. 4199 'quad_qags' implementa subdivis�o de intervalos globalmente 4200 adaptativos com extrapola��o (de Doncker, 1978) por meio do 4201 algoritmo de Epsilon (Wynn, 1956). 4202 4203'quad_qagi' 4204 Integra��o de uma fun��o gen�rica sobre um intervalo finito ou 4205 semi-finito. O intervalo � mapeado sobre um intervalo finito e 4206 ent�o a mesma estrat�gia de 'quad_qags' � aplicada. 4207 4208'quad_qawo' 4209 Integra��o de cos(omega x) f(x) ou sin(omega x) f(x) sobre um 4210 intervalo finito, onde omega � uma constante. A componente de 4211 avalia��o da regra � baseada na t�cnica modificada de 4212 Clenshaw-Curtis. 'quad_qawo' aplica subdivis�o adaptativa com 4213 extrapola��o, similar a 'quad_qags'. 4214 4215'quad_qawf' 4216 Calcula uma transforma��o de co-seno de Fourier ou de um seno de 4217 Fourier sobre um intervalo semi-finito. O mesmo aproxima como 4218 'quad_qawo' aplicado sobre intervalos finitos sucessivos, e 4219 acelera��o de converg�ncia por meio d algor�timo de Epsilon (Wynn, 4220 1956) aplicado a s�ries de contribui��es de integrais. 4221 4222'quad_qaws' 4223 Integra��o de w(x) f(x) sobre um intervalo finito [a, b], onde w � 4224 uma fun��o da forma (x - a)^alpha (b - x)^beta v(x) e v(x) � 1 ou 4225 log(x - a) ou log(b - x) ou log(x - a) log(b - x), e alpha > -1 e 4226 beta > -1. Auma estrat�gia de subdivis�o adaptativa � aplicada, 4227 com integra��o modificada de Clenshaw-Curtis sobre os subintervalos 4228 que possuem a ou b. 4229 4230'quad_qawc' 4231 Calcula o valor principal de Cauchy de f(x)/(x - c) sobre um 4232 intervalo finito (a, b) e um c especificado. A estrat�gia � 4233 globalmente adaptativa, e a integra��o modificada de 4234 Clenshaw-Curtis � usada sobre subamplitudes que possu�rem o ponto x 4235 = c. 4236 4237 ---------- Footnotes ---------- 4238 4239 (1) Applied Mathematics and Programming Division, K.U. Leuven 4240 4241 (2) Applied Mathematics and Programming Division, K.U. Leuven 4242 4243 (3) Institut fur Mathematik, T.U. Wien 4244 4245 (4) National Bureau of Standards, Washington, D.C., U.S.A 4246 4247 (5) http://www.netlib.org/slatec 4248 4249 (6) http://www.netlib.org/quadpack 4250 4251 (7) R. Piessens, E. de Doncker-Kapenga, C.W. Uberhuber, e D.K. 4252Kahaner. QUADPACK: A Subroutine Package for Automatic Integration. 4253Berlin: Springer-Verlag, 1983, ISBN 0387125531. 4254 4255 4256File: maxima.info, Node: Defini��es para QUADPACK, Prev: Introdu��o a QUADPACK, Up: Integra��o 4257 425820.4, Defini��es para QUADPACK 4259============================== 4260 4261 -- Fun��o da class: quad_qag (<f(x)>, <x>, <a>, <b>, <chave>, <epsrel>, 4262 <limite>) 4263 -- Fun��o da class: quad_qag (<f>, <x>, <a>, <b>, <chave>, <epsrel>, 4264 <limite>) 4265 4266 Integra��o de uma fun��o gen�rica sobre um intervalo finito. 4267 'quad_qag' implementa um integrador adaptativo globalmente simples 4268 usando a estrat�gia de Aind (Piessens, 1973). O chamador pode 4269 escolher entre 6 pares de f�rmulas da quadratura de Gauss-Kronrod 4270 para a componente de avalia��o da regra. As regras de alto n�vel 4271 s�o adequadas para integrandos fortemente oscilat�rios. 4272 4273 'quad_qag' calcula o integral 4274 4275 integrate (f(x), x, a, b) 4276 4277 A fun��o a ser integrada � <f(x)>, com vari�vel dependente <x>, e a 4278 fun��o � para ser integrada entre os limites <a> e <b>. <chave> � 4279 o integrador a ser usado e pode ser um inteiro entre 1 e 6, 4280 inclusive. O valor de <chave> selecciona a ordem da regra de 4281 integra��o de Gauss-Kronrod. Regra de alta ordem s�o adequadas 4282 para integrandos fortemente oscilat�rios. 4283 4284 O integrando pode ser especidficado como o nome de uma fun��o 4285 Maxima ou uma fun��o Lisp ou um operador, uma express�o lambda do 4286 Maxima, ou uma express�o geral do Maxima. 4287 4288 A integra��o num�rica � conclu�da adaptativamente pela subdivis�o a 4289 regi�o de integra��o at� que a precis�o desejada for completada. 4290 4291 Os argumentos opcionais <epsrel> e <limite> s�o o erro relativo 4292 desejado e o n�mero m�ximo de subintervalos respectivamente. 4293 <epsrel> padr�o em 1e-8 e <limite> � 200. 4294 4295 'quad_qag' retorna uma lista de quatro elementos: 4296 4297 * uma aproxima��o para o integral, 4298 * o erro absoluto estimado da aproxima��o, 4299 * o n�mero de avalia��es do integrando, 4300 * um c�digo de erro. 4301 4302 O c�digo de erro (quarto elemento do valor de retorno) pode ter os 4303 valores: 4304 4305 '0' 4306 se nenhum problema foi encontrado; 4307 '1' 4308 se foram utilizados muitos subintervalos; 4309 '2' 4310 se for detectato um erro de arredondamento excessivo; 4311 '3' 4312 se o integrando se comportar muito mal; 4313 '6' 4314 se a entrada n�o for v�lida. 4315 4316 Exemplos: 4317 4318 (%i1) quad_qag (x^(1/2)*log(1/x), x, 0, 1, 3); 4319 (%o1) [.4444444444492108, 3.1700968502883E-9, 961, 0] 4320 (%i2) integrate (x^(1/2)*log(1/x), x, 0, 1); 4321 4 4322 (%o2) - 4323 9 4324 4325 -- Fun��o da class: quad_qags (<f(x)>, <x>, <a>, <b>, <epsrel>, 4326 <limite>) 4327 -- Fun��o da class: quad_qags (<f>, <x>, <a>, <b>, <epsrel>, <limite>) 4328 4329 Integra��o de uma fun��o geral sobre um intervalo finito. 4330 'quad_qags' implementa subdivis�o de intervalo globalmente 4331 adaptativa com extrapola��o (de Doncker, 1978) atrav�s do algoritmo 4332 de (Wynn, 1956). 4333 4334 'quad_qags' calcula o integral 4335 4336 integrate (f(x), x, a, b) 4337 4338 A fun��o a ser integrada � <f(x)>, com vari�vel dependente <x>, e a 4339 fun��o � para ser integrada entre os limites <a> e <b>. 4340 4341 O integrando pode ser especidficado como o nome de uma fun��o 4342 Maxima ou uma fun��o Lisp ou um operador, uma express�o lambda do 4343 Maxima, ou uma express�o geral do Maxima. 4344 4345 Os argumentos opcionais <epsrel> e <limite> s�o o erro relativo 4346 desejado e o n�mero m�ximo de subintervalos, respectivamente. 4347 <epsrel> padr�o em 1e-8 e <limite> � 200. 4348 4349 'quad_qags' retorna uma lista de quatro elementos: 4350 4351 * uma aproxima��o para o integral, 4352 * o erro absoluto estimado da aproxima��o, 4353 * o n�mero de avalia��es do integrando, 4354 * um c�digo de erro. 4355 4356 O c�digo de erro (quarto elemento do valor de retorno) pode ter os 4357 valores: 4358 4359 '0' 4360 nenhum problema foi encontrado; 4361 '1' 4362 foram utilizados muitos subintervalos; 4363 '2' 4364 foi detectato um erro de arredondamento excessivo; 4365 '3' 4366 o integrando comporta-se muito mal; 4367 '4' 4368 n�o houve converg�ncia 4369 '5' 4370 o integral provavelmente � divergente, o converge lentamente 4371 '6' 4372 a entrada n�o foi v�lida. 4373 4374 Exemplos: 4375 4376 (%i1) quad_qags (x^(1/2)*log(1/x), x, 0 ,1); 4377 (%o1) [.4444444444444448, 1.11022302462516E-15, 315, 0] 4378 4379 Note que 'quad_qags' � mais preciso e eficiente que 'quad_qag' para 4380 esse integrando. 4381 4382 -- Fun��o da class: quad_qagi (<f(x)>, <x>, <a>, <inftype>, <epsrel>, 4383 <limite>) 4384 -- Fun��o da class: quad_qagi (<f>, <x>, <a>, <inftype>, <epsrel>, 4385 <limite>) 4386 4387 Integra��o de uma fun��o gen�rica sobre um intervalo finito ou 4388 semi-finito. O intervalo � mapeado sobre um intervalo finito e 4389 ent�o a mesma estrat�gia que em 'quad_qags' � aplicada. 4390 4391 'quad_qagi' avalia um dos seguintes integrais 4392 4393 integrate (f(x), x, minf, inf) 4394 4395 integrate (f(x), x, minf, a) 4396 4397 integrate (f(x), x, a, minf, inf) 4398 4399 usando a rotina Quadpack QAGI. A fun��o a ser integrada � <f(x)>, 4400 com vari�vel dependente <x>, e a fun��o � para ser integrada sobre 4401 um intervalo infinito. 4402 4403 O integrando pode ser especidficado como o nome de uma fun��o 4404 Maxima ou uma fun��o Lisp ou um operador, uma express�o lambda do 4405 Maxima, ou uma express�o geral do Maxima. 4406 4407 O par�metro <inftype> determina o intervalo de integra��o como 4408 segue: 4409 4410 'inf' 4411 O intervalo vai de <a> ao infinito positivo. 4412 'minf' 4413 O intervalo vai do infinito negativo at� <a>. 4414 'both' 4415 O intervalo corresponde a toda reta real. 4416 4417 Os argumentos opcionais <epsrel> e <limite> s�o o erro relativo 4418 desejado e o n�mero maximo de subintervalos, respectivamente. 4419 <epsrel> padr�o para 1e-8 e <limite> � 200. 4420 4421 'quad_qagi' retorna uma lista de quatro elementos: 4422 4423 * uma aproxima��o para o integral, 4424 * o erro absoluto estimado da aproxima��o, 4425 * o n�mero de avalia��es do integrando, 4426 * um c�digo de erro. 4427 4428 O c�digo de erro (quarto elemento do valor de retorno) pode ter os 4429 valores: 4430 4431 '0' 4432 nenhum problema foi encontrado; 4433 '1' 4434 foram utilizados muitos subintervalos; 4435 '2' 4436 foi detectato um erro de arredondamento excessivo; 4437 '3' 4438 o integrando comporta-se muito mal; 4439 '4' 4440 n�o houve converg�ncia 4441 '5' 4442 o integral provavelmente � divergente, o converge lentamente 4443 '6' 4444 a entrada n�o foi v�lida. 4445 4446 Exemplos: 4447 4448 (%i1) quad_qagi (x^2*exp(-4*x), x, 0, inf); 4449 (%o1) [0.03125, 2.95916102995002E-11, 105, 0] 4450 (%i2) integrate (x^2*exp(-4*x), x, 0, inf); 4451 1 4452 (%o2) -- 4453 32 4454 4455 -- Fun��o da class: quad_qawc (<f(x)>, <x>, <c>, <a>, <b>, <epsrel>, 4456 <limite>) 4457 -- Fun��o da class: quad_qawc (<f>, <x>, <c>, <a>, <b>, <epsrel>, 4458 <limite>) 4459 4460 Calcula o valor principal de Cauchy de f(x)/(x - c) over a finite 4461 interval. A estrat�gia � globalmente adaptativa, e a integra��o de 4462 Clenshaw-Curtis modificada � usada sobre as subamplitudes que 4463 possu�rem o ponto x = c. 4464 4465 'quad_qawc' calcula o valor principal de Cauchy de 4466 4467 integrate (f(x)/(x - c), x, a, b) 4468 4469 usando a rotina Quadpack QAWC. A fun��o a ser integrada � 4470 '<f(x)>/(<x> - <c>)', com vari�vel dependente <x>, e a fun��o � 4471 para ser integrada sobre o intervalo que vai de <a> at� <b>. 4472 4473 O integrando pode ser especidficado como o nome de uma fun��o 4474 Maxima ou uma fun��o Lisp ou um operador, uma express�o lambda do 4475 Maxima, ou uma express�o geral do Maxima. 4476 4477 Os argumentos opcionais <epsrel> e <limite> s�o o erro relativo 4478 desejado e o m�ximo n�mero de subintervalos, respectivamente. 4479 <epsrel> padr�o para 1e-8 e <limite> � 200. 4480 4481 'quad_qawc' retorna uma lista de quatro elementos: 4482 4483 * uma aproxima��o para o integral, 4484 * o erro absoluto estimado da aproxima��o, 4485 * o n�mero de avalia��es do integrando, 4486 * um c�digo de erro. 4487 4488 O c�digo de erro (quarto elemento do valoor de retorno) pode ter os 4489 valores: 4490 4491 '0' 4492 nenhum problema foi encontrado; 4493 '1' 4494 foram utilizados muitos subintervalos; 4495 '2' 4496 foi detectato um erro de arredondamento excessivo; 4497 '3' 4498 o integrando comporta-se muito mal; 4499 '6' 4500 a entrada n�o foi v�lida. 4501 4502 Exemplos: 4503 4504 (%i1) quad_qawc (2^(-5)*((x-1)^2+4^(-5))^(-1), x, 2, 0, 5); 4505 (%o1) [- 3.130120337415925, 1.306830140249558E-8, 495, 0] 4506 (%i2) integrate (2^(-alpha)*(((x-1)^2 + 4^(-alpha))*(x-2))^(-1), x, 0, 5); 4507 Principal Value 4508 alpha 4509 alpha 9 4 9 4510 4 log(------------- + -------------) 4511 alpha alpha 4512 64 4 + 4 64 4 + 4 4513 (%o2) (----------------------------------------- 4514 alpha 4515 2 4 + 2 4516 4517 3 alpha 3 alpha 4518 ------- ------- 4519 2 alpha/2 2 alpha/2 4520 2 4 atan(4 4 ) 2 4 atan(4 ) alpha 4521 - --------------------------- - -------------------------)/2 4522 alpha alpha 4523 2 4 + 2 2 4 + 2 4524 (%i3) ev (%, alpha=5, numer); 4525 (%o3) - 3.130120337415917 4526 4527 -- Fun��o da class: quad_qawf (<f(x)>, <x>, <a>, <omega>, <trig>, 4528 <epsabs>, <limit>, <maxp1>, <limlst>) 4529 -- Fun��o da class: quad_qawf (<f>, <x>, <a>, <omega>, <trig>, 4530 <epsabs>, <limit>, <maxp1>, <limlst>) 4531 4532 Calcula uma transforma��o de co-seno de Fourier ou de um seno de 4533 Fourier sobre um intervalo semi-finito. usando a fun��o QAWF do 4534 pacote Quadpack. A mesma aproxima como em 'quad_qawo' quando 4535 aplicada sobre intervalos finitos sucessivos, e acelera��o de 4536 converg�ncia por meio d algor�timo de Epsilon (Wynn, 1956) aplicado 4537 a s�ries de contribui��es de integrais. 4538 4539 'quad_qawf' calcula o integral 4540 4541 integrate (f(x)*w(x), x, a, inf) 4542 4543 A fun��o peso w � seleccionada por <trig>: 4544 4545 'cos' 4546 w(x) = cos (omega x) 4547 'sin' 4548 w(x) = sin (omega x) 4549 4550 O integrando pode ser especidficado como o nome de uma fun��o 4551 Maxima ou uma fun��o Lisp ou um operador, uma express�o lambda do 4552 Maxima, ou uma express�o geral do Maxima. 4553 4554 Os argumentos opcionais s�o: 4555 4556 'epsabs' 4557 Erro absoluto de aproxima��o desejado. Padr�o � 1d-10. 4558 'limit' 4559 Tamanho de array interno de trabalho. (<limit> - <limlst>)/2 4560 � o maximo n�mero de subintervalos para usar. O Padr�o � 200. 4561 'maxp1' 4562 O n�mero m�ximo dos momentos de Chebyshev. Deve ser maior que 4563 0. O padr�o � 100. 4564 'limlst' 4565 Limite superior sobre n�mero de ciclos. Deve ser maior ou 4566 igual a 3. O padr�o � 10. 4567 4568 <epsabs> e <limit> s�o o erro relativo desejado e o n�mero maximo 4569 de subintervalos, respectivamente. <epsrel> padr�o para 1e-8 e 4570 <limit> � 200. 4571 4572 'quad_qawf' retorna uma lista de quatro elementos: 4573 4574 * uma aproxima��o para o integral, 4575 * o erro absoluto estimado da aproxima��o, 4576 * o n�mero de avalia��es do integrando, 4577 * um c�digo de erro. 4578 4579 O c�digo de erro (quarto elemento do valor de retorno) pode ter os 4580 valores: 4581 4582 '0' 4583 nenhum problema foi encontrado; 4584 '1' 4585 foram utilizados muitos subintervalos; 4586 '2' 4587 foi detectato um erro de arredondamento excessivo; 4588 '3' 4589 o integrando comporta-se muito mal; 4590 '6' 4591 a entrada n�o foi v�lida. 4592 4593 Exemplos: 4594 4595 (%i1) quad_qawf (exp(-x^2), x, 0, 1, 'cos); 4596 (%o1) [.6901942235215714, 2.84846300257552E-11, 215, 0] 4597 (%i2) integrate (exp(-x^2)*cos(x), x, 0, inf); 4598 - 1/4 4599 %e sqrt(%pi) 4600 (%o2) ----------------- 4601 2 4602 (%i3) ev (%, numer); 4603 (%o3) .6901942235215714 4604 4605 -- Fun��o da class: quad_qawo (<f(x)>, <x>, <a>, <b>, <omega>, <trig>, 4606 <epsabs>, <limite>, <maxp1>, <limlst>) 4607 -- Fun��o da class: quad_qawo (<f>, <x>, <a>, <b>, <omega>, <trig>, 4608 <epsabs>, <limite>, <maxp1>, <limlst>) 4609 4610 Integra��o de cos(omega x) f(x) ou sin(omega x) f(x) sobre um 4611 intervalo finito, onde omega � uma constante. A componente de 4612 avalia��o da regra � baseada na t�cnica modificada de 4613 Clenshaw-Curtis. 'quad_qawo' aplica subdivis�o adaptativa com 4614 extrapola��o, similar a 'quad_qags'. 4615 4616 'quad_qawo' calcula o integral usando a rotina Quadpack QAWO: 4617 4618 integrate (f(x)*w(x), x, a, b) 4619 4620 A fun��o peso w � seleccionada por <trig>: 4621 4622 'cos' 4623 w(x) = cos (omega x) 4624 'sin' 4625 w(x) = sin (omega x) 4626 4627 O integrando pode ser especidficado como o nome de uma fun��o 4628 Maxima ou uma fun��o Lisp ou um operador, uma express�o lambda do 4629 Maxima, ou uma express�o geral do Maxima. 4630 4631 Os argumentos opcionais s�o: 4632 4633 'epsabs' 4634 Erro absoluto desejado de aproxima��o. O Padr�o � 1d-10. 4635 'limite' 4636 Tamanho do array interno de trabalho. (<limite> - <limlst>)/2 4637 � o n�mero m�ximo de subintervalos a serem usados. Default � 4638 200. 4639 'maxp1' 4640 N�mero m�ximo dos momentos de Chebyshev. Deve ser maior que 4641 0. O padr�o � 100. 4642 'limlst' 4643 Limite superior sobre o n�mero de ciclos. Deve ser maior que 4644 ou igual a 3. O padr�o � 10. 4645 4646 <epsabs> e <limite> s�o o erro relativo desejado e o n�mero m�ximo 4647 de subintervalos, respectivamente. <epsrel> o padr�o � 1e-8 e 4648 <limite> � 200. 4649 4650 'quad_qawo' retorna uma lista de quatro elementos: 4651 4652 * uma aproxima��o para o integral, 4653 * o erro absoluto estimado da aproxima��o, 4654 * o n�mero de avalia��es do integrando, 4655 * um c�digo de erro. 4656 4657 O c�digo de erro (quarto elemento do valor de retorno) pode ter os 4658 valores: 4659 4660 '0' 4661 nenhum problema foi encontrado; 4662 '1' 4663 foram utilizados muitos subintervalos; 4664 '2' 4665 foi detectato um erro de arredondamento excessivo; 4666 '3' 4667 o integrando comporta-se muito mal; 4668 '6' 4669 a entrada n�o foi v�lida. 4670 4671 Exemplos: 4672 4673 (%i1) quad_qawo (x^(-1/2)*exp(-2^(-2)*x), x, 1d-8, 20*2^2, 1, cos); 4674 (%o1) [1.376043389877692, 4.72710759424899E-11, 765, 0] 4675 (%i2) rectform (integrate (x^(-1/2)*exp(-2^(-alpha)*x) * cos(x), x, 0, inf)); 4676 alpha/2 - 1/2 2 alpha 4677 sqrt(%pi) 2 sqrt(sqrt(2 + 1) + 1) 4678 (%o2) ----------------------------------------------------- 4679 2 alpha 4680 sqrt(2 + 1) 4681 (%i3) ev (%, alpha=2, numer); 4682 (%o3) 1.376043390090716 4683 4684 -- Fun��o da class: quad_qaws (<f(x)>, <x>, <a>, <b>, <alpha>, <beta>, 4685 <wfun>, <epsabs>, <limite>) 4686 -- Fun��o da class: quad_qaws (<f>, <x>, <a>, <b>, <alpha>, <beta>, 4687 <wfun>, <epsabs>, <limite>) 4688 4689 Integra��o de w(x) f(x) sobre um intervalo finito, onde w(x) � uma 4690 certa fun��o alg�brica ou logar�tmica. Uma estrat�gia de 4691 subdivis�o globalmente adaptativa � aplicada, com integra��o 4692 modificada de Clenshaw-Curtis sobre os subintervalos que possu�rem 4693 os pontos finais dos intervalos de integra��o. 4694 4695 'quad_qaws' calcula o integral usando a rotina Quadpack QAWS: 4696 4697 integrate (f(x)*w(x), x, a, b) 4698 4699 A fun��o peso w � seleccionada por <wfun>: 4700 4701 '1' 4702 w(x) = (x - a)^alpha (b - x)^beta 4703 '2' 4704 w(x) = (x - a)^alpha (b - x)^beta log(x - a) 4705 '3' 4706 w(x) = (x - a)^alpha (b - x)^beta log(b - x) 4707 '4' 4708 w(x) = (x - a)^alpha (b - x)^beta log(x - a) log(b - x) 4709 4710 O integrando pode ser especificado como o nome de uma fun��o Maxima 4711 ou uma fun��o Lisp ou um operador, uma express�o lambda do Maxima, 4712 ou uma express�o geral do Maxima. 4713 4714 O argumentos opcionais s�o: 4715 4716 'epsabs' 4717 Erro absoluto desejado de aproxima��o. O padr�o � 1d-10. 4718 'limite' 4719 Tamanho do array interno de trabalho. (<limite> - <limlst>)/2 4720 � o n�mero m�ximo de subintervalos para usar. O padr�o � 200. 4721 4722 <epsabs> e <limit> s�o o erro relativo desejado e o n�mero m�ximo 4723 de subintervalos, respectivamente. <epsrel> o padr�o � 1e-8 e 4724 <limite> � 200. 4725 4726 'quad_qaws' retorna uma lista de quatro elementos: 4727 4728 * uma aproxima��o para o integral, 4729 * o erro absoluto estimado da aproxima��o, 4730 * o n�mero de avalia��es do integrando, 4731 * um c�digo de erro. 4732 4733 O c�digo de erro (quarto elemento do valor de retorno) pode ter os 4734 valores: 4735 4736 '0' 4737 nenhum problema foi encontrado; 4738 '1' 4739 foram utilizados muitos subintervalos; 4740 '2' 4741 foi detectato um erro de arredondamento excessivo; 4742 '3' 4743 o integrando comporta-se muito mal; 4744 '6' 4745 a entrada n�o foi v�lida. 4746 4747 Exemplos: 4748 4749 (%i1) quad_qaws (1/(x+1+2^(-4)), x, -1, 1, -0.5, -0.5, 1); 4750 (%o1) [8.750097361672832, 1.24321522715422E-10, 170, 0] 4751 (%i2) integrate ((1-x*x)^(-1/2)/(x+1+2^(-alpha)), x, -1, 1); 4752 alpha 4753 Is 4 2 - 1 positive, negative, or zero? 4754 4755 pos; 4756 alpha alpha 4757 2 %pi 2 sqrt(2 2 + 1) 4758 (%o2) ------------------------------- 4759 alpha 4760 4 2 + 2 4761 (%i3) ev (%, alpha=4, numer); 4762 (%o3) 8.750097361672829 4763 4764 4765File: maxima.info, Node: Equa��es, Next: Equa��es Diferenciais, Prev: Integra��o, Up: Top 4766 476721, Equa��es 4768************ 4769 4770* Menu: 4771 4772* Defini��es para Equa��es:: 4773 4774 4775File: maxima.info, Node: Defini��es para Equa��es, Prev: Equa��es, Up: Equa��es 4776 477721.1, Defini��es para Equa��es 4778============================== 4779 4780 -- Vari�vel da class: %rnum_list 4781 Valor por omiss�o: '[]' 4782 4783 '%rnum_list' � a lista de vari�veis introduzidas em solu��es por 4784 'algsys'. '%r' vari�veis S�o adicionadas a '%rnum_list' na ordem 4785 em que forem criadas. Isso � conveniente para fazer substitui��es 4786 dentro da solu��o mais tarde. � recomendado usar essa lista em 4787 lugar de fazer 'concat ('%r, j)'. 4788 4789 -- Vari�vel da class: algexact 4790 Valor por omiss�o: 'false' 4791 4792 'algexact' afecta o comportamento de 'algsys' como segue: 4793 4794 Se 'algexact' � 'true', 'algsys' sempre chama 'solve' e ent�o usa 4795 'realroots' sobre falhas de 'solve'. 4796 4797 Se 'algexact' � 'false', 'solve' � chamada somente se o eliminante 4798 n�o for de uma vari�vel, ou se for uma quadr�tica ou uma 4799 biquadrada. 4800 4801 Dessa forma 'algexact: true' n�o garante solu��es exactas, apenas 4802 que 'algsys' tentar� primeiro pegar solu��es exactas, e somente 4803 retorna aproxima��es quando tudo mais falha. 4804 4805 -- Fun��o da class: algsys ([<expr_1>, ..., <expr_m>], [<x_1>, ..., 4806 <x_n>]) 4807 -- Fun��o da class: algsys ([<eqn_1>, ..., <eqn_m>], [<x_1>, ..., 4808 <x_n>]) 4809 Resolve polin�mios simult�neos <expr_1>, ..., <expr_m> ou equa��es 4810 polin�miais <eqn_1>, ..., <eqn_m> para as vari�veis <x_1>, ..., 4811 <x_n>. Uma express�o <expr> � equivalente a uma equa��o '<expr> = 4812 0'. Pode existir mais equa��es que vari�veis ou vice-versa. 4813 4814 'algsys' retorna uma lista de solu��es, com cada solu��o dada com 4815 uma lista de valores de estado das equa��es das vari�veis <x_1>, 4816 ..., <x_n> que satisfazem o sistema de equa��es. Se 'algsys' n�o 4817 pode achar uma solu��o, uma lista vazia '[]' � retornada. 4818 4819 Os s�mbolos '%r1', '%r2', ..., s�o introduzidos tantos quantos 4820 forem necess�rios para representar par�metros arbitr�rios na 4821 solu��o; essas vari�veis s�o tamb�m anexadas � lista '%rnum_list'. 4822 4823 O m�todo usado � o seguinte: 4824 4825 (1) Primeiro as equa��es s�o factorizaadas e quebradas em 4826 subsistemas. 4827 4828 (2) Para cada subsistema <S_i>, uma equa��o <E> e uma vari�vel <x> 4829 s�o seleccionados. A vari�vel � escolhida para ter o menor grau 4830 n�o zero. Ent�o a resultante de <E> e <E_j> em rela��o a <x> � 4831 calculada para cada um das equa��es restantes <E_j> nos subsistemas 4832 <S_i>. Isso retorna um novo subsistema <S_i'> em umas poucas 4833 vari�veis, como <x> tenha sido eliminada. O processo agora retorna 4834 ao passo (1). 4835 4836 (3) Eventualmente, um subsistema consistindo de uma equa��o simples 4837 � obtido. Se a equa��o � de v�rias vari�veis e aproxima��es na 4838 forma de n�meros em ponto flutuante n� tenham sido introduzidas, 4839 ent�o 'solve' � chamada para achar uma solu��o exacta. 4840 4841 Em alguns casos, 'solve' n�o est� habilitada a achar uma solu��o, 4842 ou se isso � feito a solu��o pode ser uma express�o express�o muito 4843 larga. 4844 4845 Se a equa��o � de uma �nica vari�vel e � ou linear, ou quadr�tica, 4846 ou biquadrada, ent�o novamente 'solve' � chamada se aproxima��es 4847 n�o tiverem sido introduzidas. Se aproxima��es tiverem sido 4848 introduzidas ou a equa��o n�o � de uma �nica vari�vel e nem t�o 4849 pouco linear, quadratica, ou biquadrada, ent�o o comutador 4850 'realonly' � 'true', A fun��o 'realroots' � chamada para achar o 4851 valor real das solu��es. Se 'realonly' � 'false', ent�o 'allroots' 4852 � chamada a qual procura por solu��es reais e complexas. 4853 4854 Se 'algsys' produz uma solu��o que tem poucos digitos 4855 significativos que o requerido, o utilizador pode escolher o valor 4856 de 'algepsilon' para um valor maior. 4857 4858 Se 'algexact' � escolhido para 'true', 'solve' ser� sempre chamada. 4859 4860 (4) Finalmente, as solu��es obtidas no passo (3) s�o substitu�das 4861 dentro dos n�veis pr�vios e o processo de solu��o retorna para (1). 4862 4863 Quando 'algsys' encontrar uma equa��o de v�rias vari�veis que 4864 cont�m aproxima��es em ponto flutuante (usualmente devido a suas 4865 falhas em achar solu��es exactas por um est�gio mais f�cil), ent�o 4866 n�o tentar� aplicar m�todos exatos para tais equa��es e em lugar 4867 disso imprime a mensagem: "'algsys' cannot solve - system too 4868 complicated." 4869 4870 Intera��es com 'radcan' podem produzir express�es largas ou 4871 complicadas. Naquele caso, pode ser poss�vel isolar partes do 4872 resultado com 'pickapart' ou 'reveal'. 4873 4874 Ocasionalmente, 'radcan' pode introduzir uma unidade imagin�ria 4875 '%i' dentro de uma solu��o que � actualmente avaliada como real. 4876 4877 Exemplos: 4878 4879 ++ 4880 (%i1) e1: 2*x*(1 - a1) - 2*(x - 1)*a2; 4881 (%o1) 2 (1 - a1) x - 2 a2 (x - 1) 4882 (%i2) e2: a2 - a1; 4883 (%o2) a2 - a1 4884 (%i3) e3: a1*(-y - x^2 + 1); 4885 2 4886 (%o3) a1 (- y - x + 1) 4887 (%i4) e4: a2*(y - (x - 1)^2); 4888 2 4889 (%o4) a2 (y - (x - 1) ) 4890 (%i5) algsys ([e1, e2, e3, e4], [x, y, a1, a2]); 4891 (%o5) [[x = 0, y = %r1, a1 = 0, a2 = 0], 4892 4893 [x = 1, y = 0, a1 = 1, a2 = 1]] 4894 (%i6) e1: x^2 - y^2; 4895 2 2 4896 (%o6) x - y 4897 (%i7) e2: -1 - y + 2*y^2 - x + x^2; 4898 2 2 4899 (%o7) 2 y - y + x - x - 1 4900 (%i8) algsys ([e1, e2], [x, y]); 4901 1 1 4902 (%o8) [[x = - -------, y = -------], 4903 sqrt(3) sqrt(3) 4904 4905 1 1 1 1 4906 [x = -------, y = - -------], [x = - -, y = - -], [x = 1, y = 1]] 4907 sqrt(3) sqrt(3) 3 3 4908 4909 -- Fun��o da class: allroots (<expr>) 4910 -- Fun��o da class: allroots (<eqn>) 4911 Calcula aproxima��es num�ricas de ra�zes reais e complexas do 4912 polin�mio <expr> ou equa��o polin�mial <eqn> de uma vari�vel. 4913 4914 O sinalizador 'polyfactor' quando 'true' faz com que 'allroots' 4915 factore o polin�mio sobre os n�meros reais se o polin�mio for real, 4916 ou sobre os n�meros complexos, se o polin�mio for complexo. 4917 4918 'allroots' pode retornar resultados imprecisos no caso de m�ltiplas 4919 ra�zes. Se o polin�mio for real, 'allroots (%i*<p>)') pode 4920 retornar aproxima��es mais precisas que 'allroots (<p>)', como 4921 'allroots' invoca um algoritmo diferente naquele caso. 4922 4923 'allroots' rejeita expresso�es que n�o sejam polin�mios. Isso 4924 requer que o numerador ap�s a classifica��o ('rat''ing) poder� ser 4925 um polin�mio, e isso requer que o denominador seja quando muito um 4926 n�mero complexo. Com esse tipo resultado 'allroots' ir� sempre 4927 produzir uma express�o equivalente (mas factorizada), se 4928 'polyfactor' for 'true'. 4929 4930 Para polin�mios complexos um algoritmo por Jenkins e Traub � usado 4931 (Algorithm 419, Comm. ACM, vol. 15, (1972), p. 97). Para 4932 polin�mios reais o algoritmo usado � devido a Jenkins (Algorithm 4933 493, ACM TOMS, vol. 1, (1975), p.178). 4934 4935 Exemplos: 4936 4937 (%i1) eqn: (1 + 2*x)^3 = 13.5*(1 + x^5); 4938 3 5 4939 (%o1) (2 x + 1) = 13.5 (x + 1) 4940 (%i2) soln: allroots (eqn); 4941 (%o2) [x = .8296749902129361, x = - 1.015755543828121, 4942 4943 x = .9659625152196369 %i - .4069597231924075, 4944 4945 x = - .9659625152196369 %i - .4069597231924075, x = 1.0] 4946 (%i3) for e in soln 4947 do (e2: subst (e, eqn), disp (expand (lhs(e2) - rhs(e2)))); 4948 - 3.5527136788005E-15 4949 4950 - 5.32907051820075E-15 4951 4952 4.44089209850063E-15 %i - 4.88498130835069E-15 4953 4954 - 4.44089209850063E-15 %i - 4.88498130835069E-15 4955 4956 3.5527136788005E-15 4957 4958 (%o3) done 4959 (%i4) polyfactor: true$ 4960 (%i5) allroots (eqn); 4961 (%o5) - 13.5 (x - 1.0) (x - .8296749902129361) 4962 4963 2 4964 (x + 1.015755543828121) (x + .8139194463848151 x 4965 4966 + 1.098699797110288) 4967 4968 -- Vari�vel da class: backsubst 4969 Valor por omiss�o: 'true' 4970 4971 Quando 'backsubst' � 'false', evita substitui��es em express�es 4972 anteriores ap�s as equa��es terem sido triangularizadas. Isso pode 4973 ser de grande ajuda em problemas muito grandes onde substitui��o em 4974 express�es anteriores pode vir a causar a gera��o de express�es 4975 extremamente largas. 4976 4977 -- Vari�vel da class: breakup 4978 Valor por omiss�o: 'true' 4979 4980 Quando 'breakup' � 'true', 'solve' expressa solu��es de equa��es 4981 c�bicas e qu�rticas em termos de subexpress�es comuns, que s�o 4982 atribu�das a r�tulos de express�es interm�dias ('%t1', '%t2', 4983 etc.). De outra forma, subexpress�es comuns n�o s�o identificadas. 4984 4985 'breakup: true' tem efeito somente quando 'programmode' � 'false'. 4986 4987 Exemplos: 4988 4989 (%i1) programmode: false$ 4990 (%i2) breakup: true$ 4991 (%i3) solve (x^3 + x^2 - 1); 4992 4993 sqrt(23) 25 1/3 4994 (%t3) (--------- + --) 4995 6 sqrt(3) 54 4996 Solution: 4997 4998 sqrt(3) %i 1 4999 ---------- - - 5000 sqrt(3) %i 1 2 2 1 5001 (%t4) x = (- ---------- - -) %t3 + -------------- - - 5002 2 2 9 %t3 3 5003 5004 sqrt(3) %i 1 5005 - ---------- - - 5006 sqrt(3) %i 1 2 2 1 5007 (%t5) x = (---------- - -) %t3 + ---------------- - - 5008 2 2 9 %t3 3 5009 5010 1 1 5011 (%t6) x = %t3 + ----- - - 5012 9 %t3 3 5013 (%o6) [%t4, %t5, %t6] 5014 (%i6) breakup: false$ 5015 (%i7) solve (x^3 + x^2 - 1); 5016 Solution: 5017 5018 sqrt(3) %i 1 5019 ---------- - - 5020 2 2 sqrt(23) 25 1/3 5021 (%t7) x = --------------------- + (--------- + --) 5022 sqrt(23) 25 1/3 6 sqrt(3) 54 5023 9 (--------- + --) 5024 6 sqrt(3) 54 5025 5026 sqrt(3) %i 1 1 5027 (- ---------- - -) - - 5028 2 2 3 5029 5030 sqrt(23) 25 1/3 sqrt(3) %i 1 5031 (%t8) x = (--------- + --) (---------- - -) 5032 6 sqrt(3) 54 2 2 5033 5034 sqrt(3) %i 1 5035 - ---------- - - 5036 2 2 1 5037 + --------------------- - - 5038 sqrt(23) 25 1/3 3 5039 9 (--------- + --) 5040 6 sqrt(3) 54 5041 5042 sqrt(23) 25 1/3 1 1 5043 (%t9) x = (--------- + --) + --------------------- - - 5044 6 sqrt(3) 54 sqrt(23) 25 1/3 3 5045 9 (--------- + --) 5046 6 sqrt(3) 54 5047 (%o9) [%t7, %t8, %t9] 5048 5049 -- Fun��o da class: dimension (<eqn>) 5050 -- Fun��o da class: dimension (<eqn_1>, ..., <eqn_n>) 5051 'dimen' � um pacote de an�lise dimensional. 'load ("dimen")' chama 5052 esse pacote. 'demo ("dimen")' mostra uma cura demostra��o. 5053 5054 -- Vari�vel da class: dispflag 5055 Valor por omiss�o: 'true' 5056 5057 Se escolhida para 'false' dentro de um 'block' inibir� a 5058 visualiza��o da sa�da gerada pelas fun��es solve chamadas de dentro 5059 de 'block'. Terminando 'block' com um sinal de dolar, $, escolhe 5060 'dispflag' para 'false'. 5061 5062 -- Fun��o da class: funcsolve (<eqn>, <g>(<t>)) 5063 Retorna '[<g>(<t>) = ...]' ou '[]', dependendo de existir ou n�o 5064 uma fun��o racional '<g>(<t>)' satisfazendo <eqn>, que deve ser de 5065 primeira ordem, polin�mio linear em (para esse caso) '<g>(<t>)' e 5066 '<g>(<t>+1)' 5067 5068 (%i1) eqn: (n + 1)*f(n) - (n + 3)*f(n + 1)/(n + 1) = (n - 1)/(n + 2); 5069 (n + 3) f(n + 1) n - 1 5070 (%o1) (n + 1) f(n) - ---------------- = ----- 5071 n + 1 n + 2 5072 (%i2) funcsolve (eqn, f(n)); 5073 5074 Equa��es dependentes eliminadas: (4 3) 5075 n 5076 (%o2) f(n) = --------------- 5077 (n + 1) (n + 2) 5078 5079 Aten��o: essa � uma implementa��o muito rudimentar - muitas 5080 verifica��es de seguran�a e obviamente generaliza��es est�o 5081 aus�ntes. 5082 5083 -- Vari�vel da class: globalsolve 5084 Valor por omiss�o: 'false' 5085 5086 When 'globalsolve' for 'true', vari�veis para as quais as equa��es 5087 s�o resolvidas s�o atribuidas aos valores da solu��o encontrados 5088 por 'linsolve', e por 'solve' quando resolvendo duas ou mais 5089 equa��es lineares. Quando 'globalsolve' for 'false', solu��es 5090 encontradas por 'linsolve' e por 'solve' quando resolvendo duas ou 5091 mais equa��es lineares s�o espressas como equa��es, e as vari�veis 5092 para as quais a equa��o foi resolvida n�o s�o atribuidas. 5093 5094 Quando resolvendo qualquer coisa outra que n�o duas equa��es 5095 lineares ou mais, 'solve' ignora 'globalsolve'. Outras fun��es que 5096 resolvem equa��es (e.g., 'algsys') sempre ignoram 'globalsolve'. 5097 5098 Exemplos: 5099 5100 (%i1) globalsolve: true$ 5101 (%i2) solve ([x + 3*y = 2, 2*x - y = 5], [x, y]); 5102 Solution 5103 5104 17 5105 (%t2) x : -- 5106 7 5107 5108 1 5109 (%t3) y : - - 5110 7 5111 (%o3) [[%t2, %t3]] 5112 (%i3) x; 5113 17 5114 (%o3) -- 5115 7 5116 (%i4) y; 5117 1 5118 (%o4) - - 5119 7 5120 (%i5) globalsolve: false$ 5121 (%i6) kill (x, y)$ 5122 (%i7) solve ([x + 3*y = 2, 2*x - y = 5], [x, y]); 5123 Solution 5124 5125 17 5126 (%t7) x = -- 5127 7 5128 5129 1 5130 (%t8) y = - - 5131 7 5132 (%o8) [[%t7, %t8]] 5133 (%i8) x; 5134 (%o8) x 5135 (%i9) y; 5136 (%o9) y 5137 5138 -- Fun��o da class: ieqn (<ie>, <unk>, <tech>, <n>, <guess>) 5139 'inteqn' � um pacote para resolver equa��es integrais. 'load 5140 ("inteqn")' carrega esse pacote. 5141 5142 <ie> � a equa��o integral; <unk> � a fun��o desconhecida; <tech> � 5143 a t�cnica a ser tentada nesses dados acima (<tech> = 'first' 5144 significa: tente a primeira t�cnica que achar uma solu��o; <tech> = 5145 'all' significa: tente todas a t�cnicas aplic�veis); <n> � o n�mero 5146 m�ximo de termos a serem usados de 'taylor', 'neumann', 5147 'firstkindseries', ou 'fredseries' (isso � tamb�m o n�mero m�ximo 5148 de ciclos de recurss�o para o m�todo de diferencia��o); <guess> � o 5149 inicial suposto para 'neumann' ou 'firstkindseries'. 5150 5151 Valores padr�o do segundo at� o quinto par�metro s�o: 5152 5153 <unk>: '<p>(<x>)', onde <p> � a primeira fun��o encontrada em um 5154 integrando que � desconhecida para Maxima e <x> � a vari�vel que 5155 ocorre como um argumento para a primeira ocorr�ncia de <p> achada 5156 fora de uma integral no caso de equa��es 'secondkind' , ou � 5157 somente outra vari�vel ao lado da vari�vel de integra��o em 5158 equa��es 'firstkind'. Se uma tentativa de procurar por <x> falha, 5159 o utilizador ser� perguntado para suprir a vari�vel independente. 5160 5161 tech: 'first' 5162 5163 n: 1 5164 5165 guess: 'none' o que far� com que 'neumann' e 'firstkindseries' use 5166 '<f>(<x>)' como uma suposi��o inicial. 5167 5168 -- Vari�vel de op��o da class: ieqnprint 5169 Valor por omiss�o: 'true' 5170 5171 'ieqnprint' governa o comportamento do resultado retornado pelo 5172 comando 'ieqn'. Quando 'ieqnprint' � 'false', as listas retornadas 5173 pela fun��o 'ieqn' s�o da forma 5174 5175 [<solu��o>, <tecnica usada>, <nterms>, <sinalizador>] 5176 5177 onde <sinalizador> � retirado se a solu��o for exacta. 5178 5179 De outra forma, isso � a palavra 'approximate' ou 'incomplete' 5180 correspondendo � forma inexacta ou forma aberta de solu��o, 5181 respectivamente. Se um m�todo de s�rie foi usado, <nterms> fornece 5182 o n�mero de termos usados (que poder� ser menor que os n dados para 5183 'ieqn' se ocorrer um erro evita a gera��o de termos adicionais). 5184 5185 -- Fun��o da class: lhs (<expr>) 5186 Retorna o lado esquerdo (isto �, o primeiro argumento) da express�o 5187 <expr>, quando o operador de <expr> for um dos operadores 5188 relacionais '< <= = # equal notequal >= >', um dos operadores de 5189 atribui��o ':= ::= : ::', ou um operadro infixo definido pelo 5190 utilizador, como declarado por meio de 'infix'. 5191 5192 Quando <expr> for um �tomo ou seu operador for alguma coisa que n�o 5193 esses listados acima, 'lhs' retorna <expr>. 5194 5195 Veja tamb�m 'rhs'. 5196 5197 Exemplos: 5198 5199 (%i1) e: aa + bb = cc; 5200 (%o1) bb + aa = cc 5201 (%i2) lhs (e); 5202 (%o2) bb + aa 5203 (%i3) rhs (e); 5204 (%o3) cc 5205 (%i4) [lhs (aa < bb), lhs (aa <= bb), lhs (aa >= bb), lhs (aa > bb)]; 5206 (%o4) [aa, aa, aa, aa] 5207 (%i5) [lhs (aa = bb), lhs (aa # bb), lhs (equal (aa, bb)), lhs (notequal (aa, bb))]; 5208 (%o5) [aa, aa, aa, aa] 5209 (%i6) e1: '(foo(x) := 2*x); 5210 (%o6) foo(x) := 2 x 5211 (%i7) e2: '(bar(y) ::= 3*y); 5212 (%o7) bar(y) ::= 3 y 5213 (%i8) e3: '(x : y); 5214 (%o8) x : y 5215 (%i9) e4: '(x :: y); 5216 (%o9) x :: y 5217 (%i10) [lhs (e1), lhs (e2), lhs (e3), lhs (e4)]; 5218 (%o10) [foo(x), bar(y), x, x] 5219 (%i11) infix ("]["); 5220 (%o11) ][ 5221 (%i12) lhs (aa ][ bb); 5222 (%o12) aa 5223 5224 -- Fun��o da class: linsolve ([<expr_1>, ..., <expr_m>], [<x_1>, ..., 5225 <x_n>]) 5226 Resolve a lista de equa��es lineares simult�neas para a lista de 5227 vari�veis. As express�es devem ser cada uma polin�mios nas 5228 vari�veis e podem ser equa��es. 5229 5230 Quando 'globalsolve' � 'true' ent�o vari�veis que foram resolvidas 5231 ser�o escolhidas para a solu��o do conjunto de equa��es 5232 simult�neas. 5233 5234 Quando 'backsubst' � 'false', 'linsolve' n�o realiza substitui��o 5235 em equa��es anteriores ap�s as equa��es terem sido 5236 triangularizadas. Isso pode ser necess�rio em problemas muito 5237 grandes onde substitui��o em equa��es anteriores poder� causar a 5238 gera��o de express�es extremamente largas. 5239 5240 Quando 'linsolve_params' for 'true', 'linsolve' tamb�m gera 5241 s�mbolos '%r' usados para representar par�metros arbitr�rios 5242 descritos no manual sob 'algsys'. De outra forma, 'linsolve' 5243 resolve um menor-determinado sistema de equa��es com algumas 5244 vari�veis expressas em termos de outras. 5245 5246 Quando 'programmode' for 'false', 'linsolve' mostra a solu��o com 5247 express�es interm�dias com r�tulos ('%t'), e retorna a lista de 5248 r�tulos. 5249 5250 (%i1) e1: x + z = y; 5251 (%o1) z + x = y 5252 (%i2) e2: 2*a*x - y = 2*a^2; 5253 2 5254 (%o2) 2 a x - y = 2 a 5255 (%i3) e3: y - 2*z = 2; 5256 (%o3) y - 2 z = 2 5257 (%i4) [globalsolve: false, programmode: true]; 5258 (%o4) [false, true] 5259 (%i5) linsolve ([e1, e2, e3], [x, y, z]); 5260 (%o5) [x = a + 1, y = 2 a, z = a - 1] 5261 (%i6) [globalsolve: false, programmode: false]; 5262 (%o6) [false, false] 5263 (%i7) linsolve ([e1, e2, e3], [x, y, z]); 5264 Solution 5265 5266 (%t7) z = a - 1 5267 5268 (%t8) y = 2 a 5269 5270 (%t9) x = a + 1 5271 (%o9) [%t7, %t8, %t9] 5272 (%i9) ''%; 5273 (%o9) [z = a - 1, y = 2 a, x = a + 1] 5274 (%i10) [globalsolve: true, programmode: false]; 5275 (%o10) [true, false] 5276 (%i11) linsolve ([e1, e2, e3], [x, y, z]); 5277 Solution 5278 5279 (%t11) z : a - 1 5280 5281 (%t12) y : 2 a 5282 5283 (%t13) x : a + 1 5284 (%o13) [%t11, %t12, %t13] 5285 (%i13) ''%; 5286 (%o13) [z : a - 1, y : 2 a, x : a + 1] 5287 (%i14) [x, y, z]; 5288 (%o14) [a + 1, 2 a, a - 1] 5289 (%i15) [globalsolve: true, programmode: true]; 5290 (%o15) [true, true] 5291 (%i16) linsolve ([e1, e2, e3], '[x, y, z]); 5292 (%o16) [x : a + 1, y : 2 a, z : a - 1] 5293 (%i17) [x, y, z]; 5294 (%o17) [a + 1, 2 a, a - 1] 5295 5296 -- Vari�vel da class: linsolvewarn 5297 Valor por omiss�o: 'true' 5298 5299 Quando 'linsolvewarn' � 'true', 'linsolve' imprime uma mensagem 5300 "Dependent equa��es eliminated". 5301 5302 -- Vari�vel da class: linsolve_params 5303 Valor por omiss�o: 'true' 5304 5305 Quando 'linsolve_params' � 'true', 'linsolve' tamb�m gera os 5306 s�mbolos '%r' usados para representar par�metros arbitr�rios 5307 descritos no manual sob 'algsys'. De outra forma, 'linsolve' 5308 resolve um menor-determinado sistema de equa��es com algumas 5309 vari�veis expressas em termos e outras. 5310 5311 -- Vari�vel da class: multiplicities 5312 Valor por omiss�o: 'not_set_yet' 5313 5314 'multiplicities' � escolhida para uma lista de multiplicidades das 5315 solu��es individuais retornadas por 'solve' ou 'realroots'. 5316 5317 -- Fun��o da class: nroots (<p>, <low>, <high>) 5318 Retorna o n�mero de ra�zes reais do polin�mio real de uma �nica 5319 vari�vel <p> no intervalo semi-aberto '(<low>, <high>]'. Uma 5320 extremidade do intervalo podem ser 'minf' ou 'inf'. infinito e 5321 mais infinito. 5322 5323 'nroots' usa o m�todo das sequu�ncias de Sturm. 5324 5325 (%i1) p: x^10 - 2*x^4 + 1/2$ 5326 (%i2) nroots (p, -6, 9.1); 5327 (%o2) 4 5328 5329 -- Fun��o da class: nthroot (<p>, <n>) 5330 Onde p � um polin�mio com coeficientes inteiros e n � um inteiro 5331 positivo retorna q, um polin�mio sobre os inteiros, tal que q^n=p 5332 ou imprime uma mensagem de erro indicando que p n�o � uma pot�ncia 5333 n-�sima perfeita. Essa rotina � mais r�pida que 'factor' ou mesmo 5334 'sqfr'. 5335 5336 -- Vari�vel da class: programmode 5337 Valor por omiss�o: 'true' 5338 5339 Quando 'programmode' � 'true', 'solve', 'realroots', 'allroots', e 5340 'linsolve' retornam solu��es como elementos em uma lista. (Exceto 5341 quando 'backsubst' � escolhido para 'false', nesse caso 5342 'programmode: false' � assumido.) 5343 5344 Quando 'programmode' � 'false', 'solve', etc. cria r�tulos de 5345 express�es interm�dias '%t1', 't2', etc., e atribui as solu��es 5346 para eles. 5347 5348 -- Vari�vel da class: realonly 5349 Valor por omiss�o: 'false' 5350 5351 Quando 'realonly' � 'true', 'algsys' retorna somente aquelas 5352 solu��es que est�o livres de '%i'. 5353 5354 -- Fun��o da class: realroots (<expr>, <bound>) 5355 -- Fun��o da class: realroots (<eqn>, <bound>) 5356 -- Fun��o da class: realroots (<expr>) 5357 -- Fun��o da class: realroots (<eqn>) 5358 Calcula aproxima��es racionais das ra�zes reais da express�o 5359 polinomial <expr> ou da equa��o polinomial <eqn> de uma vari�vel, 5360 dentro de uma toler�ncia de <bound>. coeficientes de <expr> ou de 5361 <eqn> devem ser n�meros literais; constantes s�mbolo tais como 5362 '%pi' s�o rejeitadas. 5363 5364 'realroots' atribui as multiplicidades das ra�zes que encontrar 5365 para a vari�vel global 'multiplicities'. 5366 5367 'realroots' constr�i uma sequ�ncia de Sturm para delimitar cada 5368 ra�z, e ent�o palica a bisec��o para redefinir as aproxima��es. 5369 Todos os coeficientes s�o convertidos para os equivalentes 5370 racionais antes da busca por ra�zes, e c�lculos s�o realizados por 5371 meio de aritm�tica racional exacta. Mesmo se alguns coeficientes 5372 forem n�meros em ponto flutuante, os resultados s�o racionais (a 5373 menos que for�ados a n�meros em ponto flutuante por 'float' ou por 5374 'numer' flags). 5375 5376 Quando <bound> for menor que 1, todas as ra�zes inteiras s�o 5377 encontradas exactamente. Quando <bound> n�o for especificado, ser� 5378 assumido como sendo igual � vari�vel globa 'rootsepsilon'. 5379 5380 Quando a var�vel global 'programmode' for 'true', 'realroots' 5381 retorna uma lista da forma '[x = <x_1>, x = <x_2>, ...]'. Quando 5382 'programmode' for 'false', 'realroots' cria r�tulos de express�es 5383 interm�dias '%t1', '%t2', ..., atribui os resultados a eles, e 5384 retorna a lista de r�tulos. 5385 5386 Exemplos: 5387 5388 (%i1) realroots (-1 - x + x^5, 5e-6); 5389 612003 5390 (%o1) [x = ------] 5391 524288 5392 (%i2) ev (%[1], float); 5393 (%o2) x = 1.167303085327148 5394 (%i3) ev (-1 - x + x^5, %); 5395 (%o3) - 7.396496210176905E-6 5396 5397 (%i1) realroots (expand ((1 - x)^5 * (2 - x)^3 * (3 - x)), 1e-20); 5398 (%o1) [x = 1, x = 2, x = 3] 5399 (%i2) multiplicities; 5400 (%o2) [5, 3, 1] 5401 5402 -- Fun��o da class: rhs (<expr>) 5403 Retorna o lado direito (isto �, o segundo argumento) da express�o 5404 <expr>, quando o operador de <expr> for um dos operadores 5405 relacionais '< <= = # equal notequal >= >', um dos operadores de 5406 atribui��o ':= ::= : ::', ou um operador bin�rio infixo definido 5407 pelo utilizador, como declarado por meio de 'infix'. 5408 5409 Quando <expr> for um �tomo ou seu operadro for alguma coisa que n�o 5410 esses listados acima, 'rhs' retorna 0. 5411 5412 Veja tamb�m 'lhs'. 5413 5414 Exemplos: 5415 5416 (%i1) e: aa + bb = cc; 5417 (%o1) bb + aa = cc 5418 (%i2) lhs (e); 5419 (%o2) bb + aa 5420 (%i3) rhs (e); 5421 (%o3) cc 5422 (%i4) [rhs (aa < bb), rhs (aa <= bb), rhs (aa >= bb), rhs (aa > bb)]; 5423 (%o4) [bb, bb, bb, bb] 5424 (%i5) [rhs (aa = bb), rhs (aa # bb), rhs (equal (aa, bb)), rhs (notequal (aa, bb))]; 5425 (%o5) [bb, bb, bb, bb] 5426 (%i6) e1: '(foo(x) := 2*x); 5427 (%o6) foo(x) := 2 x 5428 (%i7) e2: '(bar(y) ::= 3*y); 5429 (%o7) bar(y) ::= 3 y 5430 (%i8) e3: '(x : y); 5431 (%o8) x : y 5432 (%i9) e4: '(x :: y); 5433 (%o9) x :: y 5434 (%i10) [rhs (e1), rhs (e2), rhs (e3), rhs (e4)]; 5435 (%o10) [2 x, 3 y, y, y] 5436 (%i11) infix ("]["); 5437 (%o11) ][ 5438 (%i12) rhs (aa ][ bb); 5439 (%o12) bb 5440 5441 -- Vari�vel de op��o da class: rootsconmode 5442 Valor por omiss�o: 'true' 5443 5444 'rootsconmode' governa o comportamento do comando 'rootscontract'. 5445 Veja 'rootscontract' para detalhes. 5446 5447 -- Fun��o da class: rootscontract (<expr>) 5448 Converte produtos de ra�zes em ra�zes de produtos. Por exemplo, 5449 'rootscontract (sqrt(x)*y^(3/2))' retorna 'sqrt(x*y^3)'. 5450 5451 Quando 'radexpand' � 'true' e 'domain' � 'real', 'rootscontract' 5452 converte 'abs' em 'sqrt', e.g., 'rootscontract (abs(x)*sqrt(y))' 5453 retorna 'sqrt(x^2*y)'. 5454 5455 Existe uma op��o 'rootsconmode' afectando 'rootscontract' como 5456 segue: 5457 5458 Problem Value of Result of applying 5459 rootsconmode rootscontract 5460 5461 x^(1/2)*y^(3/2) false (x*y^3)^(1/2) 5462 x^(1/2)*y^(1/4) false x^(1/2)*y^(1/4) 5463 x^(1/2)*y^(1/4) true (x*y^(1/2))^(1/2) 5464 x^(1/2)*y^(1/3) true x^(1/2)*y^(1/3) 5465 x^(1/2)*y^(1/4) all (x^2*y)^(1/4) 5466 x^(1/2)*y^(1/3) all (x^3*y^2)^(1/6) 5467 5468 Quando 'rootsconmode' � 'false', 'rootscontract' contrai somente 5469 como rela��o a expoentes de n�mero racional cujos denominadores s�o 5470 os mesmos. A chave para os exemplos 'rootsconmode: true' � 5471 simplesmente que 2 divides 4 mas n�o divide 3. 'rootsconmode: all' 5472 envolve pegar o menor m�ltiplo comum dos denominadores dos 5473 expoentes. 5474 5475 'rootscontract' usa 'ratsimp' em uma maneira similar a 5476 'logcontract'. 5477 5478 Exemplos: 5479 5480 (%i1) rootsconmode: false$ 5481 (%i2) rootscontract (x^(1/2)*y^(3/2)); 5482 3 5483 (%o2) sqrt(x y ) 5484 (%i3) rootscontract (x^(1/2)*y^(1/4)); 5485 1/4 5486 (%o3) sqrt(x) y 5487 (%i4) rootsconmode: true$ 5488 (%i5) rootscontract (x^(1/2)*y^(1/4)); 5489 (%o5) sqrt(x sqrt(y)) 5490 (%i6) rootscontract (x^(1/2)*y^(1/3)); 5491 1/3 5492 (%o6) sqrt(x) y 5493 (%i7) rootsconmode: all$ 5494 (%i8) rootscontract (x^(1/2)*y^(1/4)); 5495 2 1/4 5496 (%o8) (x y) 5497 (%i9) rootscontract (x^(1/2)*y^(1/3)); 5498 3 2 1/6 5499 (%o9) (x y ) 5500 (%i10) rootsconmode: false$ 5501 (%i11) rootscontract (sqrt(sqrt(x) + sqrt(1 + x)) 5502 *sqrt(sqrt(1 + x) - sqrt(x))); 5503 (%o11) 1 5504 (%i12) rootsconmode: true$ 5505 (%i13) rootscontract (sqrt(5 + sqrt(5)) - 5^(1/4)*sqrt(1 + sqrt(5))); 5506 (%o13) 0 5507 5508 -- Vari�vel de op��o da class: rootsepsilon 5509 Valor por omiss�o: 1.0e-7 5510 5511 'rootsepsilon' � a toler�ncia que estabelece o intervalo de 5512 confic�ncia para as ra�zes achadas pela fun��o 'realroots'. 5513 5514 -- Fun��o da class: solve (<expr>, <x>) 5515 -- Fun��o da class: solve (<expr>) 5516 -- Fun��o da class: solve ([<eqn_1>, ..., <eqn_n>], [<x_1>, ..., 5517 <x_n>]) 5518 Resolve a equa��o alg�brica <expr> para a vari�vel <x> e retorna 5519 uma lista de equa��es solu��o em <x>. Se <expr> n�o � uma equa��o, 5520 a equa��o '<expr> = 0' � assumida em seu lugar. <x> pode ser uma 5521 fun��o (e.g. 'f(x)'), ou outra express�o n�o at�mica excepto uma 5522 adi��o ou um produto. <x> pode ser omitido se <expr> cont�m 5523 somente uma vari�vel. <expr> pode ser uma express�o racional, e 5524 pode conter fun��es trigonom�tricas, exponenciais, etc. 5525 5526 O seguinte m�todo � usado: 5527 5528 Tome <E> sendo a express�o e <X> sendo a vari�vel. Se <E> � linear 5529 em <X> ent�o isso � trivialmente resolvido para <X>. De outra 5530 forma se <E> � da forma 'A*X^N + B' ent�o o resultado � 5531 '(-B/A)^1/N)' vezes as 'N''�simas ra�zes da unidade. 5532 5533 Se <E> n�o � linear em <X> ent�o o m�ximo divisor comum (mdc) dos 5534 expoentes de <X> em <E> (digamos <N>) � dividido dentro dos 5535 expoentes e a multiplicidade das ra�zes � multiplicada por <N>. 5536 Ent�o 'solve' � chamada novamente sobre o resultado. Se <E> for 5537 dada em factores ent�o 'solve' � chamada sobre cada um dos 5538 factores. Finalmente 'solve' usar� as f�rmulas quadr�ticas, 5539 c�bicas, ou qu�rticas onde necess�rio. 5540 5541 No caso onde <E> for um polin�mio em alguma fun��o de vari�vel a 5542 ser resolvida, digamos 'F(X)', ent�o isso � primeiro resolvida para 5543 'F(X)' (chama o resultado <C>), ent�o a equa��o 'F(X)=C' pode ser 5544 resolvida para <X> fornecendo o inverso da fun��o <F> que � 5545 conhecida. 5546 5547 'breakup' se 'false' far� com que 'solve' expresse as solu��es de 5548 equa��es c�bicas ou qu�rticas como express�es simples ao inv�s de 5549 como feito em cima de v�rias subexpress�es comuns que � o padr�o. 5550 5551 'multiplicities' - ser� escolhido para uma lista de multiplicidades 5552 de solu��es individuais retornadas por 'solve', 'realroots', ou 5553 'allroots'. Tente 'apropos (solve)' para os comutadores que 5554 afectam 'solve'. 'describe' pode ent�o ser usada sobre o nome do 5555 comutador individual se seu propr�sito n�o � claro. 5556 5557 'solve ([<eqn_1>, ..., <eqn_n>], [<x_1>, ..., <x_n>])' resolve um 5558 sistema de equa��es polinomiais (lineares ou n�o-lineares) 5559 simult�neas por chamada a 'linsolve' ou 'algsys' e retorna uma 5560 lista de listas solu��o nas vari�veis. No caso de 'linsolve' essa 5561 lista conter� uma lista simples de solu��es. Isso pega duas listas 5562 como argumentos. A primeira lista representa as equa��es a serem 5563 resolvidas; a segunda lista � a lista de desconhecidos a ser 5564 determinada. Se o n�mero total de vari�veis nas equa��es � igual 5565 ao n�mero de equa��es, a segunda lista-argumento pode ser omitida. 5566 Para sistemas lineares se as dadas equa��es n�o s�o compat�veis, a 5567 mensagem 'inconsistent' ser� mostrada (veja o comutador 5568 'solve_inconsistent_error' ); se n�o existe solu��o �nica, ent�o 5569 'singular' ser� mostrado. 5570 5571 Exemplos: 5572 5573 (%i1) solve (asin (cos (3*x))*(f(x) - 1), x); 5574 5575 SOLVE is using arc-trig functions to get a solution. 5576 Some solu��es will be lost. 5577 %pi 5578 (%o1) [x = ---, f(x) = 1] 5579 6 5580 (%i2) ev (solve (5^f(x) = 125, f(x)), solveradcan); 5581 log(125) 5582 (%o2) [f(x) = --------] 5583 log(5) 5584 (%i3) [4*x^2 - y^2 = 12, x*y - x = 2]; 5585 2 2 5586 (%o3) [4 x - y = 12, x y - x = 2] 5587 (%i4) solve (%, [x, y]); 5588 (%o4) [[x = 2, y = 2], [x = .5202594388652008 %i 5589 5590 - .1331240357358706, y = .0767837852378778 5591 5592 - 3.608003221870287 %i], [x = - .5202594388652008 %i 5593 5594 - .1331240357358706, y = 3.608003221870287 %i 5595 5596 + .0767837852378778], [x = - 1.733751846381093, 5597 5598 y = - .1535675710019696]] 5599 (%i5) solve (1 + a*x + x^3, x); 5600 3 5601 sqrt(3) %i 1 sqrt(4 a + 27) 1 1/3 5602 (%o5) [x = (- ---------- - -) (--------------- - -) 5603 2 2 6 sqrt(3) 2 5604 5605 sqrt(3) %i 1 5606 (---------- - -) a 5607 2 2 5608 - --------------------------, x = 5609 3 5610 sqrt(4 a + 27) 1 1/3 5611 3 (--------------- - -) 5612 6 sqrt(3) 2 5613 5614 3 5615 sqrt(3) %i 1 sqrt(4 a + 27) 1 1/3 5616 (---------- - -) (--------------- - -) 5617 2 2 6 sqrt(3) 2 5618 5619 sqrt(3) %i 1 5620 (- ---------- - -) a 5621 2 2 5622 - --------------------------, x = 5623 3 5624 sqrt(4 a + 27) 1 1/3 5625 3 (--------------- - -) 5626 6 sqrt(3) 2 5627 5628 3 5629 sqrt(4 a + 27) 1 1/3 a 5630 (--------------- - -) - --------------------------] 5631 6 sqrt(3) 2 3 5632 sqrt(4 a + 27) 1 1/3 5633 3 (--------------- - -) 5634 6 sqrt(3) 2 5635 (%i6) solve (x^3 - 1); 5636 sqrt(3) %i - 1 sqrt(3) %i + 1 5637 (%o6) [x = --------------, x = - --------------, x = 1] 5638 2 2 5639 (%i7) solve (x^6 - 1); 5640 sqrt(3) %i + 1 sqrt(3) %i - 1 5641 (%o7) [x = --------------, x = --------------, x = - 1, 5642 2 2 5643 5644 sqrt(3) %i + 1 sqrt(3) %i - 1 5645 x = - --------------, x = - --------------, x = 1] 5646 2 2 5647 (%i8) ev (x^6 - 1, %[1]); 5648 6 5649 (sqrt(3) %i + 1) 5650 (%o8) ----------------- - 1 5651 64 5652 (%i9) expand (%); 5653 (%o9) 0 5654 (%i10) x^2 - 1; 5655 2 5656 (%o10) x - 1 5657 (%i11) solve (%, x); 5658 (%o11) [x = - 1, x = 1] 5659 (%i12) ev (%th(2), %[1]); 5660 (%o12) 0 5661 5662 -- Vari�vel de op��o da class: solvedecomposes 5663 Valor por omiss�o: 'true' 5664 5665 Quando 'solvedecomposes' � 'true', 'solve' chama 'polydecomp' se 5666 perguntado para resolver polin�mios. 5667 5668 -- Vari�vel de op��o da class: solveexplicit 5669 Valor por omiss�o: 'false' 5670 5671 Quando 'solveexplicit' � 'true', inibe 'solve' de retornar solu��es 5672 impl�citas, isto �, solu��es da forma 'F(x) = 0' onde 'F' � alguma 5673 fun��o. 5674 5675 -- Vari�vel de op��o da class: solvefactors 5676 Valor por omiss�o: 'true' 5677 5678 Quando 'solvefactors' � 'false', 'solve' n�o tenta factorizar a 5679 express�o. A escolha do 'false' poder� ser �til em alguns casos 5680 onde a factoriza��o n�o � necess�ria. 5681 5682 -- Vari�vel de op��o da class: solvenullwarn 5683 Valor por omiss�o: 'true' 5684 5685 Quando 'solvenullwarn' � 'true', 'solve' imprime uma mensagem de 5686 alerta se chamada com ou uma lista equa��o ou uma vari�vel lista 5687 nula. Por exemplo, 'solve ([], [])' imprimir� duas mensagens de 5688 alerta e retorna '[]'. 5689 5690 -- Vari�vel de op��o da class: solveradcan 5691 Valor por omiss�o: 'false' 5692 5693 Quando 'solveradcan' � 'true', 'solve' chama 'radcan' que faz 5694 'solve' lento mas permitir� certamente que problemas contendo 5695 exponeniais e logaritmos sejam resolvidos. 5696 5697 -- Vari�vel de op��o da class: solvetrigwarn 5698 Valor por omiss�o: 'true' 5699 5700 Quando 'solvetrigwarn' � 'true', 'solve' pode imprimir uma mensagem 5701 dizendo que est� usando fun��es trigonom�tricas inversas para 5702 resolver a equa��o, e desse modo perdendo solu��es. 5703 5704 -- Vari�vel de op��o da class: solve_inconsistent_error 5705 Valor por omiss�o: 'true' 5706 5707 Quando 'solve_inconsistent_error' � 'true', 'solve' e 'linsolve' 5708 resultam em erro se as equa��es a serem resolvidas s�o 5709 inconsistentes. 5710 5711 Se 'false', 'solve' e 'linsolve' retornam uma lista vazia '[]' se 5712 as equa��es forem inconsistentes. 5713 5714 Exemplo: 5715 5716 (%i1) solve_inconsistent_error: true$ 5717 (%i2) solve ([a + b = 1, a + b = 2], [a, b]); 5718 Inconsistent equa��es: (2) 5719 -- an error. Quitting. To debug this try debugmode(true); 5720 (%i3) solve_inconsistent_error: false$ 5721 (%i4) solve ([a + b = 1, a + b = 2], [a, b]); 5722 (%o4) [] 5723 5724 5725File: maxima.info, Node: Equa��es Diferenciais, Next: Num�rico, Prev: Equa��es, Up: Top 5726 572722, Equa��es Diferenciais 5728************************* 5729 5730* Menu: 5731 5732* Introdu��o �s Equa��es Diferenciais:: 5733* Defini��es para Equa��es Diferenciais:: 5734 5735 5736File: maxima.info, Node: Introdu��o �s Equa��es Diferenciais, Next: Defini��es para Equa��es Diferenciais, Prev: Equa��es Diferenciais, Up: Equa��es Diferenciais 5737 573822.1, Introdu��o �s Equa��es Diferenciais 5739========================================= 5740 5741Esta sec��o descreve as fun��es dispon�veis no Maxima para obter a 5742solu��o anal�tica de alguns tipos espec�ficos de equa��es diferencias de 5743primeira e segunda ordem. Para obter a solu��o num�rica dum sistema de 5744equa��es diferenciais, consulte o pacote adicional 'dynamics'. Para 5745obter representa��es gr�ficas no espa�o de fase, consulte o pacote 5746adicional 'plotdf'. 5747 5748 5749File: maxima.info, Node: Defini��es para Equa��es Diferenciais, Prev: Introdu��o �s Equa��es Diferenciais, Up: Equa��es Diferenciais 5750 575122.2, Defini��es para Equa��es Diferenciais 5752=========================================== 5753 5754 -- Fun��o da class: bc2 (<solu��o>, <xval1>, <yval1>, <xval2>, <yval2>) 5755 Resolve um problema de valores fronteira para uma equa��o 5756 diferencial de segunda ordem. Aqui: <solu��o> � uma solu��o geral 5757 para a equa��o, calculada por 'ode2'; <xval1> define o valor da 5758 vari�vel independente, num primeiro ponto, na forma '<x> = <x1>', e 5759 <yval1> define o valor da vari�vel dependente, no mesmo ponto, na 5760 forma '<y> = <y1>'. As express�es <xval2> e <yval2> definem os 5761 valores das mesmas vari�veis, num segundo ponto, usando a mesma 5762 forma. 5763 5764 Veja um exemplo da sua utiliza��o na documenta��o de 'ode2'. 5765 5766 -- Fun��o da class: desolve (<eqn>, <x>) 5767 -- Fun��o da class: desolve ([<eqn_1>, ..., <eqn_n>], [<x_1>, ..., 5768 <x_n>]) 5769 A fun��o 'dsolve' resolve sistemas de equa��es diferenciais 5770 ordin�rias lineares usando transformada de Laplace. Aqui as 5771 express�es <eqn> s�o equa��es diferenciais nas vari�veis 5772 dependentes <x_1>, ..., <x_n>. A rela��o funcional de <x_1>, ..., 5773 <x_n> na vari�vel independente deve ser indicada explicitamente nas 5774 vari�veis e nas suas derivadas. Por exemplo, esta forma de definir 5775 as equa��es n�o seria correcta: 5776 5777 eqn_1: 'diff(f,x,2) = sin(x) + 'diff(g,x); 5778 eqn_2: 'diff(f,x) + x^2 - f = 2*'diff(g,x,2); 5779 5780 A forma correcta seria: 5781 5782 eqn_1: 'diff(f(x),x,2) = sin(x) + 'diff(g(x),x); 5783 eqn_2: 'diff(f(x),x) + x^2 - f(x) = 2*'diff(g(x),x,2); 5784 5785 Assim, a chamada � fun��o 'desolve' seria: 5786 desolve([eqn_1, eqn_2], [f(x),g(x)]); 5787 5788 Se as condi��es iniciais em 'x=0' forem conhecidas, poder�o ser 5789 fornecidas antes de usar 'desolve', atrav�s de 'atvalue'. 5790 5791 (%i1) 'diff(f(x),x)='diff(g(x),x)+sin(x); 5792 d d 5793 (%o1) -- (f(x)) = -- (g(x)) + sin(x) 5794 dx dx 5795 (%i2) 'diff(g(x),x,2)='diff(f(x),x)-cos(x); 5796 2 5797 d d 5798 (%o2) --- (g(x)) = -- (f(x)) - cos(x) 5799 2 dx 5800 dx 5801 (%i3) atvalue('diff(g(x),x),x=0,a); 5802 (%o3) a 5803 (%i4) atvalue(f(x),x=0,1); 5804 (%o4) 1 5805 (%i5) desolve([%o1,%o2],[f(x),g(x)]); 5806 x 5807 (%o5) [f(x) = a %e - a + 1, g(x) = 5808 5809 x 5810 cos(x) + a %e - a + g(0) - 1] 5811 (%i6) [%o1,%o2],%o5,diff; 5812 x x x x 5813 (%o6) [a %e = a %e , a %e - cos(x) = a %e - cos(x)] 5814 5815 5816 Se 'desolve' n�o pode obter uma solu��o, retorna 'false'. 5817 5818 -- Fun��o da class: ic1 (<solu��o>, <xval>, <yval>) 5819 Resolve problemas de valor inicial para equa��es diferenciais de 5820 primeira ordem. Aqui <solu��o> � uma solu��o geral para a equa��o, 5821 na forma dada por 'ode2', <xval> d� um valor inicial para a 5822 vari�vel independente, na forma '<x> = <x0>', e <yval> d� o valor 5823 inicial para a vari�vel dependente, na forma '<y> = <y0>'. 5824 5825 Veja um exemplo da sua utiliza��o na documenta��o de 'ode2'. 5826 5827 -- Fun��o da class: ic2 (<solu��o>, <xval>, <yval>, <dval>) 5828 Resolve problemas de valores iniciais para equa��es diferenciais de 5829 segunda ordem. Aqui <solu��o> � uma solu��o geral para a equa��o, 5830 na forma dada por 'ode2', <xval> d� um valor inicial para a 5831 vari�vel independente, na forma '<x> = <x0>', <yval> d� o valor 5832 inicial para a vari�vel dependente, na forma '<y> = <y0>' e <dval> 5833 d� o valor inicial para a primeira derivada da vari�vel dependente, 5834 em fun��o da vari�vel independente, na forma 'diff(<y>,<x>) = 5835 <dy0>' ('diff' n�o tem que ser precedido por ap�strofo). 5836 5837 Veja um exemplo da sua utiliza��o na documenta��o de 'ode2'. 5838 5839 -- Fun��o da class: ode2 (<eqn>, <dvar>, <ivar>) 5840 A fun��o 'ode2' resolve uma equa��o diferencial ordin�ria (EDO) de 5841 primeira ou de segunda ordem. Precisa de tr�s argumentos: uma EDO 5842 dada por <eqn>, a vari�vel dependente <dvar>, e a vari�vel 5843 independente <ivar>. Quando conseguir, retorna uma solu��o para a 5844 vari�vel dependente, na forma expl�cita ou impl�cita. '%c' � usado 5845 para representar a constante de integra��o no caso de equa��es de 5846 primeira ordem, e '%k1' e '%k2' as constantes para equa��es de 5847 segunda ordem. A depend�ncia da vari�vel dependente na vari�vel 5848 independente n�o tem que ser escrita em forma expl�cita, como no 5849 caso de 'desolve', mas a vari�vel independente dever� ser indicada 5850 sempre no terceiro argumento. 5851 5852 Se por alguma raz�o 'ode2' n�o conseguir encontrar a solu��o, 5853 retornar� 'false', ap�s talvez mostrar uma mensagem de erro. Os 5854 m�todos implementados para equa��es diferenciais de primeira ordem, 5855 na ordem em que ser�o testados, s�o: linear, separ�vel, exacta - 5856 talvez requerendo um factor de integra��o, homog�nea, equa��o de 5857 Bernoulli, homog�nea generalizada. Os tipos de equa��es de segunda 5858 ordem que podem ser resolvidas s�o: coeficientes constantes, 5859 exactas, linear homog�neas com coeficientes n�o-constantes que 5860 possam ser transformados para constates, equa��o de Euler ou 5861 equi-dimensional, equa��es que possam ser resolvidas pelo m�todo de 5862 varia��o dos par�metros, e equa��es que n�o dependam ou da vari�vel 5863 independente ou da vari�vel dependente de modo que possam ser 5864 reduzidas a duas equa��es lineares de primeira ordem a serem 5865 resolvidas sequ�ncialmente. 5866 5867 Durante o processo de resolu��o da EDO, ser�o dados valores a 5868 v�rias vari�veis locais, com fins puramente informativos: 'm�todo' 5869 denota o m�todo de solu��o usado (por exemplo, 'linear'), 5870 'intfactor' denota qualquer factor integrante utilizado, 'odeindex' 5871 denota o �ndice para o m�todo de Bernoulli ou para o m�todo 5872 homog�neo generalizado, e 'yp' denota a solu��o particular no 5873 m�todo de varia��o dos par�metros. 5874 5875 Para resolver problemas de valores iniciais (PVI) est�o dispon�veis 5876 as fun��es 'ic1' e 'ic2'e, para equa��es de primeira e segunda 5877 ordem, e para resolver problemas de valores fronteira (PVF) de 5878 segunda ordem pode usar-se a fun��o 'bc2'. 5879 5880 Exemplo: 5881 5882 (%i1) x^2*'diff(y,x) + 3*y*x = sin(x)/x; 5883 2 dy sin(x) 5884 (%o1) x -- + 3 x y = ------ 5885 dx x 5886 (%i2) ode2(%,y,x); 5887 %c - cos(x) 5888 (%o2) y = ----------- 5889 3 5890 x 5891 (%i3) ic1(%o2,x=%pi,y=0); 5892 cos(x) + 1 5893 (%o3) y = - ---------- 5894 3 5895 x 5896 (%i4) 'diff(y,x,2) + y*'diff(y,x)^3 = 0; 5897 2 5898 d y dy 3 5899 (%o4) --- + y (--) = 0 5900 2 dx 5901 dx 5902 (%i5) ode2(%,y,x); 5903 3 5904 y + 6 %k1 y 5905 (%o5) ------------ = x + %k2 5906 6 5907 (%i6) ratsimp(ic2(%o5,x=0,y=0,'diff(y,x)=2)); 5908 3 5909 2 y - 3 y 5910 (%o6) - ---------- = x 5911 6 5912 (%i7) bc2(%o5,x=0,y=1,x=1,y=3); 5913 3 5914 y - 10 y 3 5915 (%o7) --------- = x - - 5916 6 2 5917 5918 5919 5920File: maxima.info, Node: Num�rico, Next: Arrays, Prev: Equa��es Diferenciais, Up: Top 5921 592223, Num�rico 5923************ 5924 5925* Menu: 5926 5927* Introdu��o a Num�rico:: 5928* Pacotes de Fourier:: 5929* Defini��es para Num�rico:: 5930* Defini��es para S�ries de Fourier:: 5931 5932 5933File: maxima.info, Node: Introdu��o a Num�rico, Next: Pacotes de Fourier, Prev: Num�rico, Up: Num�rico 5934 593523.1, Introdu��o a Num�rico 5936=========================== 5937 5938 5939File: maxima.info, Node: Pacotes de Fourier, Next: Defini��es para Num�rico, Prev: Introdu��o a Num�rico, Up: Num�rico 5940 594123.2, Pacotes de Fourier 5942======================== 5943 5944O pacote 'fft' compreende fun��es para computa��o num�rica (n�o 5945simb�lica) das transforma��es r�pidas de Fourier. 'load ("fft")' chama 5946esse pacote. Veja 'fft'. 5947 5948O pacote 'fourie' compreende fun��es para computa��o simb�lica de s�ries 5949de Fourier. 'load ("fourie")' chama esse pacote. Existem fun��es no 5950pacote 'fourie' para calcular coeficientes da integral de Fourier e 5951algumas fun��es para manipula��o de express�es. Veja 'Defini��es para 5952S�ries'. 5953 5954 5955File: maxima.info, Node: Defini��es para Num�rico, Next: Defini��es para S�ries de Fourier, Prev: Pacotes de Fourier, Up: Num�rico 5956 595723.3, Defini��es para Num�rico 5958============================== 5959 5960 -- Fun��o da class: polartorect (<magnitude_array>, <phase_array>) 5961 5962 Traduz valores complexos da forma 'r %e^(%i t)' para a forma 'a + b 5963 %i'. 'load ("fft")' chama essa fun��o dentro do Maxima. Veja 5964 tamb�m 'fft'. 5965 5966 O m�dulo e a fase, 'r' e 't', S�o tomados de <magnitude_array> e 5967 <phase_array>, respectivamente. Os valores originais de arrays de 5968 entrada s�o substitu�dos pelas partes real e emagin�ria, 'a' e 'b', 5969 no retorno. As sa�das s�o calculadas como 5970 5971 a: r cos (t) 5972 b: r sin (t) 5973 5974 Os arrays de entrada devem ter o mesmo tamanho e ser 5975 unidimensionais. O tamanho do array n�o deve ser uma pot�ncia de 5976 2. 5977 5978 'polartorect' � a fun��o inversa de 'recttopolar'. 5979 5980 -- Fun��o da class: recttopolar (<real_array>, <imaginary_array>) 5981 5982 Traduz valores complexos da forma 'a + b %i' para a forma 'r %e^(%i 5983 t)'. 'load ("fft")' chama essa fun��o dentro do Maxima. Veja 5984 tamb�m 'fft'. 5985 5986 As partes real e imagin�ria, 'a' e 'b', s�o tomadas de <real_array> 5987 e <imaginary_array>, respectivamente. Os valores originais dos 5988 arrays de entrada s�o substitu�dos pelo m�dulo e pelo �ngulo, 'r' e 5989 't', no retorno. As sa�das s�o calculadas como 5990 5991 r: sqrt (a^2 + b^2) 5992 t: atan2 (b, a) 5993 5994 O �ngulo calculado encontra-se no intervalo de '-%pi' a '%pi'. 5995 5996 Os arrays de entrada devem ter o mesmo tamanho e ser 5997 unidimensionais. O tamanho do array n�o deve ser uma pot�ncia de 5998 2. 5999 6000 'recttopolar' � a fun��o inversa de 'polartorect'. 6001 6002 -- Fun��o da class: ift (<real_array>, <imaginary_array>) 6003 6004 Transforma��o r�pida inversa discreta de Fourier . 'load ("fft")' 6005 chama essa fun��o dentro do Maxima. 6006 6007 'ift' realiza a transforma��o r�pida complexa de Fourier sobre 6008 arrays em ponto flutuante unidimensionais. A transforma��o inversa 6009 � definida como 6010 6011 x[j]: sum (y[j] exp (+2 %i %pi j k / n), k, 0, n-1) 6012 6013 Veja 'fft' para maiores detalhes. 6014 6015 -- Fun��o da class: fft (<real_array>, <imaginary_array>) 6016 -- Fun��o da class: ift (<real_array>, <imaginary_array>) 6017 -- Fun��o da class: recttopolar (<real_array>, <imaginary_array>) 6018 -- Fun��o da class: polartorect (<magnitude_array>, <phase_array>) 6019 6020 Transforma��o r�pidada de Fourier e fun��es relacionadas. 'load 6021 ("fft")' chama essas fun��es dentro do Maxima. 6022 6023 'fft' e 'ift' realiza transforma��o r�pida complexa de Fourier e a 6024 transforma��o inversa, respectivamente, sobre arrays em ponto 6025 flutuante unidimensionais. O tamanho de <imaginary_array> deve ser 6026 igual ao tamanho de <real_array>. 6027 6028 'fft' e 'ift' operam in-loco. Isto �, sobre o retorno de 'fft' ou 6029 de 'ift', O conte�do original dos arrays de entrada � substitu�do 6030 pela sa�da. A fun��o 'fillarray' pode fazer uma c�pia de um array, 6031 isso pode ser necess�rio. 6032 6033 A transforma��o discreta de Fourier e sua transforma��o inversa s�o 6034 definidas como segue. Tome 'x' sendo os dados originais, com 6035 6036 x[i]: real_array[i] + %i imaginary_array[i] 6037 6038 Tome 'y' sendo os dados transformados. A transforma��o normal e 6039 sua transforma��o inversa s�o 6040 6041 y[k]: (1/n) sum (x[j] exp (-2 %i %pi j k / n), j, 0, n-1) 6042 6043 x[j]: sum (y[j] exp (+2 %i %pi j k / n), k, 0, n-1) 6044 6045 Arrays adequadas podem ser alocadas pela fun��o 'array'. Por 6046 exemplo: 6047 6048 array (my_array, float, n-1)$ 6049 6050 declara um array unidimensional com n elementos, indexado de 0 a 6051 n-1 inclusive. O n�mero de elementos n deve ser igual a 2^m para 6052 algum m. 6053 6054 'fft' pode ser aplicada a dados reais (todos os arrays imagin�rios 6055 s�o iguais a zero) para obter coeficientes seno e co-seno. Ap�s 6056 chamar 'fft', os coeficientes seno e co-seno, digamos 'a' e 'b', 6057 podem ser calculados como 6058 6059 a[0]: real_array[0] 6060 b[0]: 0 6061 6062 e 6063 6064 a[j]: real_array[j] + real_array[n-j] 6065 b[j]: imaginary_array[j] - imaginary_array[n-j] 6066 6067 para j variando de 1 a n/2-1, e 6068 6069 a[n/2]: real_array[n/2] 6070 b[n/2]: 0 6071 6072 'recttopolar' traduz valores complexos da forma 'a + b %i' para a 6073 forma 'r %e^(%i t)'. Veja 'recttopolar'. 6074 6075 'polartorect' traduz valores complexos da forma 'r %e^(%i t)' para 6076 a forma 'a + b %i'. Veja 'polartorect'. 6077 6078 'demo ("fft")' exibe uma demonstra��o do pacote 'fft'. 6079 6080 -- Vari�vel de op��o da class: fortindent 6081 Valor por omiss�o: 0 6082 6083 'fortindent' controla a margem esquerda de indenta��o de express�es 6084 mostradas pelo comando 'fortran'. 0 fornece indenta��o normal 6085 (i.e., 6 espa�os), e valores positivos far�o com que express�es 6086 sejam mostrados mais al�m para a direita. 6087 6088 -- Fun��o da class: fortran (<expr>) 6089 Mostra <expr> como uma declara��o Fortran. A linha de sa�da � 6090 indentada com espa�os. Se a linha for muito longa, 'fortran' 6091 imprime linhas de continua��o. 'fortran' mostra o operador de 6092 exponencia��o '^' como '**', e mostra um n�mero complexo 'a + b %i' 6093 na forma '(a,b)'. 6094 6095 <expr> pode ser uma equa��o. Nesse caso, 'fortran' mostra uma 6096 declara��o de atribui��o, atribuindo o primeiro membro (esquerda) 6097 da equa��o ao segundo membro (direita). Em particular, se o 6098 primeiro membro <expr> � um nome de uma matriz, ent�o 'fortran' 6099 mostra uma declara��o de atribui��o para cada elemento da matriz. 6100 6101 Se <expr> n�o for alguma coisa reconhecida por 'fortran', a 6102 express�o � mostrada no formato 'grind' sem reclama��o. 'fortran' 6103 n�o conhece listas, arrays ou fun��es. 6104 6105 'fortindent' controla o margem esquerda das linhas mostradas. 0 � 6106 a margem normal (i.e., indentada 6 espa�os). Incrementando 6107 'fortindent' faz com que express�es sejam mostradas adiante para a 6108 direita. 6109 6110 quando 'fortspaces' for 'true', 'fortran' preenche cada linha 6111 mostrada com espa�os em branco at� completar 80 columas. 6112 6113 'fortran' avalia seus argumentos; colocando um ap�strofo em um 6114 argumento evita avalia��o. 'fortran' sempre retorna 'done'. 6115 6116 Exemplos: 6117 6118 (%i1) expr: (a + b)^12$ 6119 (%i2) fortran (expr); 6120 (b+a)**12 6121 (%o2) done 6122 (%i3) fortran ('x=expr); 6123 x = (b+a)**12 6124 (%o3) done 6125 (%i4) fortran ('x=expand (expr)); 6126 x = b**12+12*a*b**11+66*a**2*b**10+220*a**3*b**9+495*a**4*b**8+792 6127 1 *a**5*b**7+924*a**6*b**6+792*a**7*b**5+495*a**8*b**4+220*a**9*b 6128 2 **3+66*a**10*b**2+12*a**11*b+a**12 6129 (%o4) done 6130 (%i5) fortran ('x=7+5*%i); 6131 x = (7,5) 6132 (%o5) done 6133 (%i6) fortran ('x=[1,2,3,4]); 6134 x = [1,2,3,4] 6135 (%o6) done 6136 (%i7) f(x) := x^2$ 6137 (%i8) fortran (f); 6138 f 6139 (%o8) done 6140 6141 -- Vari�vel de op��o da class: fortspaces 6142 Valor por omiss�o: 'false' 6143 6144 Quando 'fortspaces' for 'true', 'fortran' preenche cada linha 6145 mostrada com espa�os em branco at� completar 80 columas. 6146 6147 -- Fun��o da class: horner (<expr>, <x>) 6148 -- Fun��o da class: horner (<expr>) 6149 Retorna uma representa��o rearranjada de <expr> como na regra de 6150 Horner, usando <x> como vari�vel principal se isso for 6151 especificado. 'x' pode ser omitido e nesse caso a vari�vel 6152 principal da forma de express�o racional can�nica de <expr> � 6153 usada. 6154 6155 'horner' algumas vezes melhora a estabilidade se 'expr' for ser 6156 numericamente avaliada. Isso tamb�m � �til se Maxima � usado para 6157 gerar programas para rodar em Fortran. Veja tamb�m 'stringout'. 6158 6159 (%i1) expr: 1e-155*x^2 - 5.5*x + 5.2e155; 6160 2 6161 (%o1) 1.0E-155 x - 5.5 x + 5.2E+155 6162 (%i2) expr2: horner (%, x), keepfloat: true; 6163 (%o2) (1.0E-155 x - 5.5) x + 5.2E+155 6164 (%i3) ev (expr, x=1e155); 6165 Maxima encountered a Lisp error: 6166 6167 floating point overflow 6168 6169 Automatically continuing. 6170 To reenable the Lisp debugger set *debugger-hook* to nil. 6171 (%i4) ev (expr2, x=1e155); 6172 (%o4) 7.0E+154 6173 6174 -- Fun��o da class: find_root (<f>(<x>), <x>, <a>, <b>) 6175 -- Fun��o da class: find_root (<f>, <a>, <b>) 6176 Encontra a ra�z da fun��o <f> com a vari�vel <x> percorrendo o 6177 intervalo '[<a>, <b>]'. A fun��o deve ter um sinal diferente em 6178 cada ponto final. Se essa condi��o n�o for alcan�ada, a action of 6179 the function is governed by 'find_root_error'. If 6180 'find_root_error' is 'true' then an error occurs, otherwise the 6181 value of 'find_root_error' is returned (thus for plotting 6182 'find_root_error' might be set to 0.0). De outra forma (dado que 6183 Maxima pode avaliar o primeiro argumento no intervalo especificado, 6184 e que o intervalo � cont�nuo) 'find_root' � garantido vir para cima 6185 com a ra�z (ou um deles se existir mais que uma ra�z). A precis�o 6186 de 'find_root' � governada por 'intpolabs' e 'intpolrel' os quais 6187 devem ser n�meros em ponto flutuante n�o negativos. 'find_root' 6188 encerrar� quando o primeiro argumento avaliar para alguma coisa 6189 menor que ou igual a 'intpolabs' ou se sucessivas aproxima��es da 6190 ra�z diferirem por n�o mais que 'intpolrel * <um dos 6191 aproximandos>'. O valor padr�o de 'intpolabs' e 'intpolrel' s�o 6192 0.0 de forma que 'find_root' pega como boa uma resposta como for 6193 poss�vel com a precis�o aritm�tica simples que tivermos. O 6194 primeiro argumento pode ser uma equa��o. A ordem dos dois �ltimos 6195 argumentos � irrelevante. Dessa forma 6196 6197 find_root (sin(x) = x/2, x, %pi, 0.1); 6198 6199 � equivalente a 6200 6201 find_root (sin(x) = x/2, x, 0.1, %pi); 6202 6203 O m�todo usado � uma busca bin�ria no intervalo especificado pelos 6204 �ltimos dois argumentos. Quando o resultado da busca for 6205 encontrado a fun��o � fechada o suficiente para ser linear, isso 6206 inicia usando interpola��o linear. 6207 6208 Examples: 6209 (%i1) f(x) := sin(x) - x/2; 6210 x 6211 (%o1) f(x) := sin(x) - - 6212 2 6213 (%i2) find_root (sin(x) - x/2, x, 0.1, %pi); 6214 (%o2) 1.895494267033981 6215 (%i3) find_root (sin(x) = x/2, x, 0.1, %pi); 6216 (%o3) 1.895494267033981 6217 (%i4) find_root (f(x), x, 0.1, %pi); 6218 (%o4) 1.895494267033981 6219 (%i5) find_root (f, 0.1, %pi); 6220 (%o5) 1.895494267033981 6221 6222 -- Vari�vel de op��o da class: find_root_abs 6223 Valor por omiss�o: 0.0 6224 6225 'find_root_abs' � a precis�o do comando 'find_root'. A precis�o � 6226 governada por 'find_root_abs' e 'find_root_rel' que devem ser 6227 n�meros n�o negativos em ponto flutuante. 'find_root' terminar� 6228 quando o primeiro argumento avaliar para alguma coisa menor que ou 6229 igual a 'find_root_abs' ou se sucessivos aproximandos para a ra�z 6230 diferirem por n�o mais que 'find_root_rel * <um dos aproximandos>'. 6231 Os valores padr�o de 'find_root_abs' e 'find_root_rel' s�o 0.0 de 6232 forma que 'find_root' tome como boa uma resposta que for poss�vel 6233 com a precis�o aritm�tica simples que tivermos. 6234 6235 -- Vari�vel de op��o da class: find_root_error 6236 Valor por omiss�o: 'true' 6237 6238 'find_root_error' governa o comportamento de 'find_root'. Quando 6239 'find_root' for chamada, ela determina se a fun��o a ser resolvida 6240 satisfaz ou n�o a condi��o que os valores da fun��o nos pontos 6241 finais do intervalo de interpola��o s�o opostos em sinal. Se eles 6242 forem de sinais opostos, a interpola��o prossegue. Se eles forem 6243 de mesmo sinal, e 'find_root_error' for 'true', ent�o um erro � 6244 sinalizado. Se eles forem de mesmo sinal e 'find_root_error' n�o 6245 for 'true', o valor de 'find_root_error' � retornado. Dessa forma 6246 para montagem de gr�fico, 'find_root_error' pode ser escolhida para 6247 0.0. 6248 6249 -- Vari�vel de op��o da class: find_root_rel 6250 Valor por omiss�o: 0.0 6251 6252 'find_root_rel' � a precis�o do comando 'find_root' e � governada 6253 por 'find_root_abs' e 'find_root_rel' que devem ser n�meros n�o 6254 negativos em ponto flutuante. 'find_root' terminar� quando o 6255 primeiro argumento avaliar para alguma coisa menor que ou igual a 6256 'find_root_abs' ou se sucessivos aproximandos para a ra�z diferirem 6257 de n�o mais que 'find_root_rel * <um dos aproximandos>'. Os 6258 valores padr�o de 'find_root_labs' e 'find_root_rel' � 0.0 de forma 6259 que 'find_root' toma como boa uma resposta que for poss�vel com a 6260 precis�o aritm�tica simples que tivermos. 6261 6262 -- Fun��o da class: newton (<expr>, <x>, <x_0>, <eps>) 6263 Retorna uma solu��o aproximada de '<expr> = 0' atrav�s do m�todo de 6264 Newton, considerando <expr> como sendo uma fun��o de uma vari�vel, 6265 <x>. A busca pela solu��o come�a com '<x> = <x_0>' e prossegue at� 6266 'abs(<expr>) < <eps>' (com <expr> avaliada para o valor corrente de 6267 <x>). 6268 6269 'newton' permite que vari�veis indefinidas apare�am em <expr>, 6270 contanto que o teste de termina��o 'abs(<expr>) < <eps>' avalie 6271 para 'true' ou 'false'. Dessa forma n�o � necess�rio que <expr> 6272 avalie para um n�mero. 6273 6274 'load(newton1)' chama essa fun��o. 6275 6276 Veja tamb�m 'realroots', 'allroots', 'find_root', e 'mnewton'. 6277 6278 Exemplos: 6279 6280 (%i1) load (newton1); 6281 (%o1) /usr/share/maxima/5.10.0cvs/share/numeric/newton1.mac 6282 (%i2) newton (cos (u), u, 1, 1/100); 6283 (%o2) 1.570675277161251 6284 (%i3) ev (cos (u), u = %); 6285 (%o3) 1.2104963335033528E-4 6286 (%i4) assume (a > 0); 6287 (%o4) [a > 0] 6288 (%i5) newton (x^2 - a^2, x, a/2, a^2/100); 6289 (%o5) 1.00030487804878 a 6290 (%i6) ev (x^2 - a^2, x = %); 6291 2 6292 (%o6) 6.098490481853958E-4 a 6293 6294 6295File: maxima.info, Node: Defini��es para S�ries de Fourier, Prev: Defini��es para Num�rico, Up: Num�rico 6296 629723.4, Defini��es para S�ries de Fourier 6298======================================= 6299 6300 -- Fun��o da class: equalp (<x>, <y>) 6301 Retorna 'true' se 'equal (<x>, <y>)' de outra forma 'false' (n�o 6302 fornece uma mensagem de erro como 'equal (x, y)' poderia fazer 6303 nesse caso). 6304 6305 -- Fun��o da class: remfun (<f>, <expr>) 6306 -- Fun��o da class: remfun (<f>, <expr>, <x>) 6307 'remfun (<f>, <expr>)' substitue todas as ocorr�ncias de '<f> 6308 (<arg>)' por <arg> em <expr>. 6309 6310 'remfun (<f>, <expr>, <x>)' substitue todas as ocorr�ncias de '<f> 6311 (<arg>)' por <arg> em <expr> somente se <arg> contiver a vari�vel 6312 <x>. 6313 6314 -- Fun��o da class: funp (<f>, <expr>) 6315 -- Fun��o da class: funp (<f>, <expr>, <x>) 6316 'funp (<f>, <expr>)' retorna 'true' se <expr> cont�m a fun��o <f>. 6317 6318 'funp (<f>, <expr>, <x>)' retorna 'true' se <expr> cont�m a fun��o 6319 <f> e a vari�vel <x> em algum lugar no argumento de uma das 6320 inst�ncias de <f>. 6321 6322 -- Fun��o da class: absint (<f>, <x>, <halfplane>) 6323 -- Fun��o da class: absint (<f>, <x>) 6324 -- Fun��o da class: absint (<f>, <x>, <a>, <b>) 6325 'absint (<f>, <x>, <halfplane>)' retorna a integral indefinida de 6326 <f> com rela��o a <x> no dado semi-plano ('pos', 'neg', ou 'both'). 6327 <f> pode conter express�es da forma 'abs (x)', 'abs (sin (x))', 6328 'abs (a) * exp (-abs (b) * abs (x))'. 6329 6330 'absint (<f>, <x>)' � equivalente a 'absint (<f>, <x>, pos)'. 6331 6332 'absint (<f>, <x>, <a>, <b>)' retorna a integral definida de <f> 6333 com rela��o a <x> de <a> at� <b>. <f> pode incluir valores 6334 absolutos. 6335 6336 -- Fun��o da class: fourier (<f>, <x>, <p>) 6337 Retorna uma lista de coeficientes de Fourier de '<f>(<x>)' 6338 definidos sobre o intervalo '[-p, p]'. 6339 6340 -- Fun��o da class: foursimp (<l>) 6341 Simplifica 'sin (n %pi)' para 0 se 'sinnpiflag' for 'true' e 'cos 6342 (n %pi)' para '(-1)^n' se 'cosnpiflag' for 'true'. 6343 6344 -- Vari�vel de op��o da class: sinnpiflag 6345 Valor por omiss�o: 'true' 6346 6347 Veja 'foursimp'. 6348 6349 -- Vari�vel de op��o da class: cosnpiflag 6350 Valor por omiss�o: 'true' 6351 6352 Veja 'foursimp'. 6353 6354 -- Fun��o da class: fourexpand (<l>, <x>, <p>, <limit>) 6355 Constr�i e retorna a s�rie de Fourier partindo da lista de 6356 coeficientes de Fourier <l> at� (up through) <limit> termos 6357 (<limit> pode ser 'inf'). <x> e <p> possuem o mesmo significado 6358 que em 'fourier'. 6359 6360 -- Fun��o da class: fourcos (<f>, <x>, <p>) 6361 Retorna os coeficientes do co-seno de Fourier para '<f>(<x>)' 6362 definida sobre '[0, %pi]'. 6363 6364 -- Fun��o da class: foursin (<f>, <x>, <p>) 6365 Retorna os coeficientes do seno de Fourier para '<f>(<x>)' definida 6366 sobre '[0, <p>]'. 6367 6368 -- Fun��o da class: totalfourier (<f>, <x>, <p>) 6369 Retorna 'fourexpand (foursimp (fourier (<f>, <x>, <p>)), <x>, <p>, 6370 'inf)'. 6371 6372 -- Fun��o da class: fourint (<f>, <x>) 6373 Constr�i e retorna uma lista de coeficientes de integral de Fourier 6374 de '<f>(<x>)' definida sobre '[minf, inf]'. 6375 6376 -- Fun��o da class: fourintcos (<f>, <x>) 6377 Retorna os coeficientes da integral do co-seno de Fourier para 6378 '<f>(<x>)' on '[0, inf]'. 6379 6380 -- Fun��o da class: fourintsin (<f>, <x>) 6381 Retorna os coeficientes da integral do seno de Fourier para 6382 '<f>(<x>)' on '[0, inf]'. 6383 6384