1 @c /Help.texi/1.21/Thu Mar 8 03:54:16 2007/-ko/
3 @hyphenation{cor-res-pon-de}
9 * Definições para Ajuda::
12 @node Lisp e Maxima, Descartando, Ajuda, Ajuda
13 @section Lisp e Maxima
14 Maxima é escrito na liguagem de programação Lisp, e é fácil acessar funções Lisp e variáveis
15 a partir do Maxima e vice-versa.
16 Símbolos Lisp e Maxima são distinguidos através de uma convenção de nome.
17 Um símbolo Lisp que começa com um sinal de dólar @code{$} corresponde a
18 um símbolo Maxima sem o sinal de dólar.
19 @c NEED TO MENTION THIS OR IS IT JUST CLUTTERING ??
20 @c This includes special Maxima variables such as @code{%} and input and output labels,
21 @c which appear as @code{$%}, @code{$%i1}, @code{$%o1}, etc., in Lisp.
22 Um símbolo Maxima que começa com um ponto de interrogação @code{?} corresponde a
23 um símbolo Lisp sem o ponto de interrogação.
24 Por exemplo, o símbolo Maxima @code{foo} corresponde ao símbolo Lisp @code{$foo},
25 enquanto o símbolo Maxima @code{?foo} corresponde ao símbolo Lisp @code{foo},
26 Note que @code{?foo} é escrito sem um espaço entre @code{?} e @code{foo};
27 de outra forma pode ser uma chamada err@^onea para @code{describe ("foo")}.
29 Hífen @code{-}, asterisco @code{*}, ou outro caractere especial em símbolos Lisp
30 deve ser precedido por uma barra invertida @code{\} onde ele aparecer no código Maxima.
31 Por exemplo, o identificador Lisp @code{*foo-bar*} é escrito @code{?\*foo\-bar\*} no Maxima.
33 Código Lisp pode ser executado dentro de uma sessão Maxima.
34 Uma linha simples de Lisp (contendo uma ou mais formas) pode ser executada
35 através do comando especial @code{:lisp}. Por exemplo,
38 (%i1) :lisp (foo $x $y)
42 chama a função Lisp @code{foo} com variáveis Maxima @code{x} e @code{y} como argumentos.
43 A constução @code{:lisp} pode aparecer na linha de comando interativa
44 ou em um ficheiro processado por @code{batch} ou @code{demo}, mas não em um ficheiro processado por
45 @code{load}, @code{batchload}, @code{translate_file}, ou @code{compile_file}.
47 A função @code{to_lisp()} abre uma sessão interativa Lisp.
48 Digitando @code{(to-maxima)} fecha a sessão Lisp e retorna para o Maxima.
49 @c I DON'T EVEN WANT TO MENTION USING CTRL-C TO OPEN A LISP SESSION.
50 @c (1) IT TAKES EXTRA SET UP TO GET STARTED NAMELY :lisp (setq *debugger-hook* nil)
51 @c (2) IT GETS SCREWED UP EASILY -- TYPE SOMETHING WRONG AND YOU CAN'T GET BACK TO MAXIMA
52 @c (3) IT DOESN'T OFFER FUNCTIONALITY NOT PRESENT IN THE to_lisp() SESSION
54 Funções Lisp e variáveis que são para serem visíveis no Maxima como
55 funções e variáveis com nomes comuns (sem pontuação especial)
56 devem ter nomes Lisp começando com o sinal de dólar @code{$}.
58 Maxima é sensível à caixa, distingue entre letras em caixa alta (maiúsculas) e letras em caixa baixa (minúsculas)
59 em identificadores, enquanto Lisp não é sensível à caixa.
60 Existem algumas regras governando a tradução de nomes entre o Lisp e o Maxima.
64 Um identificador Lisp não contido entre barras verticais corresponde a um identificador Maxima
66 Se o identificador Lisp estiver em caixa alta, caixa baixa, ou caixa mista, é ignorado.
67 E.g., Lisp @code{$foo}, @code{$FOO}, e @code{$Foo} todos correspondem a Maxima @code{foo}.
69 Um identificador Lisp que está todo em caixa alta ou todo em caixa baixa
70 e contido em barras verticais corresponde a um identificador Maxima com caixa invertida.
71 Isto é, caixa alta é alterada para caixa baixa e caixa baixa para caixa alta.
72 E.g., Lisp @code{|$FOO|} e @code{|$foo|}
73 corresponde a Maxima @code{foo} e @code{FOO}, respectivamente.
75 Um identificador Lisp que é misto de caixa alta e caixa baixa
76 e contido entre barras verticais corresponde a um identificador Maxima com o mesma caixa.
77 E.g., Lisp @code{|$Foo|} corresponde a Maxima @code{Foo}.
80 A macro Lisp @code{#$} permite o uso de expressões Maxima em código Lisp.
81 @code{#$@var{expr}$} expande para uma expressão Lisp equivalente à expressão Maxima @var{expr}.
84 (msetq $foo #$[x, y]$)
88 Isso tem o mesmo efeito que digitar
95 A função Lisp @code{displa} imprime uma expressão em formato Maxima.
98 (%i1) :lisp #$[x, y, z]$
99 ((MLIST SIMP) $X $Y $Z)
100 (%i1) :lisp (displa '((MLIST SIMP) $X $Y $Z))
105 Funções definidas em Maxima não são funções comuns em Lisp.
106 A função Lisp @code{mfuncall} chama uma função Maxima.
110 (%i1) foo(x,y) := x*y$
111 (%i2) :lisp (mfuncall '$foo 'a 'b)
115 Algumas funções Lisp possuem o mesmo nome que no pacote Maxima, a saber as seguintes.
140 @node Descartando, Documentação, Lisp e Maxima, Ajuda
142 Computação simbólica tende a criar um bom volume
143 de ficheiros temporários, e o efectivo manuseio disso pode ser crucial para sucesso
144 completo de alguns programas.
146 @c HOW MUCH OF THE FOLLOWING STILL HOLDS ??
147 @c WHAT ABOUT GC IN GCL ON MS WINDOWS ??
148 @c SHOULD WE SAY SOMETHING ABOUT GC FOR OTHER LISPS ??
149 Sob GCL, nos sistemas UNIX onde a chamada de sistema mprotect ( controle
150 de acessso autorizado a uma região de memória) está
151 disponível (incluindo SUN OS 4.0 e algumas variantes de
152 BSD) uma organização de ficheiros temporários
153 estratificada está disponível. Isso limita a
154 organização para páginas que tenham sido recentemente
155 escritas. Veja a documentação da GCL sob ALLOCATE e
156 GBC. No ambiente Lisp fazendo (setq si::*notify-gbc* t) irá
157 ajudá-lo a determinar quais áreas podem precisar de mais
160 @node Documentação, Definições para Ajuda, Descartando, Ajuda
161 @section Documentação
163 @c SHOULD TALK ABOUT OTHER FORMS OF DOCUMENTATION ASIDE FROM ON-LINE MANUAL.
165 O manual on-line de utilizador do Maxima pode ser visto em diferentes formas.
166 A partir da linha de comando interativa do Maxima, o manual de utilizador
167 é visto em texto plano através do comando @code{?} (i.e., a função @code{describe} ).
168 O manual de utilizador é visto como hipertexto @code{info} através do programa visualizador @code{info}
169 e como uma web page através de qualquer navegador web comum.
171 @code{example} mostra exemplos de muitas funções do Maxima.
175 (%i1) example (integrate);
181 (%i2) test(f):=block([u],u:integrate(f,x),ratsimp(f-diff(u,x)))
182 (%o2) test(f) := block([u], u : integrate(f, x),
184 ratsimp(f - diff(u, x)))
189 (%i5) test(1/(x^2+1))
195 @node Definições para Ajuda, , Documentação, Ajuda
196 @section Definições para Ajuda
198 @deffn {Função} demo (@var{nomeficheiro})
199 Avalia expressões Maxima em @var{nomeficheiro} e mostra os resultados.
200 @code{demo} faz uma pausa após avaliar cada expressão
201 e continua após a conclusão com um enter das entradas de utilizador.
202 (Se executando em Xmaxima, @code{demo} pode precisar ver um ponto e vírgula @code{;}
203 seguido por um enter.)
205 @code{demo} procura na lista de directórios
206 @code{file_search_demo} para achar @code{nomeficheiro}.
207 Se o ficheiro tiver o sufixo @code{dem},
208 o sufixo pode ser omitido.
209 Veja também @code{file_search}.
211 @code{demo} avalia seus argumento.
212 @code{demo} retorna o nome do ficheiro de demonstração.
217 (%i1) demo ("disol");
219 batching /home/wfs/maxima/share/simplification/disol.dem
220 At the _ prompt, type ';' followed by enter to get next demo
224 (%i3) exp1 : a (e (g + f) + b (d + c))
225 (%o3) a (e (g + f) + b (d + c))
228 (%i4) disolate(exp1, a, b, e)
233 (%o5) a (%t5 e + %t4 b)
236 (%i5) demo ("rncomb");
238 batching /home/wfs/maxima/share/simplification/rncomb.dem
239 At the _ prompt, type ';' followed by enter to get next demo
244 (%i7) exp1 : ----- + ---------
247 (%o7) ----- + ---------
253 (%o8) ----- + ---------
264 (%i10) exp2 : - + - + - + -
272 2 d + 2 c + 3 (b + a)
273 (%o11) ---------------------
277 (%i12) rncombine(exp2)
278 2 d + 2 c + 3 b + 3 a
279 (%o12) ---------------------
288 @deffn {Função} describe (@var{string})
289 @deffnx {Função} describe (@var{string}, exact)
290 @deffnx {Função} describe (@var{string}, inexact)
295 @code{describe(@var{string})} é equivalente a @code{describe(@var{string}, exact)}.
297 @code{describe(@var{string}, exact)} encontra um item com título igual
299 a @var{string}, se existir tal item.
301 @code{describe(@var{string}, inexact)} encontra todos os itens documentados que contiverem @var{string} em seus títulos.
302 Se existe mais de um de tal item, Maxima solicita ao utilizador seleccionar
303 um item ou ítens para mostrar.
305 Na linha de comando interativa,
306 @code{? foo} (com um espaço entre @code{?} e @code{foo})
307 é equivalente a @code{describe("foo", exact)}.
308 e @code{?? foo} é equivalente a @code{describe("foo", inexact)}.
310 @code{describe("", inexact)} retorna uma lista de todos os tópicos documentados no manual on-line.
312 @code{describe} não avalia seu argumento.
313 @code{describe} retorna @code{true} se alguma documentação for encontrada, de outra forma retorna @code{false}.
315 Veja também @emph{Documentação}.
321 0: (maxima.info)Introduction to Elliptic Functions and Integrals.
322 1: Definitions for Elliptic Integrals.
324 3: Introduction to Integration.
325 4: Definitions for Integration.
326 5: askinteger :Definitions for Simplification.
327 6: integerp :Definitions for Miscellaneous Options.
328 7: integrate :Definitions for Integration.
329 8: integrate_use_rootsof :Definitions for Integration.
330 9: integration_constant_counter :Definitions for Integration.
331 Enter space-separated numbers, `all' or `none': 7 8
333 Info from file /use/local/maxima/doc/info/maxima.info:
334 - Function: integrate (expr, var)
335 - Function: integrate (expr, var, a, b)
336 Attempts to symbolically compute the integral of `expr' with
337 respect to `var'. `integrate (expr, var)' is an indefinite
338 integral, while `integrate (expr, var, a, b)' is a definite
342 Nesse , ítens 7 e 8 foram seleccionados.
343 Todos ou nenhum dos ítens poderia ter sido seleccionado através da inserção de @code{all} ou @code{none},
344 que podem ser abreviado para @code{a} ou para @code{n}, respectivamente.
348 @deffn {Função} example (@var{tópico})
349 @deffnx {Função} example ()
350 @code{example (@var{topic})} mostra alguns exemplos de @var{tópico},
351 que é um símbolo (não uma sequência de caracteres).
352 A maioria dos tópicos são nomes de função.
353 @code{example ()} retorna a lista de todos os tópicos reconhecidos.
355 O nome do ficheiro contendo os exemplos é dado pela
356 variável global @code{manual_demo}, cujo valor padrão é @code{"manual.demo"}.
358 @code{example} não avalia seu argumento.
359 @code{example} retorna @code{done}
360 a menos que ocorra um erro ou não exista o argumento fornecido pelo utilizador, nesse caso @code{example}
361 retorna uma lista de todos os tópicos reconhecidos.
366 (%i1) example (append);
367 (%i2) append([x+y,0,-3.2],[2.5E+20,x])
368 (%o2) [y + x, 0, - 3.2, 2.5E+20, x]
370 (%i3) example (coeff);
371 (%i4) coeff(b+tan(x)+2*a*tan(x) = 3+5*tan(x),tan(x))
373 (%i5) coeff(1+x*%e^x+y,x,0)