@c Language: Brazilian Portuguese, Encoding: iso-8859-1
@c /Miscellaneous.texi/1.23/Fri Jun  8 01:15:42 2007/-ko/
@menu
* Introdu@value{cedilha}@~{a}o a Op@value{cedilha}@~{o}es Diversas::  
* Compartilhado::                       
* Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para Op@value{cedilha}@~{o}es Diversas::  
@end menu

@node Introdu@value{cedilha}@~{a}o a Op@value{cedilha}@~{o}es Diversas, Compartilhado, Op@value{cedilha}@~{o}es Diversas, Op@value{cedilha}@~{o}es Diversas
@section Introdu@value{cedilha}@~{a}o a Op@value{cedilha}@~{o}es Diversas

Nessa se@value{cedilha}@~{a}o v@'{a}rias op@value{cedilha}@~{o}es s@~{a}o tratadas pelo fato de possuirem um efeito global
sobre a opera@value{cedilha}@~{a}o do Maxima.   Tamb@'{e}m v@'{a}rias listas tais como a lista de todas as
fun@value{cedilha}@~{o}es definidas pelo usu@'{a}rio, s@~{a}o discutidas.

@node Compartilhado, Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para Op@value{cedilha}@~{o}es Diversas, Introdu@value{cedilha}@~{a}o a Op@value{cedilha}@~{o}es Diversas, Op@value{cedilha}@~{o}es Diversas
@section Compartilhado
O diret@'{o}rio "share" do Maxima cont@'{e}m programas e outros arquivos 
de interesse para os usu@'{a}rios do Maxima, mas que n@~{a}o s@~{a}o parte da implementa@value{cedilha}@~{a}o do n@'{u}cleo do Maxima.
Esses programas s@~{a}o tipicamente chamados via @code{load} ou @code{setup_autoload}.

@code{:lisp *maxima-sharedir*} mostra a localiza@value{cedilha}@~{a}o do diret@'{o}rio compartilhado
dentro do sistema de arquivos do usu@'{a}rio.

@c FIXME FIXME FIXME -- WE REALLY NEED AN UP-TO-DATE LIST OF SHARE PACKAGES !!
@code{printfile ("share.usg")} imprime uma lista de pacotes desatualizados dos pacotes compartilhados.
Usu@'{a}rios podem encontrar isso de forma mais detalhada navegando no diret@'{o}rio compartilhado usando um navegador de sistema de arquivo.


@node Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para Op@value{cedilha}@~{o}es Diversas,  , Compartilhado, Op@value{cedilha}@~{o}es Diversas
@section Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para Op@value{cedilha}@~{o}es Diversas

@defvr {Vari@'{a}vel de sistema} aliases
Valor padr@~{a}o: @code{[]}

@code{aliases} @'{e} a lista de @'{a}tomos que possuem um alias definido pelo usu@'{a}rio (escolhido atrav@'{e}s
das fun@value{cedilha}@~{o}es @code{alias}, @code{ordergreat}, @code{orderless} ou atrav@'{e}s da declara@value{cedilha}@~{a}o do @'{a}tomo como sendo um
@code{noun} (substantivo) com @code{declare}).
@end defvr


@defvr {Declara@value{cedilha}@~{a}o} alphabetic
@code{alphabetic} @'{e} uma declara@value{cedilha}@~{a}o reconhecida por @code{declare}.
A express@~{a}o @code{declare(@var{s}, alphabetic)} diz ao Maxima para reconhecer
como alfab@'{e}tico todos os caracteres em @var{s}, que deve ser uma seq@"{u}@^{e}ncia de caracteres.
 
Veja tamb@'{e}m @ref{Identificadores}.

Exemplo:

@c ===beg===
@c xx\~yy\`\@ : 1729;
@c declare ("~`@", alphabetic);
@c xx~yy`@ + @yy`xx + `xx@@yy~;
@c listofvars (%);
@c ===end===
@example
(%i1) xx\~yy\`\@@ : 1729;
(%o1)                         1729
(%i2) declare ("~`@@", alphabetic);
(%o2)                         done
(%i3) xx~yy`@@ + @@yy`xx + `xx@@@@yy~;
(%o3)               `xx@@@@yy~ + @@yy`xx + 1729
(%i4) listofvars (%);
(%o4)                  [@@yy`xx, `xx@@@@yy~]
@end example


@end defvr

@c REPHRASE
@c DOES apropos RETURN THE SAME THING AS THE LIST SHOWN BY describe ??
@deffn {Fun@value{cedilha}@~{a}o} apropos (@var{string})
Procura por nomes Maxima que possuem @var{string} aparecendo em qualquer lugar dentro
de seu nome.  Dessa forma, @code{apropos (exp)} retorna uma lista de todos os sinalizadores
e fun@value{cedilha}@~{o}es que possuem @code{exp} como parte de seus nomes, tais como @code{expand},
@code{exp}, e @code{exponentialize}.  Dessa forma voc@^{e} pode somente lembra parte do nome
de alguma coisa voc@^{e} pode usar esse comando para achar o restante do nome.
Similarmente, voc@^{e} pode dizer @code{apropos (tr_)} para achar uma lista de muitos dos
comutadores relatando para o tradutor, muitos dos quais come@value{cedilha}am com @code{tr_}.

@end deffn

@deffn {Fun@value{cedilha}@~{a}o} args (@var{expr})
Retorna a lista de argumentos de @code{expr},
que pode ser de qualquer tipo de express@~{a}o outra como um @'{a}tomo.
Somente os argumentos do operador de n@'{i}vel mais alto s@~{a}o extra@'{i}dos;
subexpress@~{o}es de @code{expr} aparecem como elementos ou subexpress@~{o}es de elementos
da lista de argumentos.

A ordem dos @'{i}tens na lista pode depender do sinalizador global @code{inflag}.

@code{args (@var{expr})} @'{e} equivalente a @code{substpart ("[", @var{expr}, 0)}.
Veja tamb@'{e}m @code{substpart} e @code{op}.

@c NEEDS EXAMPLES
@end deffn

@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} genindex
Valor padr@~{a}o: @code{i}

@code{genindex} @'{e} o prefixo usado para gerar a
pr@'{o}xima vari@'{a}vel do somat@'{o}rio quando necess@'{a}rio.

@end defvr

@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} gensumnum
Valor padr@~{a}o: 0

@code{gensumnum} @'{e} o sufixo num@'{e}rico usado para gerar vari@'{a}vel seguinte
do somat@'{o}rio.  Se isso for escolhido para @code{false} ent@~{a}o o @'{i}ndice  consistir@'{a} somente
de @code{genindex} com um sufixo num@'{e}rico.

@end defvr

@c NEEDS EXPANSION AND EXAMPLES
@defvr {Constante} inf
Infinito positivo real.

@end defvr

@c NEEDS EXPANSION AND EXAMPLES
@defvr {Constante} infinity
Infinito complexo, uma magnitude infinita de @^{a}ngulo de fase
arbitr@'{a}ria.  Veja tamb@'{e}m @code{inf} e @code{minf}.

@end defvr

@defvr {Vari@'{a}vel de sistema} infolists
Valor padr@~{a}o: @code{[]}

@code{infolists} @'{e} uma lista dos nomes de todas as listas de
informa@value{cedilha}@~{a}o no Maxima. S@~{a}o elas:

@table @code
@item labels
Todos associam @code{%i}, @code{%o}, e r@'{o}tulos @code{%t}.
@item values
Todos associam @'{a}tomos que s@~{a}o vari@'{a}veis de usu@'{a}rio, n@~{a}o op@value{cedilha}@~{o}es do
Maxima ou comutadores, criados atrav@'{e}s de @code{:} ou @code{::} ou associando funcionalmente.
@c WHAT IS INTENDED BY "FUNCTIONAL BINDING" HERE ??

@item functions
Todas as fun@value{cedilha}@~{o}es definidas pelo usu@'{a}rio, criadas atrav@'{e}s de @code{:=} ou @code{define}.

@item arrays
Todos os arrays declarados e n@~{a}o declarados, criados atrav@'{e}s de @code{:}, @code{::}, ou @code{:=}.
@c AREN'T THERE OTHER MEANS OF CREATING ARRAYS ??
@item macros
Todas as macros definidas pelo usu@'{a}rio.

@item myoptions
Todas as op@value{cedilha}@~{o}es alguma vez alteradas pelo usu@'{a}rio (mesmo que tenham ou n@~{a}o elas
tenham mais tarde retornadas para seus valores padr@~{a}o).

@item rules
Todos os modelos definidos pelo usu@'{a}rio que coincidirem e regras de simplifica@value{cedilha}@~{a}o, criadas
atrav@'{e}s de @code{tellsimp}, @code{tellsimpafter}, @code{defmatch}, ou @code{defrule}.

@item aliases
Todos os @'{a}tomos que possuem um alias definido pelo usu@'{a}rio, criado atrav@'{e}s das fun@value{cedilha}@~{o}es
@code{alias}, @code{ordergreat}, @code{orderless} ou declarando os @'{a}tomos como um @code{noun}
com @code{declare}.

@item dependencies
Todos os @'{a}tomos que possuem depend@^{e}ncias funcionais, criadas atrav@'{e}s das
fun@value{cedilha}@~{o}es @code{depends} ou @code{gradef}.

@item gradefs
Todas as fun@value{cedilha}@~{o}es que possuem derivadas definidas pelo usu@'{a}rio, cridas atrav@'{e}s da
fun@value{cedilha}@~{a}o @code{gradef}.

@c UMM, WE REALLY NEED TO BE SPECIFIC -- WHAT DOES "ETC" CONTAIN HERE ??
@item props
Todos os @'{a}tomos que possuem quaisquer propriedades outras que n@~{a}o essas mencionadas
acima, tais como propriedades estabelecidas por @code{atvalue} , @code{matchdeclare}, etc., tamb@'{e}m propriedades
estabelecidas na fun@value{cedilha}@~{a}o @code{declare}.

@item let_rule_packages
Todos os pacote de r@'{e}gras em uso definidos pelo usu@'{a}rio
mais o pacote especial @code{default_let_rule_package}.
(@code{default_let_rule_package} @'{e} o nome do pacote de r@'{e}gras usado quando
um n@~{a}o est@'{a} explicitamente escolhido pelo usu@'{a}rio.)

@end table

@end defvr

@deffn {Fun@value{cedilha}@~{a}o} integerp (@var{expr})
Retorna @code{true} se @var{expr} @'{e} um inteiro num@'{e}rico literal, de outra forma retorna @code{false}.

@code{integerp} retorna @code{false} se seu argumento for um s@'{i}mbolo,
mesmo se o argumento for declarado inteiro.

Exemplos:

@example
(%i1) integerp (0);
(%o1)                         true
(%i2) integerp (1);
(%o2)                         true
(%i3) integerp (-17);
(%o3)                         true
(%i4) integerp (0.0);
(%o4)                         false
(%i5) integerp (1.0);
(%o5)                         false
(%i6) integerp (%pi);
(%o6)                         false
(%i7) integerp (n);
(%o7)                         false
(%i8) declare (n, integer);
(%o8)                         done
(%i9) integerp (n);
(%o9)                         false
@end example

@end deffn

@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} m1pbranch
Valor padr@~{a}o: @code{false}

@code{m1pbranch} @'{e} principal descendente de @code{-1} a um expoente.
Quantidades tais como @code{(-1)^(1/3)} (isto @'{e}, um expoente racional "@'{i}mpar") e 
@code{(-1)^(1/4)} (isto @'{e}, um expoente racional "par") s@~{a}o manuseados como segue:

@c REDRAW THIS AS A TABLE
@example
              domain:real
                            
(-1)^(1/3):      -1         
(-1)^(1/4):   (-1)^(1/4)   

             domain:complex              
m1pbranch:false          m1pbranch:true
(-1)^(1/3)               1/2+%i*sqrt(3)/2
(-1)^(1/4)              sqrt(2)/2+%i*sqrt(2)/2
@end example

@end defvr

@deffn {Fun@value{cedilha}@~{a}o} numberp (@var{expr})
Retorna @code{true} se @var{expr} for um inteiro literal, n@'{u}mero racional, 
n@'{u}mero em ponto flutuante, ou um grande n@'{u}mero em ponto flutuante, de outra forma retorna @code{false}.

@code{numberp} retorna @code{false} se seu argumento for um s@'{i}mbolo,
mesmo se o argumento for um n@'{u}mero simb@'{o}lico tal como @code{%pi} ou @code{%i},
ou declarado ser 
@code{even}, @code{odd}, @code{integer}, @code{rational}, @code{irrational}, 
@code{real}, @code{imaginary}, or @code{complex}. Nota de Tradu@value{cedilha}@~{a}o: par, @'{i}mpar, inteiro, racional, irracional, real, imagin@'{a}rio, ou complexo.

Exemplos:

@example
(%i1) numberp (42);
(%o1)                         true
(%i2) numberp (-13/19);
(%o2)                         true
(%i3) numberp (3.14159);
(%o3)                         true
(%i4) numberp (-1729b-4);
(%o4)                         true
(%i5) map (numberp, [%e, %pi, %i, %phi, inf, minf]);
(%o5)      [false, false, false, false, false, false]
(%i6) declare (a, even, b, odd, c, integer, d, rational,
     e, irrational, f, real, g, imaginary, h, complex);
(%o6)                         done
(%i7) map (numberp, [a, b, c, d, e, f, g, h]);
(%o7) [false, false, false, false, false, false, false, false]
@end example

@end deffn

@c CROSS REF TO WHICH FUNCTION OR FUNCTIONS ESTABLISH PROPERTIES !! (VERY IMPORTANT)
@c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
@deffn {Fun@value{cedilha}@~{a}o} properties (@var{a})
Retorna uma lista de nomes de todas as
propriedades associadas com o @'{a}tomo @var{a}.

@end deffn

@c CROSS REF TO WHICH FUNCTION OR FUNCTIONS ESTABLISH PROPERTIES !! (VERY IMPORTANT)
@c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
@c WHAT IS HIDDEN IN THE "etc" HERE ??
@defvr {S@'{i}mbolo especial} props
@code{props} s@~{a}o @'{a}tomos que possuem qualquer propriedade outra como essas explicitamente
mencionadas em @code{infolists}, tais como especificado atrav@'{e}s de @code{atvalue}, @code{matchdeclare}, etc., 
e tamb@'{e}m propriedades especificadas na fun@value{cedilha}@~{a}o @code{declare}.
 
@end defvr

@c CROSS REF TO WHICH FUNCTION OR FUNCTIONS ESTABLISH PROPERTIES !! (VERY IMPORTANT)
@c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
@deffn {Fun@value{cedilha}@~{a}o} propvars (@var{prop})
Retorna uma lista desses @'{a}tomos sobre a lista @code{props} que
possui a propriedade indicada atrav@'{e}s de @var{prop}.  Dessa forma @code{propvars (atvalue)}
retorna uma lista de @'{a}tomos que possuem atvalues.

@end deffn

@c CROSS REF TO OTHER FUNCTIONS WHICH PUT/GET PROPERTIES !! (VERY IMPORTANT)
@c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
@c ARE PROPERTIES ESTABLISHED BY put THE SAME AS PROPERTIES ESTABLISHED BY declare OR OTHER FUNCTIONS ??
@c IS put (foo, true, integer) EQUIVALENT TO declare (foo, integer) FOR EXAMPLE ??
@deffn {Fun@value{cedilha}@~{a}o} put (@var{@'{a}tomo}, @var{valor}, @var{indicador})
Atribui @var{valor} para a propriedade (especificada atrav@'{e}s de @var{indicador}) do @var{@'{a}tomo}.
@var{indicador} pode ser o nome de qualquer propriedade, n@~{a}o apenas uma propriedade definida pelo sistema.

@code{put} avalia seus argumentos. 
@code{put} retorna @var{valor}.

Exemplos:

@example
(%i1) put (foo, (a+b)^5, expr);
                                   5
(%o1)                       (b + a)
(%i2) put (foo, "Hello", str);
(%o2)                         Hello
(%i3) properties (foo);
(%o3)            [[user properties, str, expr]]
(%i4) get (foo, expr);
                                   5
(%o4)                       (b + a)
(%i5) get (foo, str);
(%o5)                         Hello
@end example

@end deffn

@deffn {Fun@value{cedilha}@~{a}o} qput (@var{@'{a}tomo}, @var{valor}, @var{indicador})
Atribui @var{valor} para a propriedade (especificada atrav@'{e}s de @var{indicador}) do @var{@'{a}tomo}.
Isso @'{e} o mesmo que @code{put},
exceto que os argumentos n@~{a} s@~{a}o avaliados.

Exemplo:

@example
(%i1) foo: aa$ 
(%i2) bar: bb$
(%i3) baz: cc$
(%i4) put (foo, bar, baz);
(%o4)                          bb
(%i5) properties (aa);
(%o5)                [[user properties, cc]]
(%i6) get (aa, cc);
(%o6)                          bb
(%i7) qput (foo, bar, baz);
(%o7)                          bar
(%i8) properties (foo);
(%o8)            [value, [user properties, baz]]
(%i9) get ('foo, 'baz);
(%o9)                          bar
@end example

@end deffn

@c CROSS REF TO OTHER FUNCTIONS WHICH PUT/GET PROPERTIES !! (VERY IMPORTANT)
@c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
@c HOW DOES THIS INTERACT WITH declare OR OTHER PROPERTY-ESTABLISHING FUNCTIONS ??
@c HOW IS THIS DIFFERENT FROM remove ??
@deffn {Fun@value{cedilha}@~{a}o} rem (@var{@'{a}tomo}, @var{indicador})
Remove a propriedade indicada atrav@'{e}s de @var{indicador} do @var{@'{a}tomo}.

@end deffn

@c CROSS REF TO OTHER FUNCTIONS WHICH PUT/GET PROPERTIES !! (VERY IMPORTANT)
@c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
@c HOW DOES THIS INTERACT WITH declare OR OTHER PROPERTY-ESTABLISHING FUNCTIONS ??
@c HOW IS THIS DIFFERENT FROM rem ??
@deffn {Fun@value{cedilha}@~{a}o} remove (@var{a_1}, @var{p_1}, ..., @var{a_n}, @var{p_n})
@deffnx {Fun@value{cedilha}@~{a}o} remove ([@var{a_1}, ..., @var{a_m}], [@var{p_1}, ..., @var{p_n}], ...)
@deffnx {Fun@value{cedilha}@~{a}o} remove ("@var{a}", operator)
@deffnx {Fun@value{cedilha}@~{a}o} remove (@var{a}, transfun)
@deffnx {Fun@value{cedilha}@~{a}o} remove (all, @var{p})
Remove propriedades associadas a @'{a}tomos.

@code{remove (@var{a_1}, @var{p_1}, ..., @var{a_n}, @var{p_n})}
remove a propriedade @code{p_k} do @'{a}tomo @code{a_k}.

@code{remove ([@var{a_1}, ..., @var{a_m}], [@var{p_1}, ..., @var{p_n}], ...)}
remove as propriedades @code{@var{p_1}, ..., @var{p_n}}
dos @'{a}tomos @var{a_1}, ..., @var{a_m}.
Pode existir mais que um par de listas.

@c VERIFY THAT THIS WORKS AS ADVERTISED
@code{remove (all, @var{p})} remove a propriedade @var{p} de todos os @'{a}tomos que a possuem.

@c SHOULD REFER TO A LIST OF ALL SYSTEM-DEFINED PROPERTIES HERE.
A propriedade removida pode ser definida pelo sistema tal como
@code{function}, @code{macro} ou @code{mode_declare}, ou propriedades definidas pelo usu@'{a}rio.

@c VERIFY THAT THIS WORKS AS ADVERTISED
@c IS transfun PECULIAR TO remove ?? IF SO, SHOW SPECIAL CASE AS @defunx
uma propriedade pode ser @code{transfun} para remover
a vers@~{a}o traduzida Lisp de uma fun@value{cedilha}@~{a}o.
Ap@'{o}s executar isso, a vers@~{a}o Maxima da fun@value{cedilha}@~{a}o @'{e} executada
em lugar da vers@~{a}o traduzida.

@code{remove ("@var{a}", operator)} ou, equivalentemente, @code{remove ("@var{a}", op)}
remove de @var{a} as propriedades @code{operator} declaradas atrav@'{e}s de
@code{prefix}, @code{infix}, @code{nary}, @code{postfix}, @code{matchfix}, ou @code{nofix}.
Note que o nome do operador deve ser escrito como uma seq@"{u}@^{e}ncia de caracteres com ap@'{o}stofo.

@code{remove} sempre retorna @code{done} se um @'{a}tomo possui ou n@~{a}o uma propriedade especificada.
Esse comportamento @'{e} diferente das fun@value{cedilha}@~{o}es remove mais espec@'{i}ficas
@code{remvalue}, @code{remarray}, @code{remfunction}, e @code{remrule}.

@c IN SERIOUS NEED OF EXAMPLES HERE
@end deffn

@c NEEDS EXAMPLES
@deffn {Fun@value{cedilha}@~{a}o} remvalue (@var{nome_1}, ..., @var{nome_n})
@deffnx {Fun@value{cedilha}@~{a}o} remvalue (all)
Remove os valores de Vari@'{a}veis de usu@'{a}rio @var{nome_1}, ..., @var{nome_n}
(que podem ser subscritas) do sistema.

@code{remvalue (all)} remove os valores de todas as vari@'{a}veis em @code{values},
a lista de todas as vari@'{a}veis nomeadas atrav@'{e}s do usu@'{a}rio
(em oposi@value{cedilha}@~{a}o a essas que s@~{a}o automaticamente atribu@'{i}das atrav@'{e}s do Maxima).

Veja tamb@'{e}m @code{values}.

@end deffn

@c NEEDS EXAMPLES
@deffn {Fun@value{cedilha}@~{a}o} rncombine (@var{expr})
Transforma @var{expr} combinando todos os termos de @var{expr} que possuem
denominadores id@^{e}nticos ou denominadores que diferem de cada um dos outros apenas por
fatores num@'{e}ricos somente.  Isso @'{e} ligeiramente diferente do comportamento de
de @code{combine}, que coleta termos que possuem denominadores id@^{e}nticos.

Escolhendo @code{pfeformat: true} e usando @code{combine} retorna resultados similares
a esses que podem ser obtidos com @code{rncombine}, mas @code{rncombine} pega o
passo adicional de multiplicar cruzado fatores num@'{e}rios do denominador.
Esses resultados em forma ideal, e a possibilidade de reconhecer alguns
cancelamentos.

Para usar essa fun@value{cedilha}@~ao escreva primeiramente @code{load(rncomb)}.
@end deffn

@c NEEDS CLARIFICATION AND EXAMPLES
@deffn {Fun@value{cedilha}@~{a}o} scalarp (@var{expr})
Retorna @code{true} se @var{expr} for um n@'{u}mero, constante, ou vari@'{a}vel
declarada @code{scalar} com @code{declare}, ou composta inteiramente de n@'{u}meros, constantes, e tais
Vari@'{a}veis, bmas n@~{a}o contendo matrizes ou listas.

@end deffn

@deffn {Fun@value{cedilha}@~{a}o} setup_autoload (@var{nomearquivo}, @var{fun@value{cedilha}@~{a}o_1}, ..., @var{fun@value{cedilha}@~{a}o_n})
Especifica que
se qualquer entre @var{fun@value{cedilha}@~{a}o_1}, ..., @var{fun@value{cedilha}@~{a}o_n} for referenciado e n@~{a}o ainda definido,
@var{nomedeqrquivo} @'{e} chamado via @code{load}.
@var{nomearquivo} usualmente cont@'{e}m defini@value{cedilha}@~{o}es para as fun@value{cedilha}@~{o}es especificadas,
embora isso n@~{a}o seja obrigat@'{o}rio.

@code{setup_autoload} n@~{a}o trabalha para fun@value{cedilha}@~{o}es array.

@code{setup_autoload} n@~{a}o avalia seus argumentos.

Exemplo:

@c EXAMPLE GENERATED FROM FOLLOWING INPUT
@c legendre_p (1, %pi);
@c setup_autoload ("specfun.mac", legendre_p, ultraspherical);
@c ultraspherical (2, 1/2, %pi);
@c legendre_p (1, %pi);
@c legendre_q (1, %pi);
@example
(%i1) legendre_p (1, %pi);
(%o1)                  legendre_p(1, %pi)
(%i2) setup_autoload ("specfun.mac", legendre_p, ultraspherical);
(%o2)                         done
(%i3) ultraspherical (2, 1/2, %pi);
Warning - you are redefining the Macsyma fun@value{cedilha}@~{a}o ultraspherical
Warning - you are redefining the Macsyma fun@value{cedilha}@~{a}o legendre_p
                            2
                 3 (%pi - 1)
(%o3)            ------------ + 3 (%pi - 1) + 1
                      2
(%i4) legendre_p (1, %pi);
(%o4)                          %pi
(%i5) legendre_q (1, %pi);
                              %pi + 1
                      %pi log(-------)
                              1 - %pi
(%o5)                 ---------------- - 1
                             2
@end example

@end deffn
