Introducción a la base de datos de Maxima (Manual de Maxima 5.44.0)

Siguiente: Funciones y variables para las propiedades, Anterior: Base de datos de Maxima, Subir: Base de datos de Maxima [Índice general][Índice]

### 11.1 Introducción a la base de datos de Maxima

#### Propiedades

A las variables y funciones se les puede asignar propiedades con la función `declare`. Estas propiedades son almacenadas en un banco de datos o registradas en una lista de propiedades que proporciona Lisp. Con la función `featurep` se puede comprobar si un símbolo tiene una determinada propiedad y con la función `properties` se pueden obtener todas las propiedades asociadas a él. A su vez, la función `remove` elimina una propiedad de la base de datos o de la lista de propiedades. En caso de utilizar `kill` para borrar el valor asignado a una variable, también serán borradas todas las propiedades asociadas a la misma.

El usuario tiene la facultad de añadirle propiedades a un símbolo con las funciones `put` y `qput`. Con la función `get` podrá leer sus propiedades y borrarlas con `rem`.

Las variables pueden tener las siguientes propiedades a almacenar en el banco de datos:

       constant
       integer        noninteger
       even           odd
       rational       irrational
       real           imaginary      complex

Las funciones pueden tener las siguientes propiedades a almacenar en el banco de datos:

       increasing     decreasing
       posfun         integervalued

Las siguientes propiedades se pueden aplicar a funciones y se utilizan para su correcta simplificación. Estas propiedades se describen en el capítulo dedicado a la simplificación:

       linear         additive       multiplicative
       outative       commutative    symmetric
       antisymmetric  nary           lassociativ
       rassociative   evenfun        oddfun

Otras propiedades aplicables a variables y funciones, y que se almacenan en la lista de propiedades de Lisp, son:

       bindtest       feature        alphabetic
       scalar         nonscalar      nonarray

#### Contextos

Maxima administra contextos en los que se almacenan tanto las propiedades de las variables y funciones como hechos o hipótesis sobre las mismas. Los hechos se establecen con la función `assume` y se almacenan en el contexto actual. Por ejemplo, con `assume(a>10)` guarda Maxima la información sobre el hecho de que la variable `a` es mayor que `10`. Con la función `forget` se borran los hechos de la base de datos. Cuando Maxima pregunta al usuario sobre las propiedades de una variable, éstas son almacenadas en un contexto.

Cada contexto se identifica por un nombre. Al iniciarse Maxima, el contexto actual recibe el nombre de `initial` y se puede definir un número arbitrario de contextos adicionales que pueden organizarse de forma jerárquica. Así, el contexto `initial` está incluido en el contexto `global`. Los hechos definidos en un contexto dado están siempre activos en los contextos de nivel inferior. Por ejemplo, el contexto `global` contiene hechos que se inicializan por el propio Maxima y estarán activos, por tanto, en el contexto `initial`.

Los contextos pueden almacenar un número arbitrario de hechos y pueden desactivarse con la función `deactivate`. Desactivar un contexto no implica la pérdida de los hechos almacenados, pudiendo ser posteriormente reactivado con la función `activate`, estando los hechos siempre a disposición del usuario.

Siguiente: Funciones y variables para las propiedades, Anterior: Base de datos de Maxima, Subir: Base de datos de Maxima [Índice general][Índice]