1 @c Language: Brazilian Portuguese, Encoding: iso-8859-1
2 @c /Help.texi/1.23/Sat Jun 2 00:12:47 2007/-ko/
4 @hyphenation{cor-res-pon-de}
10 * Funções e Variáveis Definidas para Ajuda::
13 @node Lisp e Maxima, Descartando, Ajuda, Ajuda
14 @section Lisp e Maxima
15 Maxima é escrito na liguagem de programação Lisp, e é fácil acessar funções Lisp e variáveis
16 a partir do Maxima e vice-versa.
17 Símbolos Lisp e Maxima são disting@"{u}idos através de uma convenção de nome.
18 Um símbolo Lisp que começa com um sinal de dólar @code{$} corresponde a
19 um símbolo Maxima sem o sinal de dólar.
20 @c NEED TO MENTION THIS OR IS IT JUST CLUTTERING ??
21 @c This includes special Maxima variables such as @code{%} and input and output labels,
22 @c which appear as @code{$%}, @code{$%i1}, @code{$%o1}, etc., in Lisp.
23 Um símbolo Maxima que começa com um ponto de interrogação @code{?} corresponde a
24 um símbolo Lisp sem o ponto de interrogação.
25 Por exemplo, o símbolo Maxima @code{foo} corresponde ao símbolo Lisp @code{$foo},
26 enquanto o símbolo Maxima @code{?foo} corresponde ao símbolo Lisp @code{foo},
27 Note que @code{?foo} é escrito sem um espaço entre @code{?} e @code{foo};
28 de outra forma pode ser uma chamada errônea para @code{describe ("foo")}.
30 Hífen @code{-}, asterisco @code{*}, ou outro caractere especial em símbolos Lisp
31 deve ser precedido por uma barra invertida @code{\} onde ele aparecer no código Maxima.
32 Por exemplo, o identificador Lisp @code{*foo-bar*} é escrito @code{?\*foo\-bar\*} no Maxima.
34 Código Lisp pode ser executado dentro de uma sessão Maxima.
35 Uma linha simples de Lisp (contendo uma ou mais formas) pode ser executada
36 através do comando especial @code{:lisp}. Por exemplo,
39 (%i1) :lisp (foo $x $y)
43 chama a função Lisp @code{foo} com variáveis Maxima @code{x} e @code{y} como argumentos.
44 A constução @code{:lisp} pode aparecer na linha de comando interativa
45 ou em um arquivo processado por @code{batch} ou @code{demo}, mas não em um arquivo processado por
46 @code{load}, @code{batchload}, @code{translate_file}, ou @code{compile_file}.
48 A função @code{to_lisp()} abre uma sessão interativa Lisp.
49 Digitando @code{(to-maxima)} fecha a sessão Lisp e retorna para o Maxima.
50 @c I DON'T EVEN WANT TO MENTION USING CTRL-C TO OPEN A LISP SESSION.
51 @c (1) IT TAKES EXTRA SET UP TO GET STARTED NAMELY :lisp (setq *debugger-hook* nil)
52 @c (2) IT GETS SCREWED UP EASILY -- TYPE SOMETHING WRONG AND YOU CAN'T GET BACK TO MAXIMA
53 @c (3) IT DOESN'T OFFER FUNCTIONALITY NOT PRESENT IN THE to_lisp() SESSION
55 Funções Lisp e variáveis que são para serem visíveis no Maxima como
56 funções e variáveis com nomes comuns (sem pontuação especial)
57 devem ter nomes Lisp começando com o sinal de dólar @code{$}.
59 Maxima é sensível à caixa, distingue entre letras em caixa alta (maiúsculas) e letras em caixa baixa (minúsculas)
60 em identificadores, enquanto Lisp não é sensível à caixa.
61 Existem algumas regras governando a tradução de nomes entre o Lisp e o Maxima.
65 Um identificador Lisp não contido entre barras verticais corresponde a um identificador Maxima
67 Se o identificador Lisp estiver em caixa alta, caixa baixa, ou caixa mista, é ignorado.
68 E.g., Lisp @code{$foo}, @code{$FOO}, e @code{$Foo} todos correspondem a Maxima @code{foo}.
70 Um identificador Lisp que está todo em caixa alta ou todo em caixa baixa
71 e contido em barras verticais corresponde a um identificador Maxima com caixa invertida.
72 Isto é, caixa alta é alterada para caixa baixa e caixa baixa para caixa alta.
73 E.g., Lisp @code{|$FOO|} e @code{|$foo|}
74 corresponde a Maxima @code{foo} e @code{FOO}, respectivamente.
76 Um identificador Lisp que é misto de caixa alta e caixa baixa
77 e contido entre barras verticais corresponde a um identificador Maxima com o mesma caixa.
78 E.g., Lisp @code{|$Foo|} corresponde a Maxima @code{Foo}.
81 A macro Lisp @code{#$} permite o uso de expressões Maxima em código Lisp.
82 @code{#$@var{expr}$} expande para uma expressão Lisp equivalente à expressão Maxima @var{expr}.
85 (msetq $foo #$[x, y]$)
89 Isso tem o mesmo efeito que digitar
96 A função Lisp @code{displa} imprime uma expressão em formato Maxima.
99 (%i1) :lisp #$[x, y, z]$
100 ((MLIST SIMP) $X $Y $Z)
101 (%i1) :lisp (displa '((MLIST SIMP) $X $Y $Z))
106 Funções definidas em Maxima não são funções comuns em Lisp.
107 A função Lisp @code{mfuncall} chama uma função Maxima.
111 (%i1) foo(x,y) := x*y$
112 (%i2) :lisp (mfuncall '$foo 'a 'b)
116 Algumas funções Lisp possuem o mesmo nome que no pacote Maxima, a saber as seguintes.
141 @node Descartando, Documentação, Lisp e Maxima, Ajuda
143 Computação simbólica tende a criar um bom volume
144 de arquivos temporários, e o efetivo manuseio disso pode ser crucial para sucesso
145 completo de alguns programas.
147 @c HOW MUCH OF THE FOLLOWING STILL HOLDS ??
148 @c WHAT ABOUT GC IN GCL ON MS WINDOWS ??
149 @c SHOULD WE SAY SOMETHING ABOUT GC FOR OTHER LISPS ??
150 Sob GCL, nos sistemas UNIX onde a chamada de sistema mprotect ( controle de acessso autorizado a uma região de memória) está disponível
151 (incluindo SUN OS 4.0 e algumas variantes de BSD) uma organização de arquivos temporários estratificada
152 está disponível. Isso limita a organização para páginas que tenham sido recentemente
153 escritas. Veja a documentação da GCL sob ALLOCATE e GBC. No
154 ambiente Lisp fazendo (setq si::*notify-gbc* t) irá ajudar você a determinar quais
155 áreas podem precisar de mais espaço.
157 @node Documentação, Funções e Variáveis Definidas para Ajuda, Descartando, Ajuda
158 @section Documentação
160 @c SHOULD TALK ABOUT OTHER FORMS OF DOCUMENTATION ASIDE FROM ON-LINE MANUAL.
162 O manual on-line de usuário do Maxima pode ser visto em diferentes formas.
163 A partir da linha de comando interativa do Maxima, o manual de usuário
164 é visto em texto plano através do comando @code{?} (i.e., a função @code{describe} ).
165 O manual de usuário é visto como hipertexto @code{info} através do programa visualizador @code{info}
166 e como uma web page através de qualquer navegador web comum.
168 @code{example} mostra exemplos de muitas funções do Maxima.
172 (%i1) example (integrate);
178 (%i2) test(f):=block([u],u:integrate(f,x),ratsimp(f-diff(u,x)))
179 (%o2) test(f) := block([u], u : integrate(f, x),
181 ratsimp(f - diff(u, x)))
186 (%i5) test(1/(x^2+1))
192 @node Funções e Variáveis Definidas para Ajuda, , Documentação, Ajuda
193 @section Funções e Variáveis Definidas para Ajuda
195 @deffn {Função} demo (@var{nomearquivo})
196 Avalia expressões Maxima em @var{nomearquivo} e mostra os resultados.
197 @code{demo} faz uma pausa após avaliar cada expressão
198 e continua após a conclusão com um enter das entradas de usuário.
199 (Se executando em Xmaxima, @code{demo} pode precisar ver um ponto e vírgula @code{;}
200 seguido por um enter.)
202 @code{demo} procura na lista de diretórios
203 @code{file_search_demo} para achar @code{nomearquivo}.
204 Se o arquivo tiver o sufixo @code{dem},
205 o sufixo pode ser omitido.
206 Veja também @code{file_search}.
208 @code{demo} avalia seus argumento.
209 @code{demo} retorna o nome do arquivo de demonstração.
214 (%i1) demo ("disol");
216 batching /home/wfs/maxima/share/simplification/disol.dem
217 At the _ prompt, type ';' followed by enter to get next demo
221 (%i3) exp1 : a (e (g + f) + b (d + c))
222 (%o3) a (e (g + f) + b (d + c))
225 (%i4) disolate(exp1, a, b, e)
230 (%o5) a (%t5 e + %t4 b)
233 (%i5) demo ("rncomb");
235 batching /home/wfs/maxima/share/simplification/rncomb.dem
236 At the _ prompt, type ';' followed by enter to get next demo
241 (%i7) exp1 : ----- + ---------
244 (%o7) ----- + ---------
250 (%o8) ----- + ---------
261 (%i10) exp2 : - + - + - + -
269 2 d + 2 c + 3 (b + a)
270 (%o11) ---------------------
274 (%i12) rncombine(exp2)
275 2 d + 2 c + 3 b + 3 a
276 (%o12) ---------------------
285 @deffn {Função} describe (@var{string})
286 @deffnx {Função} describe (@var{string}, exact)
287 @deffnx {Função} describe (@var{string}, inexact)
292 @code{describe(@var{string})} é equivalente a @code{describe(@var{string}, exact)}.
294 @code{describe(@var{string}, exact)} encontra um item com título igual
296 a @var{string}, se existir tal item.
298 @code{describe(@var{string}, inexact)} encontra todos os itens documentados que contiverem @var{string} em seus títulos.
299 Se existe mais de um de tal item, Maxima solicita ao usuário selecionar
300 um item ou ítens para mostrar.
302 Na linha de comando interativa,
303 @code{? foo} (com um espaço entre @code{?} e @code{foo})
304 é equivalente a @code{describe("foo", exact)}.
305 e @code{?? foo} é equivalente a @code{describe("foo", inexact)}.
307 @code{describe("", inexact)} retorna uma lista de todos os tópicos documentados no manual on-line.
309 @code{describe} não avalia seu argumento.
310 @code{describe} retorna @code{true} se alguma documentação for encontrada, de outra forma retorna @code{false}.
312 Veja também @ref{Documentação}.
318 0: Functions and Variables for Elliptic Integrals
319 1: Functions and Variables for Integration
320 2: Introduction to Elliptic Functions and Integrals
321 3: Introduction to Integration
322 4: askinteger (Functions and Variables for Simplification)
323 5: integerp (Functions and Variables for Miscellaneous Options)
324 6: integer_partitions (Functions and Variables for Sets)
325 7: integrate (Functions and Variables for Integration)
326 8: integrate_use_rootsof (Functions and Variables for Integration)
327 9: integration_constant_counter (Functions and Variables for Integration)
328 10: nonnegintegerp (Functions and Variables for linearalgebra)
329 Enter space-separated numbers, `all' or `none': 7 8
331 -- Function: integrate (<expr>, <x>)
332 -- Function: integrate (<expr>, <x>, <a>, <b>)
333 Attempts to symbolically compute the integral of <expr> with
334 respect to <x>. `integrate (<expr>, <x>)' is an indefinite
335 integral, while `integrate (<expr>, <x>, <a>, <b>)' is a definite
338 -- Option variable: integrate_use_rootsof
339 Default value: `false'
341 When `integrate_use_rootsof' is `true' and the denominator of a
342 rational function cannot be factored, `integrate' returns the
343 integral in a form which is a sum over the roots (not yet known)
348 Nesse exemplo, ítens 7 e 8 foram selecionados
349 (a saída foi encurtada por razões tipográficas e economico-financeiras como indicado por @code{[...]}.
350 Todos ou nenhum dos ítens poderia ter sido selecionado através da inserção de @code{all} ou @code{none},
351 que podem ser abreviado para @code{a} ou para @code{n}, respectivamente.
355 @deffn {Função} example (@var{tópico})
356 @deffnx {Função} example ()
357 @code{example (@var{topic})} mostra alguns exemplos de @var{tópico},
358 que é um símbolo (não uma seq@"{u}ência de caracteres).
359 A maioria dos tópicos são nomes de função.
360 @code{example ()} retorna a lista de todos os tópicos reconhecidos.
362 O nome do arquivo contendo os exemplos é dado pela
363 variável global @code{manual_demo}, cujo valor padrão é @code{"manual.demo"}.
365 @code{example} não avalia seu argumento.
366 @code{example} retorna @code{done}
367 a menos que ocorra um erro ou não exista o argumento fornecido pelo usuário, nesse caso @code{example}
368 retorna uma lista de todos os tópicos reconhecidos.
373 (%i1) example (append);
374 (%i2) append([x+y,0,-3.2],[2.5E+20,x])
375 (%o2) [y + x, 0, - 3.2, 2.5E+20, x]
377 (%i3) example (coeff);
378 (%i4) coeff(b+tan(x)+2*a*tan(x) = 3+5*tan(x),tan(x))
380 (%i5) coeff(1+x*%e^x+y,x,0)