Ativa os contextos context_1, ..., context_n.
Os fatos nesses contextos estão então disponíveis para
fazer deduções e recuperar informação.
Os fatos nesses contextos não são listadas através de facts ()
.
A variável activecontexts
é a lista
de contextos que estão ativos pelo caminho da função activate
.
Valor padrão: []
activecontexts
é a lista de contextos que estão ativos
pelo caminho da função activate
, em oposição a sendo ativo porque
eles são subcontextos do contexto corrente.
Adiciona predicados pred_1, ..., pred_n ao contexto corrente.
Se um predicado for incossistente ou redundante
com os predicados no contexto corrente,
esses predicados não são adicionados ao contexto.
O contexto acumula predicados de cada chamada a assume
.
assume
retorna uma lista cujos elementos são os predicados adicionados ao contexto
ou os átomos redundant
ou inconsistent
onde for aplicável.
Os predicados pred_1, ..., pred_n podem somente ser expressões
com os operadores relacionais < <= equal notequal >=
e >
.
Predicados não podem ser expressões de igualdades literais =
ou expressões de desigualdades literais #
,
nem podem elas serem funções de predicado tais como integerp
.
Predicados combinados da forma pred_1 and ... and pred_n
são reconhecidos,
mas não pred_1 or ... or pred_n
.
not pred_k
é reconhecidos se pred_k for um predicado relacional.
Expressões da forma not (pred_1 e pred_2)
and not (pred_1 or pred_2)
não são reconhecidas.
O mecanismo de dedução do Maxima não é muito forte;
exitem conseqüências muito óbvias as quais não podem ser determinadas por meio de is
.
Isso é uma fraqueza conhecida.
assume
avalia seus argumentos.
Veja também is
, facts
, forget
, context
, e declare
.
Exemplos:
(%i1) assume (xx > 0, yy < -1, zz >= 0); (%o1) [xx > 0, yy < - 1, zz >= 0] (%i2) assume (aa < bb and bb < cc); (%o2) [bb > aa, cc > bb] (%i3) facts (); (%o3) [xx > 0, - 1 > yy, zz >= 0, bb > aa, cc > bb] (%i4) is (xx > yy); (%o4) true (%i5) is (yy < -yy); (%o5) true (%i6) is (sinh (bb - aa) > 0); (%o6) true (%i7) forget (bb > aa); (%o7) [bb > aa] (%i8) prederror : false; (%o8) false (%i9) is (sinh (bb - aa) > 0); (%o9) unknown (%i10) is (bb^2 < cc^2); (%o10) unknown
Valor padrão: true
assumescalar
ajuda a governar se expressões expr
para as quais nonscalarp (expr)
for false
são assumidas comportar-se como escalares
para certas transformações.
Tomemos expr
representando qualquer expressão outra que não uma lista ou uma matriz,
e tomemos [1, 2, 3]
representando qualquer lista ou matriz.
Então expr . [1, 2, 3]
retorna [expr, 2 expr, 3 expr]
se assumescalar
for true
, ou scalarp (expr)
for
true
, ou constantp (expr)
for true
.
Se assumescalar
for true
, tais
expressões irão comportar-se como escalares somente para operadores
comutativos, mas não para multiplicação não comutativa .
.
Quando assumescalar
for false
, tais
expressões irão comportar-se como não escalares.
Quando assumescalar
for all
,
tais expressões irão comportar-se como escalares para todos os operadores listados
acima.
Valor padrão: false
Quando assume_pos
for true
e o sinal de um parâmetro x não pode ser determinado a partir do contexto corrente
ou outras considerações,
sign
e asksign (x)
retornam true
.
Isso pode impedir algum questionamento de asksign
gerado automaticamente,
tal como pode surgir de integrate
ou de outros cálculos.
Por padrão, um parâmetro é x tal como symbolp (x)
or subvarp (x)
.
A classe de expressões consideradas parâmetros pode ser modificada para alguma abrangência
através da variável assume_pos_pred
.
sign
e asksign
tentam deduzir o sinal de expressões
a partir de sinais de operandos dentro da expressão.
Por exemplo, se a
e b
são ambos positivos,
então a + b
é também positivo.
Todavia, não existe caminho para desviar todos os questionamentos de asksign
.
Particularmente, quando o argumento de asksign
for uma
diferença x - y
ou um logarítmo log(x)
,
asksign
sempre solicita uma entrada ao usuário,
mesmo quando assume_pos
for true
e assume_pos_pred
for
uma função que retorna true
para todos os argumentos.
Valor padrão: false
Quando assume_pos_pred
for atribuído o nome de uma função
ou uma expressão lambda de um argumento x,
aquela função é chamada para determinar
se x é considerado um parâmetro para o propósito de assume_pos
.
assume_pos_pred
é ignorado quando assume_pos
for false
.
A função assume_pos_pred
é chamada através de sign
e de asksign
com um argumento x
que é ou um átomo, uma variável subscrita, ou uma expressão de chamada de função.
Se a função assume_pos_pred
retorna true
,
x é considerado um parâmetro para o propósito de assume_pos
.
Por padrão, um parâmetro é x tal que symbolp (x)
ou subvarp (x)
.
Veja também assume
e assume_pos
.
Exemplos:
(%i1) assume_pos: true$ (%i2) assume_pos_pred: symbolp$ (%i3) sign (a); (%o3) pos (%i4) sign (a[1]); (%o4) pnz (%i5) assume_pos_pred: lambda ([x], display (x), true)$ (%i6) asksign (a); x = a (%o6) pos (%i7) asksign (a[1]); x = a 1 (%o7) pos (%i8) asksign (foo (a)); x = foo(a) (%o8) pos (%i9) asksign (foo (a) + bar (b)); x = foo(a) x = bar(b) (%o9) pos (%i10) asksign (log (a)); x = a Is a - 1 positive, negative, or zero? p; (%o10) pos (%i11) asksign (a - b); x = a x = b x = a x = b Is b - a positive, negative, or zero? p; (%o11) neg
Valor padrão: initial
context
nomeia a coleção de fatos mantida através de assume
e forget
.
assume
adiciona fatos à coleção nomeada através de context
,
enquanto forget
remove fatos.
Associando context
para um nome foo altera o contexto corrente para foo.
Se o contexto especificado foo não existe ainda,
ele é criado automaticamente através de uma chamada a newcontext
.
O contexto especificado é ativado automaticamente.
Veja contexts
para uma descrição geral do mecanismo de contexto.
Valor padrão: [initial, global]
contexts
é uma lista dos contextos que
existem atualmente, incluindo o contexto ativo atualmente.
O mecanismo de contexto torna possível para um usuário associar e nomear uma porção selecionada de fatos, chamada um contexto. Assim que isso for concluído, o usuário pode ter o Maxima assumindo ou esquecendo grande quantidade de fatos meramente através da ativação ou desativação seu contexto.
Qualquer átomo simbólico pode ser um contexto, e os fatos contidos naquele
contexto irão ser retidos em armazenamento até que sejam destruídos um por um
através de chamadas a forget
ou destruídos com um conjunto através de uma chamada a kill
para destruir o contexto que eles pertencem.
Contextos existem em uma hierarquía, com o raíz sempre sendo
o contexto global
, que contém informações sobre Maxima que alguma
função precisa. Quando em um contexto dado, todos os fatos naquele
contexto estão "ativos" (significando que eles são usados em deduções e
recuperados) como estão também todos os fatos em qualquer contexto que for um subcontexto
do contexto ativo.
Quando um novo Maxima for iniciado, o usuário está em um
contexto chamado initial
, que tem global
como um subcontexto.
Veja também facts
, newcontext
,
supcontext
, killcontext
, activate
, deactivate
, assume
, e forget
.
Desativa os contextos especificados context_1, ..., context_n.
Se item for o nome de um contexto,
facts (item)
retorna uma lista
de fatos no contexto especificado.
Se item não for o nome de um contexto,
facts (item)
retorna uma lista de fatos conhecidos sobre item no contexto
atual. Fatos que estão atuvos, mas em um diferente contexto, não são listados.
facts ()
(i.e., sem argumento) lista o contexto atual.
Maxima recnhece ceertas propriedades matemáticas de funções e variáveis. Essas são chamadas "recursos".
declare (x, foo)
fornece a propriedade foo para a função ou variável x.
declare (foo, recurso)
declara um novo recurso foo.
Por exemplo,
declare ([red, green, blue], feature)
declara três novos recursos, red
, green
, e blue
.
O predicado featurep (x, foo)
retorna true
se x possui a propriedade foo,
e false
de outra forma.
A infolista features
é uma lista de recursos conhecidos.
São esses
integer
, noninteger
, even
, odd
, rational
,
irrational
, real
, imaginary
, complex
,
analytic
, increasing
, decreasing
, oddfun
,
evenfun
, posfun
, commutative
, lassociative
,
rassociative
, symmetric
, e antisymmetric
,
mais quaisquer recursos definidos pelo usuário.
features
é uma lista de recursos matemáticos.
Existe também uma lista de recursos não matemáticos, recursos dependentes do sistema. Veja status
.
Remove predicados estabelecidos através de assume
.
Os predicados podem ser expressões equivalentes a (mas não necessáriamente idênticas a)
esses prevamentes assumidos.
forget (L)
, onde L é uma lista de predicados,
esquece cada item da lista.
Mata os contextos context_1, ..., context_n.
Se um dos contextos estiver for o contexto atual, o novo contexto
atual irá tornar-se o primeiro subcontexto disponível do contexto
atual que não tiver sido morto. Se o primeiro contexto disponível
não morto for global
então initial
é usado em seu lugar. Se o contexto
initial
for morto, um novo, porém vazio contexto initial
é criado.
killcontext
recusa-se a matar um contexto que estiver
ativo atualmente, ou porque ele é um subcontexto do contexto
atual, ou através do uso da função activate
.
killcontext
avalia seus argumentos.
killcontext
retorna done
.
Cria um novo contexto, porém vazio, chamado nome, que
tem global
como seu único subcontexto. O contexto recentemente criado
torna-se o contexto ativo atualmente.
newcontext
avalia seu argumento.
newcontext
retorna nome.