[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
33.1 Introducción a la miscelánea de opciones | ||
33.2 Share | ||
33.3 Funciones y variables para la miscelánea de opciones |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
En esta sección se comentan varias opciones que tienen un efecto global sobre le comportamiento de Maxima. También se comentan varias listas, como la de las funciones definidas por el usuario.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
El directorio "share" de Maxima contiene programas y ficheros de interés para los usuarios de Maxima, pero no forman parte del núcleo de Maxima. Estos programas se cargan en memoria con llamadas a las funciones load
o setup_autoload
.
El código :lisp *maxima-sharedir*
muestra la localización del directorio "share" dentro del sistema de ficheros del usuario.
El código printfile ("share.usg")
muestra una lista actualizada de paquetes en "share". Los usuarios pueden encontrar más información accediendo directamente a los contenidos del directorio "share".
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
alphabetic
es una declaración de tipo reconocida por declare
.
La expresión declare(s, alphabetic)
indica a Maxima que
reconozca como alfabéticos todos los caracteres de s, que debe ser
una cadena alfanumérica.
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~]
Valor por defecto: i
La variable genindex
es el prefijo alfabético utilizado para generar la siguiente variable de sumación en caso de necesidad.
Valor por defecto: 0
La variable gensumnum
es el sufijo numérico utilizado para generar la siguiente variable de sumación. Si vale false
entonces el índice consistirá solamente de genindex
, sin sufijo numérico.
gensym()
crea y devuelve una nueva símbolo o
variable sin valor asignado.
El nombre del nuevo símbolo está formado por la concatenación de un prefijo, cuyo valor por defecto es "g", y de un sufijo, el cual es la representación decimal de un número que coincide, por defecto, con el valor de un contador interno de Lisp.
En caso de suministrar el argumento x, siendo este una cadena,
se utilizará como prefijo en lugar de "g", lo cual tendrá efecto
sólo para esta llamada a gensym
·
En caso de suministrar el argumento x, siendo este un número
entero, se utilizará como sufijo en lugar del contador interno de
Lisp, lo cual tendrá efecto sólo para esta llamada a gensym
·
Si no se suministra el sufijo en forma explícita, y sólo en este caso, el contador interno sufrirá un incremento después de haber sido utilizado.
Ejemplos:
(%i1) gensym(); (%o1) g887 (%i2) gensym("new"); (%o2) new888 (%i3) gensym(123); (%o3) g123
Devuelve una lista con los nombres de propiedades asociadas con el átomo a.
props
son átomos que tienen cualquier propiedad diferente de las mencionadas
explícitamente en infolists
, tales como las especificadas por
atvalues
, matchdeclares
, etc., así como las propiedades
especificadas mediante la función declare
.
Devuelve una lista con aquellos átomos de la lista props
que tienen la propiedad indicada por prop.
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.
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
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.
Elimina del sistema los valores de las variable de usuario nombre_1, ..., nombre_n (incluso las que tienen subíndices).
La llamada remvalue (all)
elimina los valores de todas las variables en values
, la lista de todas las variables a las que el usuario a dado algún nombre, pero no de aquéllas a las que Maxima asigna automáticamente un valor.
Véase también values
.
Transforma expr combinando todos los términos de expr que tengan denominadores idénticos o que difieran unos de otros por factores numéricos. Su comportamiento es diferente al de la función combine
, que combina términos con iguales denominadores.
Haciendo pfeformat: true
y utilizando combine
se consiguen resultados similares a aquéllos que se pueden obtener con rncombine
, pero rncombine
realiza el paso adicional de multiplicar denominadores numéricos. Esto da como resultado expresiones en las que se pueden reconocer algunas cancelaciones.
Antes de utilizar esta función ejecútese load(rncomb)
.
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.
Especifica que si alguna de las funciones function_1, ..., function_n es referenciada pero todavía no ha sido definida, se cargará nombre_fichero mediante una llamada a load
. El nombre_fichero normalmente contendrá las definiciones de las funciones especificadas, aunque esto no es imperativo.
La función setup_autoload
no opera con arreglos de funciones.
La función setup_autoload
no evalúa sus argumentos.
Ejemplo:
(%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 function ultraspherical Warning - you are redefining the Macsyma function 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] | [Index] | [ ? ] |
This document was generated by Robert Dodier on agosto, 1 2011 using texi2html 1.76.