Siguiente: Funciones y variables para los hechos, Previous: Introducción a la base de datos de Maxima, Subir: Base de datos de Maxima [Índice general][Índice]
alphabetic es un tipo de propiedad reconocida por declare.
La expresión declare(s, alphabetic) le indica a Maxima que reconozca
como alfabéticos todos los caracteres que haya en s, que debe ser una cadena de texto.
Véase también Identifiers.
Ejemplo:
(%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~]
La sentencia declare(x, bindtest le indica a Maxima que devuelva un mensaje
de error cuando el símbolo x no tenga asociado valor alguno.
Ejemplo:
(%i1) aa + bb; (%o1) bb + aa (%i2) declare (aa, bindtest); (%o2) done (%i3) aa + bb; aa unbound variable -- an error. Quitting. To debug this try debugmode(true); (%i4) aa : 1234; (%o4) 1234 (%i5) aa + bb; (%o5) bb + 1234
declare(a, constant) declara a como constante.  La declaración
de un símbolo como constante no impide que se le asigne un valor no
constante al símbolo.
Véanse constantp y declare
Ejemplo:
(%i1) declare(c, constant); (%o1) done (%i2) constantp(c); (%o2) true (%i3) c : x; (%o3) x (%i4) constantp(c); (%o4) false
Devuelve true si expr es una expresión constante y
false en caso contrario.
Una expresión se considera constante si sus argumentos son números 
(incluidos los números racionales que se muestran con /R/), 
constantes simbólicas como %pi, %e o %i, variables 
con valor constante o declarada como constante por declare,
o funciones cuyos argumentos son constantes.
La función constantp evalúa sus argumentos.
Ejemplos:
(%i1) constantp (7 * sin(2)); (%o1) true (%i2) constantp (rat (17/29)); (%o2) true (%i3) constantp (%pi * sin(%e)); (%o3) true (%i4) constantp (exp (x)); (%o4) false (%i5) declare (x, constant); (%o5) done (%i6) constantp (exp (x)); (%o6) true (%i7) constantp (foo (x) + bar (%e) + baz (2)); (%o7) false (%i8)
Asigna al átomo o lista de átomos a_i la propiedad o lista de propiedadesp_i. Si a_i y/o p_i son listas, cada uno de los átomos adquiere todas las propiedades.
La función declare no evalúa sus argumentos y siempre devuelve la
expresión done.
La llamada featurep (object, feature) devuelve true
si object ha sido previamente declarado como poseedor de la propiedad
feature.
Véase también features.
La función declare reconoce las siguientes propiedades:
additiveHace que Maxima simplifique las expresiones a_i
      haciendo uso de la sustitución 
      a_i(x + y + z + ...) -->
      a_i(x) + a_i(y) + a_i(z) + ....
      Tal sustitución se aplica únicamente al primer argumento.
alphabeticIndica a Maxima que reconozca todos los caracteres de la cadena alfanumérica a_i como caracteres alfabéticos.
antisymmetric, commutative, symmetricHace que Maxima reconozca a a_i como una función simétrica o
      antisimétrica. La propiedad commutative equivale a symmetric.
bindtestHace que Maxima envíe un error si a_i es evaluado sin habérsele asignado un valor.
constantHace que Maxima considere a a_i como una constante simbólica.
even, oddHace que Maxima reconozca a a_i como una variable entera par o impar.
evenfun, oddfunHace que Maxima reconozca a a_i como una función par o impar.
evflagHace que a_i sea reconocida por ev, de manera que a a_i se le
      asigne el valor true durante la ejecución de ev cuando a_i 
      aparezca como argumento de control de ev. Véase también evflag.
evfunHace que a_i sea reconocida por ev, de manera que la función
      nombrada por a_i se aplique cuando a_i aparezca como argumento
      de control de ev. Véase también evfun.
featureHace que Maxima considere a a_i como el nombre de una propiedad. Otros átomos podrán ser declarados entonces como poseedores de la propiedad a_i.
increasing, decreasingHace que Maxima reconozca a a_i como una función creciente o decreciente.
integer, nonintegerHace que Maxima reconozca a a_i como una variable entera o no entera.
integervaluedHace que Maxima reconozca a a_i como una función de valor entero.
lassociative, rassociativeHace que Maxima reconozca a a_i como una función asociativa por la derecha o por la izquierda.
linearEquivale a declarar a_i conjuntamente como outative y additive.
mainvarHace que Maxima considere a a_i como una "variable principal",
      dándole prioridad frente a cualesquiera otras constantes o
      variables en la ordenación canónica de expresiones de Maxima,
      tal como determina ordergreatp.
multiplicativeHace que Maxima simplifique las expresiones a_i
      haciendo uso de la sustitución 
      a_i(x * y * z * ...) --> a_i(x) * a_i(y) * a_i(z) * ....
      Tal sustitución se aplica únicamente al primer argumento.
naryHace que Maxima reconozca a a_i como una función n-aria.
La declaración nary no es equivalente a la función nary.
      El único efecto de declare(foo, nary) consiste en hacer que
      el simplificador de Maxima reduzca expresiones anidadas; por ejemplo, 
      para transformar foo(x, foo(y, z)) a foo(x, y, z).
nonarrayIndica que Maxima no debe considerar a_i como un array. Esta declaración evita la evaluación múltiple de variables subindicadas.
nonscalarHace que Maxima considere a a_i como una variable no escalar. Se aplica comúnmente para declarar una variable como un vector simbólico o una matriz simbólica.
nounHace que Maxima considere a a_i como un nombre. El efecto
      que se obtiene es que se reemplazan todas las expresiones a_i
      por 'a_i o nounify (a_i),
      dependiendo del contexto.
outativeHace que Maxima simplifique las expresiones a_i extrayendo los factores constantes del primer argumento.
Cuando a_i tenga un único argumento, un factor se considerará constante si es una constante literal o declarada.
Cuando a_i tenga dos o más argumentos, un factor se considerará constante si el segundo argumento es un símbolo y el factor no contiene al segundo argumento.
posfunHace que Maxima reconozca a a_i como una función positiva.
rational, irrationalHace que Maxima reconozca a a_i como una variable real racional o irracional.
real, imaginary, complexHace que Maxima reconozca a a_i como una variable real, imaginaria o compleja.
scalarHace que Maxima considere a a_i como una variable escalar.
Ejemplos sobre el uso de estas propiedades están disponibles en la documentación correspondiente a cada propiedad por separado.
Las instrucciones declare(f, decreasing) y
declare(f, increasing le indican a Maxima que reconozca la función
f como una función decreciente o creciente.
Véase también declare para más propiedades.
Ejemplo:
(%i1) assume(a > b); (%o1) [a > b] (%i2) is(f(a) > f(b)); (%o2) unknown (%i3) declare(f, increasing); (%o3) done (%i4) is(f(a) > f(b)); (%o4) true
declare(a, even) y declare(a, odd) le indican a Maxima
que reconozca el símbolo a como entero par o impar.  Las
propiedades even y odd no son reconocidas por las funciones 
evenp, oddp y integerp.
Véanse también declare y askinteger.
Ejemplo:
(%i1) declare(n, even); (%o1) done (%i2) askinteger(n, even); (%o2) yes (%i3) askinteger(n); (%o3) yes (%i4) evenp(n); (%o4) false
Maxima interpreta dos tipos diferentes de propiedades, del sistema y las que
se aplican a expresiones matemáticas. Véase status para obtener
información sobre propiedades del sistema, así como
features y featurep para propiedades de las expresiones matemáticas.
feature no es el nombre de ninguna función o variable.
Intenta determinar si el objeto a tiene la propiedad f en base a los
hechos almacenados en la base de datos. En caso afirmativo, devuelve true,
o false en caso contrario.
Nótese que featurep devuelve false cuando no se puedan verificar ni
f ni su negación.
featurep evalúa su argumento.
Véanse también declare y features.
Ejemplos:
(%i1) declare (j, even)$ (%i2) featurep (j, integer); (%o2) true
Maxima reconoce ciertas propiedades matemáticas sobre funciones y variables.
La llamada declare (x, foo) asocia la propiedad foo a la función o variable x.
La llamada declare (foo, feature) declara una nueva propiedad foo. 
Por ejemplo, declare ([rojo, verde, azul], feature) declara tres nuevas propiedades, 
rojo, verde y azul.
El predicado featurep (x, foo)
devuelve true si x goza de la propiedad foo, y false en caso contrario.
La lista features contiene las propiedades que reconoce Maxima; a saber,
integer noninteger even odd rational irrational real imaginary complex analytic increasing decreasing oddfun evenfun posfun commutative lassociative rassociative symmetric antisymmetric
junto con las definidas por el usuario.
La lista features sólo contiene propiedades matemáticas. 
Hay otra lista con propiedades no matemáticas; Véase status.
Ejemplo:
(%i1) declare (FOO, feature); (%o1) done (%i2) declare (x, FOO); (%o2) done (%i3) featurep (x, FOO); (%o3) true
Recupera la propiedad de usuario indicada por i asociada al átomo a 
o devuelve false si a no tiene la propiedad i.
La función get evalúa sus argumentos.
Véanse también put y qput.
(%i1) put (%e, 'transcendental, 'type);
(%o1)                    transcendental
(%i2) put (%pi, 'transcendental, 'type)$
(%i3) put (%i, 'algebraic, 'type)$
(%i4) typeof (expr) := block ([q],
        if numberp (expr)
        then return ('algebraic),
        if not atom (expr)
        then return (maplist ('typeof, expr)),
        q: get (expr, 'type),
        if q=false
        then errcatch (error(expr,"is not numeric.")) else q)$
(%i5) typeof (2*%e + x*%pi);
x is not numeric.
(%o5)  [[transcendental, []], [algebraic, transcendental]]
(%i6) typeof (2*%e + %pi);
(%o6)     [transcendental, [algebraic, transcendental]]
declare(a, integer) o declare(a, noninteger) indica a
Maxima que reconozca a como una variable entera o no entera.
Véase también declare.
Ejemplo:
(%i1) declare(n, integer, x, noninteger); (%o1) done (%i2) askinteger(n); (%o2) yes (%i3) askinteger(x); (%o3) no
declare(f, integervalued) indica a MAxima que reconozca f como
una función que toma valores enteros.
Véase también declare.
Ejemplo:
(%i1) exp(%i)^f(x);
                              %i f(x)
(%o1)                      (%e  )
(%i2) declare(f, integervalued);
(%o2)                         done
(%i3) exp(%i)^f(x);
                              %i f(x)
(%o3)                       %e
La instrucción declare(a, nonarray) le indica a Maxima que
no considere a como un array. Esta declaración evita la 
evaluación múltiple de a, si ésta es una variable subindicada.
Véase también declare.
Ejemplo:
(%i1) a:'b$ b:'c$ c:'d$
(%i4) a[x];
(%o4)                          d
                                x
(%i5) declare(a, nonarray);
(%o5)                         done
(%i6) a[x];
(%o6)                          a
                                x
Hace que los átomos se comporten como hace una lista o matriz 
con respecto del operador . del la multiplicación no conmutativa.
Véase también declare.
Devuelve true si expr no es escalar, es decir, 
si contiene átomos declarados como no escalares, listas o matrices. 
La instrucción declare (f, posfun) declara a f como 
función positiva, de forma que 
is (f(x) > 0) devolverá true.
Véase también declare.
Muestra la propiedad con el indicador i asociado 
con el átomo a. a puede ser también una lista de
átomos o el átomo all en cuyo caso todos los átomos a los cuales se les haya dado esa propiedad serán usados. 
Por ejemplo, printprops ([f, g], atvalue). printprops es 
para propiedades que no pueden ser mostradas de otra manera, i.e. para
atvalue, atomgrad, gradef, y matchdeclare.
Devuelve una lista con los nombres de todas las propiedades asociadas al t'omo a.
Valor por defecto: []
props son t'omos que tienen asociadas otras propiedades además de las
explícitamente mencionadas en infolists, tales como las
especificadas por atvalue, matchdeclare y la función 
declare.
Devuelve la lista con los átomos de la lista props que tienen
la propiedad indicada por prop. Así, propvars (atvalue) 
devuelve la lista con los átomos a los que se les ha asociado valores con
atvalue.
Asigna el valor a la propiedad (especificada por indicador) de átomo; indicador puede ser el nombre de cualquier propiedad y no solamente de aquellas definidas por el sistema.
rem deshace la asignación realizada por put.
La función put evalúa sus argumentos y devuelve valor.
Ejemplos:
(%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
Asigna valor a la propiedad de átomo que especifique indicador.
Actúa del mismo modeo que put, excepto que sus argumentos no son evaluados.
Véase también get.
Ejemplo:
(%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
declare(a, rational) o declare(a, irrational) indica a
Maxima que reconozca a como una variable real racional o irracional.
Véase también declare.
declare(a, real), declare(a, imaginary) o
declare(a, complex) indican a Maxima que reconozca a como variable real,
imaginaria puro o compleja, respectivamente.
Véase también declare.
Elimina del átomo la propiedad indicada por indicador.
rem deshace la asignación realizada por put.
rem devuelve done si átomo tenía la 
propiedad indicador cuando rem fue invocado, devolviendo
false si carecía tal propiedad.
Elimina propiedades asociadas con átomos.
La llamada remove (a_1, p_1, ..., a_n, p_n)
elimina la propiedad p_k del átomo a_k.
La llamada remove ([a_1, ..., a_m], [p_1, ..., p_n], ...)
elimina las propiedades p_1, ..., p_n de los átomos a_1, ..., a_m. Puede tener más de un par de listas.
La llamada remove (all, p) elimina la propiedad p de todos los átomos que la tengan.
Las propiedades eliminadas pueden ser de las que define el sistema, como 
function, macro o mode_declare; remove no elimina
las propiedades definidas por put.
La llamada remove ("a", operator) o su equivalente remove ("a", op) elimina de  a las propiedades de operador declaradas por prefix, infix, nary, postfix, matchfix o nofix. Nótese que el nombre del operador debe escribirse como cadena precedida de apóstrofo.
La función remove devuelve siempre done independientemente que haya algún átomo con la propiedad especificada.
La función remove no evalúa sus argumentos.
declare(a, scalar) indica a Maxima que considere a a como
una variable escalar.
Véase también declare.
Devuelve true si expr es un número, constante  o variable 
declarada como scalar con declare, o compuesta completamente de tales 
números, constantes o variables, pero que no contengan matrices ni listas.
Siguiente: Funciones y variables para los hechos, Previous: Introducción a la base de datos de Maxima, Subir: Base de datos de Maxima [Índice general][Índice]