[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Índice] | [ ? ]

# 35. Opções Diversas

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Índice] | [ ? ]

## 35.1 Introdução a Opções Diversas

Nessa seção várias opções são tratadas pelo fato de possuirem um efeito global sobre a operação do Maxima. Também várias listas tais como a lista de todas as funções definidas pelo usuário, são discutidas.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Índice] | [ ? ]

## 35.2 Compartilhado

O diretório "share" do Maxima contém programas e outros arquivos de interesse para os usuários do Maxima, mas que não são parte da implementação do núcleo do Maxima. Esses programas são tipicamente chamados via `load` ou `setup_autoload`.

`:lisp *maxima-sharedir*` mostra a localização do diretório compartilhado dentro do sistema de arquivos do usuário.

`printfile ("share.usg")` imprime uma lista de pacotes desatualizados dos pacotes compartilhados. Usuários podem encontrar isso de forma mais detalhada navegando no diretório compartilhado usando um navegador de sistema de arquivo.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Índice] | [ ? ]

## 35.3 Funções e Variáveis Definidas para Opções Diversas

Variável de sistema: aliases

  Valor padrão: `[]`

  `aliases` é a lista de átomos que possuem um alias definido pelo usuário (escolhido através das funções `alias`, `ordergreat`, `orderless` ou através da declaração do átomo como sendo um `noun` (substantivo) com `declare`).

Declaração: alphabetic

  `alphabetic` é uma declaração reconhecida por `declare`. A expressão `declare(s, alphabetic)` diz ao Maxima para reconhecer como alfabético todos os caracteres em s, que deve ser uma seqüência de caracteres.

  Veja também Identificadores.

  Exemplo:

      (%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~]

Função: apropos (string)

  Procura por nomes Maxima que possuem string aparecendo em qualquer lugar dentro de seu nome. Dessa forma, `apropos (exp)` retorna uma lista de todos os sinalizadores e funções que possuem `exp` como parte de seus nomes, tais como `expand`, `exp`, e `exponentialize`. Dessa forma você pode somente lembra parte do nome de alguma coisa você pode usar esse comando para achar o restante do nome. Similarmente, você pode dizer `apropos (tr_)` para achar uma lista de muitos dos comutadores relatando para o tradutor, muitos dos quais começam com `tr_`.

Função: args (expr)

  Retorna a lista de argumentos de `expr`, que pode ser de qualquer tipo de expressão outra como um átomo. Somente os argumentos do operador de nível mais alto são extraídos; subexpressões de `expr` aparecem como elementos ou subexpressões de elementos da lista de argumentos.

  A ordem dos ítens na lista pode depender do sinalizador global `inflag`.

  `args (expr)` é equivalente a `substpart ("[", expr, 0)`. Veja também `substpart` e `op`.

Variável de opção: genindex

  Valor padrão: `i`

  `genindex` é o prefixo usado para gerar a próxima variável do somatório quando necessário.

Variável de opção: gensumnum

  Valor padrão: 0

  `gensumnum` é o sufixo numérico usado para gerar variável seguinte do somatório. Se isso for escolhido para `false` então o índice consistirá somente de `genindex` com um sufixo numérico.

Constante: inf

  Infinito positivo real.

Constante: infinity

  Infinito complexo, uma magnitude infinita de ângulo de fase arbitrária. Veja também `inf` e `minf`.

Variável de sistema: infolists

  Valor padrão: `[]`

  `infolists` é uma lista dos nomes de todas as listas de informação no Maxima. São elas:

  `labels`

    Todos associam `%i`, `%o`, e rótulos `%t`.

  `values`

    Todos associam átomos que são variáveis de usuário, não opções do Maxima ou comutadores, criados através de `:` ou `::` ou associando funcionalmente.

  `functions`

    Todas as funções definidas pelo usuário, criadas através de `:=` ou `define`.

  `arrays`

    Todos os arrays declarados e não declarados, criados através de `:`, `::`, ou `:=`.

  `macros`

    Todas as macros definidas pelo usuário.

  `myoptions`

    Todas as opções alguma vez alteradas pelo usuário (mesmo que tenham ou não elas tenham mais tarde retornadas para seus valores padrão).

  `rules`

    Todos os modelos definidos pelo usuário que coincidirem e regras de simplificação, criadas através de `tellsimp`, `tellsimpafter`, `defmatch`, ou `defrule`.

  `aliases`

    Todos os átomos que possuem um alias definido pelo usuário, criado através das funções `alias`, `ordergreat`, `orderless` ou declarando os átomos como um `noun` com `declare`.

  `dependencies`

    Todos os átomos que possuem dependências funcionais, criadas através das funções `depends` ou `gradef`.

  `gradefs`

    Todas as funções que possuem derivadas definidas pelo usuário, cridas através da função `gradef`.

  `props`

    Todos os átomos que possuem quaisquer propriedades outras que não essas mencionadas acima, tais como propriedades estabelecidas por `atvalue` , `matchdeclare`, etc., também propriedades estabelecidas na função `declare`.

  `let_rule_packages`

    Todos os pacote de régras em uso definidos pelo usuário mais o pacote especial `default_let_rule_package`. (`default_let_rule_package` é o nome do pacote de régras usado quando um não está explicitamente escolhido pelo usuário.)

Função: integerp (expr)

  Retorna `true` se expr é um inteiro numérico literal, de outra forma retorna `false`.

  `integerp` retorna `false` se seu argumento for um símbolo, mesmo se o argumento for declarado inteiro.

  Exemplos:

      (%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

Variável de opção: m1pbranch

  Valor padrão: `false`

  `m1pbranch` é principal descendente de `-1` a um expoente. Quantidades tais como `(-1)^(1/3)` (isto é, um expoente racional "ímpar") e `(-1)^(1/4)` (isto é, um expoente racional "par") são manuseados como segue:

                    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

Função: numberp (expr)

  Retorna `true` se expr for um inteiro literal, número racional, número em ponto flutuante, ou um grande número em ponto flutuante, de outra forma retorna `false`.

  `numberp` retorna `false` se seu argumento for um símbolo, mesmo se o argumento for um número simbólico tal como `%pi` ou `%i`, ou declarado ser `even`, `odd`, `integer`, `rational`, `irrational`, `real`, `imaginary`, or `complex`. Nota de Tradução: par, ímpar, inteiro, racional, irracional, real, imaginário, ou complexo.

  Exemplos:

      (%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]

Função: properties (a)

  Retorna uma lista de nomes de todas as propriedades associadas com o átomo a.

Símbolo especial: props

  `props` são átomos que possuem qualquer propriedade outra como essas explicitamente mencionadas em `infolists`, tais como especificado através de `atvalue`, `matchdeclare`, etc., e também propriedades especificadas na função `declare`.

Função: propvars (prop)

  Retorna uma lista desses átomos sobre a lista `props` que possui a propriedade indicada através de prop. Dessa forma `propvars (atvalue)` retorna uma lista de átomos que possuem atvalues.

Função: put (átomo, valor, indicador)

  Atribui valor para a propriedade (especificada através de indicador) do átomo. indicador pode ser o nome de qualquer propriedade, não apenas uma propriedade definida pelo sistema.

  `put` avalia seus argumentos. `put` retorna valor.

  Exemplos:

      (%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

Função: qput (átomo, valor, indicador)

  Atribui valor para a propriedade (especificada através de indicador) do átomo. Isso é o mesmo que `put`, exceto que os argumentos nã são avaliados.

  Exemplo:

      (%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

Função: rem (átomo, indicador)

  Remove a propriedade indicada através de indicador do átomo.

Função: remove (a_1, p_1, ..., a_n, p_n)
Função: remove ([a_1, ..., a_m], [p_1, ..., p_n], ...)
Função: remove ("a", operator)
Função: remove (a, transfun)
Função: remove (all, p)

  Remove propriedades associadas a átomos.

  `remove (a_1, p_1, ..., a_n, p_n)` remove a propriedade `p_k` do átomo `a_k`.

  `remove ([a_1, ..., a_m], [p_1, ..., p_n], ...)` remove as propriedades `p_1, ..., p_n` dos átomos a_1, ..., a_m. Pode existir mais que um par de listas.

  `remove (all, p)` remove a propriedade p de todos os átomos que a possuem.

  A propriedade removida pode ser definida pelo sistema tal como `function`, `macro` ou `mode_declare`, ou propriedades definidas pelo usuário.

  uma propriedade pode ser `transfun` para remover a versão traduzida Lisp de uma função. Após executar isso, a versão Maxima da função é executada em lugar da versão traduzida.

  `remove ("a", operator)` ou, equivalentemente, `remove ("a", op)` remove de a as propriedades `operator` declaradas através de `prefix`, `infix`, `nary`, `postfix`, `matchfix`, ou `nofix`. Note que o nome do operador deve ser escrito como uma seqüência de caracteres com apóstofo.

  `remove` sempre retorna `done` se um átomo possui ou não uma propriedade especificada. Esse comportamento é diferente das funções remove mais específicas `remvalue`, `remarray`, `remfunction`, e `remrule`.

Função: remvalue (nome_1, ..., nome_n)
Função: remvalue (all)

  Remove os valores de Variáveis de usuário nome_1, ..., nome_n (que podem ser subscritas) do sistema.

  `remvalue (all)` remove os valores de todas as variáveis em `values`, a lista de todas as variáveis nomeadas através do usuário (em oposição a essas que são automaticamente atribuídas através do Maxima).

  Veja também `values`.

Função: rncombine (expr)

  Transforma expr combinando todos os termos de expr que possuem denominadores idênticos ou denominadores que diferem de cada um dos outros apenas por fatores numéricos somente. Isso é ligeiramente diferente do comportamento de de `combine`, que coleta termos que possuem denominadores idênticos.

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

  Para usar essa função escreva primeiramente `load(rncomb)`.

Função: scalarp (expr)

  Retorna `true` se expr for um número, constante, ou variável declarada `scalar` com `declare`, ou composta inteiramente de números, constantes, e tais Variáveis, bmas não contendo matrizes ou listas.

Função: setup_autoload (nomearquivo, função_1, ..., função_n)

  Especifica que se qualquer entre função_1, ..., função_n for referenciado e não ainda definido, nomedeqrquivo é chamado via `load`. nomearquivo usualmente contém definições para as funções especificadas, embora isso não seja obrigatório.

  `setup_autoload` não trabalha para funções array.

  `setup_autoload` não avalia seus argumentos.

  Exemplo:

      (%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ção ultraspherical
      Warning - you are redefining the Macsyma funçã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

[ << ] | [ >> ] |  |  |  |  |  | [Top] | [Contents] | [Índice] | [ ? ]

This document was generated by Viktor T. Toth on Setembro, 27 2018 using texi2html 1.76.