From: Mario R. R. <rio...@us...> - 2005-07-14 11:07:52
|
Update of /cvsroot/maxima/maxima/doc/info/es In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7322 Modified Files: Floating.es.texi Function.es.texi Groups.es.texi Indices.es.texi Lists.es.texi Miscellaneous.es.texi Rules.es.texi Runtime.es.texi maxima.es.texi Log Message: Revisions for: Floating, Function, Lists, Rules, Groups, Indices, Miscellaneous and Runtime Index: Floating.es.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/Floating.es.texi,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Floating.es.texi 1 Jul 2005 05:48:52 -0000 1.3 +++ Floating.es.texi 14 Jul 2005 11:07:42 -0000 1.4 @@ -1,10 +1,10 @@ @menu -* Definiciones para n@'umeros y funciones de punto flotante:: +* Definiones para aritm@'etica de punto flotante:: @end menu -@node Definiciones para n@'umeros y funciones de punto flotante, , N@'umeros y funciones de punto flotante, N@'umeros y funciones de punto flotante +@node Definiones para aritm@'etica de punto flotante, , Aritm@'etica de punto flotante, Aritm@'etica de punto flotante -@section Definiciones para n@'umeros y funciones de punto flotante +@section Definiones para aritm@'etica de punto flotante @c FOLLOWING FUNCTIONS IN bffac.mac ARE NOT DESCRIBED IN .texi FILES: !!! @c obfac, azetb, vonschtoonk, divrlst, obzeta, bfhzeta, bfpsi0 !!! Index: Function.es.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/Function.es.texi,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Function.es.texi 7 Jul 2005 21:22:01 -0000 1.3 +++ Function.es.texi 14 Jul 2005 11:07:42 -0000 1.4 @@ -216,7 +216,7 @@ Un @code{block} puede aparecer dentro de otro @code{block}. Las variables locales se inicializan cada vez que se entra dentro de un nuevo bloque. Las variables locales de un bloque se consideran globales dentro de otro anidado dentro del primero. Si una variable es no local dentro de un bloque, su valor es el que le corresponde en el bloque superior. Este criterio se conoce con el nombre de "alcance din@'amico". -Si se quieren guardar y restaurar otras propiedades locales adem@'as del @code{valor} de las variables, por ejemplo @code{array} (excepto arrays completos), @code{function}, @code{dependencies}, @code{atvalue}, @code{matchdeclare}, @code{atomgrad}, @code{constant} y @code{nonscalar} entonces deber@'{@dotless{i}}a usarse la funci@'on @code{local} dentro del bloque, siendo sus argumentos los nombres de las variables. +Si se quieren guardar y restaurar otras propiedades locales adem@'as del @code{valor} de las variables, por ejemplo @code{arreglo} (excepto arreglos completos), @code{function}, @code{dependencies}, @code{atvalue}, @code{matchdeclare}, @code{atomgrad}, @code{constant} y @code{nonscalar} entonces deber@'{@dotless{i}}a usarse la funci@'on @code{local} dentro del bloque, siendo sus argumentos los nombres de las variables. El valor del bloque es el de la @'ultima sentencia o el argumento de la funci@'on @code{return}, que puede utilizarse para salir del bloque. La funci@'on @code{go} puede usarse para transferir el control a la sentencia del bloque que est@'e etiquetada con el argumento de @code{go}. Para etiquetar una sentencia basta que vaya precedida de un argumento at@'omico como cualquier otra sentencia dentro del bloque. Por ejemplo, @code{block ([x], x:1, tururu, x: x+1, ..., go(tururu), ...)}. El argumento de @code{go} debe ser el nombre de una etiqueta colocada dentro del bloque. No se puede utilzar @code{go} para trasladarse a una etiqueta de un bloque que no sea el que contenga a @code{go}. @@ -346,7 +346,7 @@ @deffn {Funci@'on} dispfun (@var{f_1}, ..., @var{f_n}) @deffnx {Funci@'on} dispfun (all) -Muestra la deficni@'on de las funciones de usuario @var{f_1}, ..., @var{f_n}. Cada argumento puede ser el nombre de una macro (definida mediante @code{::=}), una funci@'on ordinaria (definida mediante @code{:=} o @code{define}), una funci@'on array (definida mediante @code{:=} o @code{define}, pero encerrando los argumentos dentro de corchetes @code{[ ]}), una funci@'on de sub@'{@dotless{i}}ndice (definida mediante @code{:=} o @code{define}, pero encerrando algunos argumentos entre corchetes y otros entre par@'entesis @code{( )}), una funci@'on de sub@'{@dotless{i}}ndice seleccionada por un sub@'{@dotless{i}}ndice variable, o una funci@'on de sub@'{@dotless{i}}ndice definida con un sub@'{@dotless{i}}ndice constante. +Muestra la deficni@'on de las funciones de usuario @var{f_1}, ..., @var{f_n}. Cada argumento puede ser el nombre de una macro (definida mediante @code{::=}), una funci@'on ordinaria (definida mediante @code{:=} o @code{define}), una funci@'on arreglo (definida mediante @code{:=} o @code{define}, pero encerrando los argumentos dentro de corchetes @code{[ ]}), una funci@'on de sub@'{@dotless{i}}ndice (definida mediante @code{:=} o @code{define}, pero encerrando algunos argumentos entre corchetes y otros entre par@'entesis @code{( )}), una funci@'on de sub@'{@dotless{i}}ndice seleccionada por un sub@'{@dotless{i}}ndice variable, o una funci@'on de sub@'{@dotless{i}}ndice definida con un sub@'{@dotless{i}}ndice constante. La llamada @code{dispfun (all)} muestra todas las funciones de usuario tal como las dan las listas @code{functions}, @code{arrays} y @code{macros}, omitiendo las funciones con sub@'{@dotless{i}}ndices definidas con sub@'{@dotless{i}}ndices constantes. @@ -407,7 +407,7 @@ Devuelve la definici@'on de la funci@'on @var{f}. -Cada argumento puede ser el nombre de una macro (definida mediante @code{::=}), una funci@'on ordinaria (definida mediante @code{:=} o @code{define}), una funci@'on array (definida mediante @code{:=} o @code{define}, pero encerrando los argumentos dentro de corchetes @code{[ ]}), una funci@'on de sub@'{@dotless{i}}ndice (definida mediante @code{:=} o @code{define}, pero encerrando algunos argumentos entre corchetes y otros entre par@'entesis @code{( )}), una funci@'on de sub@'{@dotless{i}}ndice seleccionada por un sub@'{@dotless{i}}ndice variable, o una funci@'on de sub@'{@dotless{i}}ndice definida con un sub@'{@dotless{i}}ndice constante. +Cada argumento puede ser el nombre de una macro (definida mediante @code{::=}), una funci@'on ordinaria (definida mediante @code{:=} o @code{define}), una funci@'on arreglo (definida mediante @code{:=} o @code{define}, pero encerrando los argumentos dentro de corchetes @code{[ ]}), una funci@'on de sub@'{@dotless{i}}ndice (definida mediante @code{:=} o @code{define}, pero encerrando algunos argumentos entre corchetes y otros entre par@'entesis @code{( )}), una funci@'on de sub@'{@dotless{i}}ndice seleccionada por un sub@'{@dotless{i}}ndice variable, o una funci@'on de sub@'{@dotless{i}}ndice definida con un sub@'{@dotless{i}}ndice constante. La funci@'on @code{fundef} no eval@'ua sus argumentos; el operador de doble comilla simple @code{'@w{}'} permite la evaluaci@'on. @@ -607,13 +607,13 @@ @c aquí me salto un párrafo que no está claro en el original (Mario). -C@'odigo num@'erico que utilice arrays puede ejecutarse m@'as r@'apido declarando el tama@~no que va a ocupar el array, como en: +C@'odigo num@'erico que utilice arreglos puede ejecutarse m@'as r@'apido declarando el tama@~no que va a ocupar el arreglo, como en: @example mode_declare (array (a [10, 10]), float) @end example -para un array de n@'umeros en coma flotante de dimensiones 10 x 10. +para un arreglo de n@'umeros en coma flotante de dimensiones 10 x 10. Se puede declarar el modo del resultado de una funci@'on poniendo @code{function (f_1, f_2, ...)} como argumento; aqu@'{@dotless{i}} @code{f_1}, @code{f_2}, ... son los nombres de las funciones. Por ejemplo, la expresi@'on @@ -734,7 +734,7 @@ @defvr {Variable optativa} tr_array_as_ref Valor por defecto: @code{true} -Si @code{translate_fast_arrays} vale @code{false}, referencias de arrays en el c@'odigo Lisp creadas por @code{translate_file} se ven afectadas por @code{tr_array_as_ref}. +Si @code{translate_fast_arrays} vale @code{false}, referencias de arreglos en el c@'odigo Lisp creadas por @code{translate_file} se ven afectadas por @code{tr_array_as_ref}. El valor de la variable @code{tr_array_as_ref} no tiene ning@'un efecto cuando @code{translate_fast_arrays} vale @code{true}. Index: Groups.es.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/Groups.es.texi,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Groups.es.texi 28 Jun 2005 16:08:51 -0000 1.2 +++ Groups.es.texi 14 Jul 2005 11:07:43 -0000 1.3 @@ -5,31 +5,18 @@ @node Definiciones para Grupos, , Grupos, Grupos @section Definiciones para Grupos -@deffn {Function} todd_coxeter (relations, subgroup) -@deffnx {Function} todd_coxeter (relations) +@deffn {Function} todd_coxeter (@var{relations}, @var{subgroup}) +@deffnx {Function} todd_coxeter (@var{relations}) -Busca el orden de G/H donde G es el m@'odulo del Grupo Libre de @var{relations}, y H es el subgrupo para G generado por @code{subgroup}. @code{subgroup} es un argumento opcional, por defecto su valor es []. +Busca el orden de G/H donde G es el m@'odulo del Grupo Libre de @var{relations}, y H es el subgrupo de G generado por @code{subgroup}. @code{subgroup} es un argumento opcional, cuyo valor por defecto es []. En este proceso se obtiene una tabla de multiplicaci@'on para la acci@'on correcta de G sobre G/H, donde los co-cojuntos son enumerados [H,Hg2,Hg3,...]. Esto puede ser observado internamente en el @code{$todd_coxeter_state}. Las tablas de multiplicaci@'on para las variables -est@'an en la @code{table:todd_coxeter_state[2]}. Entonces la @code{table[i]} retorna la tabla para la i-esima variable. @code{mulcoset(coset,i) := tabla[varnum][coset];} +est@'an en la @code{table:todd_coxeter_state[2]}. Entonces la @code{table[i]} retorna la tabla para la i-@'esima variable. @code{mulcoset(coset,i) := tabla[varnum][coset];} Ejemplo: -@c ===beg=== -@c symet(n):=create_list( -@c if (j - i) = 1 then (p(i,j))^^3 else -@c if (not i = j) then (p(i,j))^^2 else -@c p(i,i) , j, 1, n-1, i, 1, j); -@c p(i,j) := concat(x,i).concat(x,j); -@c symet(5); -@c todd_coxeter(%o3); -@c todd_coxeter(%o3,[x1]); -@c todd_coxeter(%o3,[x1,x2]); -@c table:todd_coxeter_state[2]$ -@c table[1]; -@c ===end=== @example (%i1) symet(n):=create_list( if (j - i) = 1 then (p(i,j))^^3 else @@ -72,7 +59,7 @@ @end example -Note que s@'olo los elementos 1 hasta el 20 de este arreglo @code{%o8} son significativos. @code{table[1][4] = 7} indica coset4.var1 = coset7 +N@'otese que s@'olo los elementos 1 hasta el 20 de este arreglo @code{%o8} son significativos. @code{table[1][4] = 7} indica coset4.var1 = coset7 @end deffn Index: Indices.es.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/Indices.es.texi,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Indices.es.texi 9 Apr 2005 16:11:09 -0000 1.1 +++ Indices.es.texi 14 Jul 2005 11:07:43 -0000 1.2 @@ -1,3 +1,3 @@ @appendix Indice de funciones y variables -@printindex vr +@printindex fn Index: Lists.es.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/Lists.es.texi,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Lists.es.texi 28 Jun 2005 16:08:58 -0000 1.2 +++ Lists.es.texi 14 Jul 2005 11:07:43 -0000 1.3 @@ -1,205 +1,259 @@ @menu -* Introducci@'on a las Listas:: -* Definiciones para Listas:: +* Introducci@'on a las listas:: +* Definiciones para listas:: @end menu -@node Introducci@'on a las Listas, Definiciones para Listas, Listas, Listas -@section Introducci@'on a las Listas -Las Listas son bloques de construcci@'on b@'asica para maxima y lisp. Todos los tipos de datos -diferentes a los arreglos, tablas mixtas, los n@'umeros son representados como lista lisp, -estas listas lisp tiene una forma +@node Introducci@'on a las listas, Definiciones para listas, Listas, Listas +@section Introducci@'on a las listas + +Las listas son bloques de construcci@'on b@'asica para Maxima y Lisp. Todos los tipos de datos +diferentes a los arreglos, tablas mixtas o n@'umeros son representados como listas Lisp, +estas listas Lisp tienen la forma + @example -((mplus) $A 2) +((MPLUS) $A 2) @end example + @noindent -para indicar una expresi@'on @code{A+2}. Como nivel m@'aximo es posible observar -la notaci@'on no fija @code{A+2}. Maxima tambi@'en tiene lista que son impresas -como +para indicar la expresi@'on @code{a+2}. Al nivel de Maxima se observar@'a +la notaci@'on infija @code{a+2}. Maxima tambi@'en tiene listas con el formato + @example [1, 2, 7, x+y] @end example + @noindent -para una lista de 4 elementos. Internamente esto corresponde a una lista lisp +para una lista de 4 elementos. Internamente esto se corresponde con una lista Lisp de la forma + @example -((mlist) 1 2 7 ((mplus) $X $Y )) +((MLIST) 1 2 7 ((MPLUS) $X $Y )) @end example + @noindent -La bandera denota que el tipo de campo de la m@'axima expresi@'on es una lista por si misma, -despu@'es de ser analizada y simplificada la lista se puede transformar +El elemento que denota el tipo de expresi@'on en Maxima es tambi@'en una lista, la cual tras ser analizada y simplificada tomar@'a la forma + @example -((mlist simp) 1 2 7 ((mplus simp) $X $Y)) +((MLIST SIMP) 1 2 7 ((MPLUS SIMP) $X $Y)) @end example -@c end conceptos de Lista -@node Definiciones para Listas, , Introducci@'on a las Listas, Listas -@section Definiciones para Listas +@node Definiciones para listas, , Introducci@'on a las listas, Listas +@section Definiciones para listas -@c @node APPEND, ATOM, Listas, Listas -@c @unnumberedsec -@defun APPEND (list1, list2, ...) -retorna una lista sencilla de los elementos de -la lista1 seguido por los elementos de la lista2,... APPEND trabaja tambi@'en con -expresiones generales, e.g. APPEND(F(A,B), F(C,D,E)); -> F(A,B,C,D,E). -Do EXAMPLE(APPEND); for an example. -Realize EXAMPLE(APPEND); para ver un ejemplo. +@deffn {Funci@'on} append (@var{lista_1}, ..., @var{lista_n}) -@end defun -@c @node ATOM, CONS, APPEND, Listas -@c @unnumberedsec -@defun ATOM (exp) -Es VERDADERO si exp es at@'omico (i.e. un n@'umero o nombre) sino es -FALSO. As@'{@dotless{i}} ATOM(5) es VERDADERO mientras ATOM(A[1]) y ATOM(SIN(X)) sean -FALSOS. (Asumiendo que A[1] y X no tienen limite.) +Devuelve una lista cuyos elementos son los de la lista @var{lista_1} seguidos de los de @var{lista_2}, ... La funci@'on @code{append} tambi@'en opera con expresiones generales, como la llamada @code{append (f(a,b), f(c,d,e));}, de la que se obtiene @code{f(a,b,c,d,e)}. -@end defun -@c @node CONS, COPYLIST, ATOM, Listas -@c @unnumberedsec -@defun CONS (exp, lista) -retorna un nuevo constructor del elemento exp como -su primer elemento, seguido por el elemento de la lista. CONS trabaja tambi@'en -sobre otras expresiones, e,g. CONS(X, F(A,B,C)); -> F(X,A,B,C). +Tecl@'eese @code{example(append);} para ver un ejemplo. -@end defun -@c @node COPYLIST, DELETE, CONS, Listas -@c @unnumberedsec -@defun COPYLIST (L) -crea una copia de la lista L. +@end deffn + +@deffn {Funci@'on} assoc (@var{clave}, @var{lista}, @var{valor_por_defecto}) +@deffnx {Function} assoc (@var{clave}, @var{lista}) + +Esta funci@'on busca la @var{clave} en el lado derecho de la @var{lista}, la cual es de la forma @code{[x,y,z,...]}, donde cada elemento es una expresi@'on formada por un operador binario y dos elementos. Por ejemplo, @code{x=1}, @code{2^3}, @code{[a,b]} etc. La @var{clave} se compara con el primer operando. La funci@'on @code{assoc} devuelve el segundo operando si se encuentra con que la @code{clave} coincide. Si la @code{clave} no coincide entonces devuelve el valor @var{valor_por_defecto}. El argumento @var{valor_por_defecto} es opcional; en caso de no estar presente, se devolver@'a @code{false}. + +@end deffn + +@deffn {Funci@'on} atom (@var{expr}) + +Devuelve @code{true} si @var{expr} es un @'atomo (n@'umero, nombre o cadena alfanum@'erica) y @code{false} en caso contario. As@'{@dotless{i}}, @code{atom(5)} devolver@'a @code{true}, mientras que @code{atom(a[1])} y @code{atom(sin(x))} dar@'an como resultado @code{false} (dando por hecho que tanto @code{a[1]} como @code{x} no tienen valores asignados). + +@end deffn + +@deffn {Funci@'on} cons (@var{expr}, @var{lista}) + +Devuelve una nueva lista en la que el elemento @var{expr} ocupa la primera posici@'on, seguido de los elementos de @var{lista}. La funci@'on @code{cons} tambi@'en opera con otro tipo de expresiones, como @code{cons(x, f(a,b,c));} -> @code{f(x,a,b,c)}. + +@end deffn + +@deffn {Funci@'on} copylist (@var{lista}) + +Devuelve una copia de la @var{lista}. + +@end deffn + +@deffn {Funci@'on} delete (@var{expr_1}, @var{expr_2}) +@deffnx {Funci@'on} delete (@var{expr_1}, @var{expr_2}, @var{n}) + +Elimina las expresiones @var{expr_1} de @var{expr_2}. La expresi@'on @var{expr_1} a eliminar puede ser un sumando de @var{expr_2} (en caso de que @'esta sea una suma) o un factor de @var{expr_2} (si se trata de un producto). -@end defun -@c @node DELETE, ENDCONS, COPYLIST, Listas -@c @unnumberedsec -@defun DELETE (exp1, exp2) -remueve todas las acciones desde exp1 hasta exp2. Exp1 -puede ser un t@'ermino de exp2 (si este es una suma) o un factor de exp2 (si es un producto). @example -(C1) DELETE(SIN(X),X+SIN(X)+Y); -(D1) Y + X +(%i1) delete(sin(x), x+sin(x)+y); +(%o1) y + x +@end example +La llamada @code{delete(@var{expr_1}, @var{expr_2}, @var{n})} elimina las primeras @var{n} apariciones de @var{expr_1} en @var{expr_2}. En caso de que @var{expr_1} aparezca menos de @var{n} veces dentro de la expresi@'on de referencia @var{expr_2} entonces se eliminan todas ellas. + +@example +(%i1) delete(a, f(a,b,c,d,a)); +(%o1) f(b, c, d) +(%i2) delete(a, f(a,b,a,c,d,a), 2); +(%o2) f(b, c, d, a) @end example -DELETE(exp1, exp2, integral) remueve las primeras acciones del integrando desde -exp1 hasta exp2. Por supuesto, Si son m@'as peque@~nas que las acciones del integrando -de exp1 en exp2 entonces todas las acciones ser@'an borradas. -@end defun -@c @node ENDCONS, FIRST, DELETE, Listas -@c @unnumberedsec -@defun ENDCONS (exp, list) -retorna una nueva lista compuesta por elementos de -la lista seguida por exp. ENDCONS trabaja tambi@'en en expresiones generales, e.g. -ENDCONS(X, F(A,B,C)); -> F(A,B,C,X). +@end deffn -@end defun -@c @node FIRST, GET, ENDCONS, Listas -@c @unnumberedsec -@defun FIRST (exp) -Produce la primera parte de exp que puede resultar el primer -elemento de la lista, la primera fila de la matriz, el primer t@'ermino de la suma, -etc. Note que FIRST y las funciones relacionadas, REST y LAST, trabaja -en la forma de exp que es mostrada y no en la forma que es ingresada. -Si la variable INFLAG [FALSA] es programada VERDADERA sin embargo, estas -funciones puedeb ser observadas como una forma interna de exp. Note que la -expresi@'on simplificada reordenada. As@'{@dotless{i}} FIRST(X+Y) puede se X si INFLAG -es VERDADERO y Y si INFLAG es FALSO. (FIRST(Y+X) da el mismo resultado). +@deffn {Funci@'on} eighth (@var{expr}) + +Devuelve el octavo elemento de la lista o expresi@'on @var{expr}. V@'ease @code{first} para m@'as detalles. + +@end deffn + +@deffn {Funci@'on} endcons (@var{expr}, @var{lista}) + +Devuelve una nueva lista formada por los elementos de @code{lista} seguidos de los de @var{expr}. La funci@'on @code{endcons} tambi@'en opera con expresiones generales, por ejemplo @code{endcons(x, f(a,b,c));} -> @code{f(a,b,c,x)}. + +@end deffn + +@deffn {Funci@'on} fifth (@var{expr}) + +Devuelve el quinto elemento de la lista o expresi@'on @var{expr}. V@'ease @code{first} para m@'as detalles. + +@end deffn + +@deffn {Funci@'on} first (@var{expr}) + +Devuelve la primera parte de @var{expr}, que puede consistir en el primer elemento de una lista, la primera fila de una matriz, el primer t@'ermino de una suma, etc. N@'otese que tanto @code{first} como sus funciones relacionadas, @code{rest} y @code{last}, operan sobre la forma en la que @var{expr} es mostrada por Maxima, no sobre la forma en la que es introducida la expresi@'on. Sin embargo, cuando la variable @code{inflag} toma el valor @code{true} estas funciones tendr@'an en cuenta el formato interno de @var{expr}. T@'engase en cuenta que el simplificador reordena las expresiones. As@'{@dotless{i}}, @code{first(x+y)} devolver@'a @code{x} si @code{inflag} vale @code{true} y @code{y} cuando @code{inflag} tome el valor @code{false} (@code{first(y+x)} devuelve el mismo resultado). Las funciones @code{second} ... @code{tenth} devuelven desde el segundo hasta el d@'ecimo elemento del argumento de entrada. + +@end deffn + +@deffn {Funci@'on} fourth (@var{expr}) + +Devuelve el cuarto elemento de la lista o expresi@'on @var{expr}. V@'ease @code{first} para m@'as detalles. + +@end deffn + +@deffn {Funci@'on} get (@var{a}, @var{i}) + +Recupera la propiedad de usuario indicada por @var{i} asociada al @'atomo @var{a} o devuelve @code{false} si @var{a} no tiene la propiedad @var{i}. + +La funci@'on @code{get} eval@'ua sus argumentos. -@end defun -@c @node GET, LAST, FIRST, Listas -@c @unnumberedsec -@defun GET (a, i) -Retorna las propiedades de usuario indicadas por i asociadas con -el atomo a o retorna FALSO si no tiene las propiedaddes de i. @example -(C1) PUT(%E,'TRANSCENDENTAL,'TYPE); -(D1) TRANSCENDENTAL -(C2) PUT(%PI,'TRANSCENDENTAL,'TYPE)$ -(C3) PUT(%I,'ALGEBRAIC,'TYPE)$ -(C4) TYPEOF(EXP) := BLOCK([Q], - IF NUMBERP(EXP) - THEN RETURN('ALGEBRAIC), - IF NOT ATOM(EXP) - THEN RETURN(MAPLIST('TYPEOF, EXP)), - Q : GET(EXP, 'TYPE), - IF Q=FALSE - THEN ERRCATCH(ERROR(EXP,"is not numeric.")) ELSE Q)$ -(C5) TYPEOF(2*%E+X*%PI); -X is not numeric. -(D5) [[TRANSCENDENTAL, []], [ALGEBRAIC, TRANSCENDENTAL]] -(C6) TYPEOF(2*%E+%PI); -(D6) [TRANSCENDENTAL, [ALGEBRAIC, TRANSCENDENTAL]] +(%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]] @end example -@end defun -@c @node LAST, LENGTH, GET, Listas -@c @unnumberedsec -@defun LAST (exp) -Produce la @'ultima parte (t@'ermino, fila, elemento, etc.) de exp. +@end deffn -@end defun -@c @node LENGTH, LISTARITH, LAST, Listas -@c @unnumberedsec -@defun LENGTH (exp) -Da (por defecto) el n@'umero de partes en la forma externa de exp (mostrada). -Para listas hay el n@'umero de elementos, para matrices este es el n@'umero de filas, -y para sumas es el n@'umero de t@'erminos. (Observar DISPFROM). El comando LENGTH es afectado -por la opci@'on INFLAG [por defecto FALSO]. Como, e.g. LENGTH(A/(B*C)); da 2 si -INFLAG es FALSO (Asuminedo EXPTDISPFLAG es verdadero), pero 3 si INFLAG es -VERDADERO (La representaci@'on interna es esencialmente A*B^-1*C^-1). +@deffn {Funci@'on} last (@var{expr}) -@end defun -@c @node LISTARITH, LISTP, LENGTH, Listas -@c @unnumberedsec -@defvar LISTARITH - por defecto: [VERDADERO] - Si es FALSO que las operaciones aritm@'eticas con listas -sean suprimidas; cuando sea VERDADERO, las operaciones lista-matriz son contagiosas -causando listas que ser@'an convertidas en matrices produciendo como resultado siempre -una matriz. Sin embargo. las operaciones lista-lista tienen que dar por resultado listas. +Devuelve la @'ultima parte (t@'ermino, fila, elemento, etc.) de @var{expr}. -@end defvar -@c @node LISTP, MAKELIST, LISTARITH, Listas -@c @unnumberedsec -@defun LISTP (exp) -Es VERDADERO si exp es una lista sino es FALSO. +@end deffn + +@deffn {Funci@'on} length (@var{expr}) + +Devuelve (por defecto) el n@'umero de partes de que consta @var{expr} en la versi@'on correspondiente a la que muestra. En el caso de listas, se devuelve el n@'umero de elementos, si se trata de matrices el n@'umero de filas y se se trata de sumas el n@'umero de t@'erminos o sumandos (v@'ease @code{dispform}). + +La funci@'on @code{length} se ve afectada por el valor de la variable @code{inflag}. As@'{@dotless{i}}, @code{length(a/(b*c));} devuelve 2 si @code{inflag} vale @code{false} (dando por hecho que @code{exptdispflag} vale @code{true}), pero devuelve 3 si @code{inflag} vale @code{true} (ya que la representaci@'on interna es @code{a*b^-1*c^-1}). + +@end deffn + +@defvr {Variable opcional} listarith +Valor por defecto: @code{true} + +Cuando vale @code{false} provoca que no se realicen operaciones aritm@'eticas con listas; cuando vale @code{true}, las operaciones con listas y matrices son contagiosas, en el sentido de que las listas se transforman en matrices, retornando resultados de este @'ultimo tipo. Sin embargo, operaciones que involucren listas con listas devolver@'an tambi@'en listas. + +@end defvr + +@deffn {Funci@'on} listp (@var{expr}) + +Devuelve el valor @code{true} si @var{expr} es una lista, y @code{false} en caso contrario. + +@end deffn + +@deffn {Funci@'on} makelist (@var{expr}, @var{i}, @var{i_0}, @var{i_1}) +@deffnx {Funci@'on} makelist (@var{expr}, @var{x}, @var{list}) + +Construye y devuelve una lista, siendo cada uno de sus elementos generados por @var{expr}. + +La llamada @code{makelist (@var{expr}, @var{i}, @var{i_0}, @var{i_1})} devuelve una lista cuyo @code{j}-@'esimo elemento es igual a @code{ev (@var{expr}, @var{i}=j)}, tomando @code{j} los valores enteros entre @var{i_0} y @var{i_1}. + +La llamada @code{makelist (@var{expr}, @var{x}, @var{list})} devuelve una lista cuyo @code{j}-@'esimo elemento es igual a +@code{ev (@var{expr}, @var{x}=@var{list}[j])}, tomando @code{j} los valores enteros entre 1 through @code{length (@var{list})}. + +Ejemplos: -@end defun -@c @node MAKELIST, MEMBER, LISTP, Lists -@c @unnumberedsec -@defun MAKELIST (exp,var,lo,hi) -retorna una lista como valor. MAKELIST puede ser activado mediante -MAKELIST(exp,var,lo,hi) ["lo" y "hi" deben ser integrandos], o como -MAKELIST(exp,var,list). En el primero de los casos MAKELIST es analogo con SUM, -considerando que en el segundo de los casos MAKELIST es similar a MAP. Ejemplo: @example - MAKELIST(CONCAT(X,I),I,1,6) produce [X1,X2,X3,X4,X5,X6] - MAKELIST(X=Y,Y,[A,B,C]) produce [X=A,X=B,X=C] +(%i1) makelist(concat(x,i),i,1,6); +(%o1) [x1, x2, x3, x4, x5, x6] +(%i2) makelist(x=y,y,[a,b,c]); +(%o2) [x = a, x = b, x = c] + @end example -@end defun -@c @node MEMBER, REST, MAKELIST, Lists -@c @unnumberedsec -@defun MEMBER (exp, list) -retorna VERDADERO si exp concurre como miembro de la lista (no dentro de uno de -los miembros). De otra manera ser@'a retornado FALSO. Los Miembros tambi@'en trabajan -en las expresiones no-listas, e.g. MEMBER(B, F(A,B,C)); -> VERDADERO. +@end deffn -@end defun -@c @node REST, REVERSE, MEMBER, Listas -@c @unnumberedsec -@defun REST (exp, n) -produce exp con su primer elemento n removido si n es -positivo y su @'ultimo -n elemento removido si n es negativo. Si n es 1 -puede se omitido. Exp puede ser una lista, una matriz, u otra expresi@'on. +@deffn {Funci@'on} member (@var{expr}, @var{lista}) -@end defun -@c @node REVERSE, , REST, Listas -@c @unnumberedsec -@defun REVERSE (list) -Revierte el orden de los miembros de la lista (no -los miembros mismos). REVERSE tambi@'en trabaja sobre expresiones generales, -e.g. REVERSE(A=B); da B=A. -REVERSE por defecto: [FALSO] - en las funciones de Ploteado, si es VERDADERO causa -que un sistema de coordenadas couadrante izquierdo sea asumido. +Devuelve el valor @code{true} si @var{expr} resulta ser un miembro de la @var{lista} (no que forme parte de uno de sus miembros). En caso contrario se devuelve @code{false}. La funci@'on @code{member} tambi@'en opera sobre expresiones que no son necesariamente listas, como por ejemplo @code{member(b,f(a,b,c));} -> @code{true}. -@end defun +@end deffn + +@deffn {Funci@'on} ninth (@var{expr}) + +Devuelve el noveno elemento de la lista o expresi@'on @var{expr}. V@'ease @code{first} para m@'as detalles. + +@end deffn + +@deffn {Funci@'on} rest (@var{expr}, @var{n}) +@deffnx {Funci@'on} rest (@var{expr}) + +Devuelve @var{expr} sin sus primeros @var{n} elementos si @var{n} es positivo, o sus @'ultimos @code{- @var{n}} elementos si @var{n} es negativo. En caso de que @var{n} tome el valor 1 puede ser omitido. La expresi@'on @var{expr} puede ser una lista, una matriz o cualquier otra expresi@'on. + +@end deffn + +@deffn {Funci@'on} reverse (@var{lista}) + +Invierte el orden de los elementos de la @var{lista} (no los propios elementos). La funci@'on @code{reverse} tambi@'en opera sobre expresiones generales, como en @code{reverse(a=b);} gives @code{b=a}. + +@end deffn + +@deffn {Funci@'on} second (@var{expr}) + +Devuelve el segundo elemento de la lista o expresi@'on @var{expr}. V@'ease @code{first} para m@'as detalles. + +@end deffn +@deffn {Funci@'on} seventh (@var{expr}) + +Devuelve el s@'eptimo elemento de la lista o expresi@'on @var{expr}. V@'ease @code{first} para m@'as detalles. + +@end deffn + +@deffn {Funci@'on} sixth (@var{expr}) + +Devuelve el sexto elemento de la lista o expresi@'on @var{expr}. V@'ease @code{first} para m@'as detalles. + +@end deffn + +@deffn {Funci@'on} tenth (@var{expr}) + +Devuelve el d@'ecimo elemento de la lista o expresi@'on @var{expr}. V@'ease @code{first} para m@'as detalles. + +@end deffn + +@deffn {Funci@'on} third (@var{expr}) + +Devuelve el tercer elemento de la lista o expresi@'on @var{expr}. V@'ease @code{first} para m@'as detalles. + +@end deffn Index: Miscellaneous.es.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/es/Miscellaneous.es.texi,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Miscellaneous.es.texi 28 Jun 2005 16:08:58 -0000 1.2 +++ Miscellaneous.es.texi 14 Jul 2005 11:07:43 -0000 1.3 @@ -1,322 +1,363 @@ @menu * Introducci@'on a Opciones Miscel@'aneas:: -* SHARE:: +* Share:: * Definiciones para Opciones Miscel@'aneas:: @end menu -@node Introducci@'on a Opciones Miscel@'aneas, SHARE, Opciones Miscel@'aneas, Opciones Miscel@'aneas +@node Introducci@'on a Opciones Miscel@'aneas, Share, Opciones Miscel@'aneas, Opciones Miscel@'aneas @section Introducci@'on a Opciones Miscel@'aneas:: -En esta secci@'on varias opciones son discussed which have a global -effect on the operation of maxima. Tambien varias listas such as the -list of all user defined functions, are discussed. +En esta secci@'on se comentan varias opciones que tienen un efecto global sobre le comportamiento de Maxima. Tambi@'en se comentan varias listas, como la de las funciones definidas por el usuario. -@node SHARE, Definiciones para Opciones Miscel@'aneas, Introducci@'on a Opciones Miscel@'aneas, Opciones Miscel@'aneas +@node Share, Definiciones para Opciones Miscel@'aneas, Introducci@'on a Opciones Miscel@'aneas, Opciones Miscel@'aneas -@section SHARE +@section Share - - El directorio SHARE en MC o en una DEC20 version de MACSYMA -contiene programas, archivos de informacion, etc. Los cuales se -consideran de inter@'es para la comunidad MACSYMA. La mayor@'{@dotless{i}}a de -archivos en el directorio SHARE; no son parte del sistema MACSYMA por -el y deben ser cargados individualmente por el usuario, e.g. -LOADFILE("arreglo");. Muchos archivos en el directorio SHARE; fuer@'on -contribuidos por los usuarios de MACSYMA. Haga -PRINTFILE(SHARE,USAGE,SHARE); para mayores detalles y las convenciones -para contribuir al directorio SHARE. para una anotaci@'on en la -"tabla de contenidos" del directorio, haga: PRINTFILE(SHARE,>,SHARE); +El directorio "share" de Maxima contiene programas y ficheros de inter@'es para los usuarios de Maxima, pero no forman parte del n@'ucleo de Maxima. Estos programas se cargan en memoria con llamadas a las funciones @code{load} o @code{setup_autoload}. -@node Definiciones para Opciones Miscel@'aneas, , SHARE, Opciones Miscel@'aneas +La llamada @code{:lisp *maxima-sharedir*} muestra la localizaci@'on del directorio "share" dentro del sistema de ficheros del usuario. + +La llamada @code{printfile ("share.usg")} muestra una lista actualizada de paquetes en "share". Los usuarios pueden encontrar m@'as informaci@'on accediendo directamente a los contenidos del directorio "share". + +@node Definiciones para Opciones Miscel@'aneas, , Share, Opciones Miscel@'aneas @section Definiciones para Opciones Miscel@'aneas -@defvar ALIASES +@defvr {Variable del sistema} aliases +Valor por defecto: @code{[]} - por defecto: [] atomos que tienen un usuario definido alias -(programado por la funciones ALIAS, ORDERGREAT, ORDERLESS o -DECLARE(ando) el atomo a NOUN). +La variable @code{aliases} es la lista de @'atomos que tienen un "alias" definido por el usuario (establecido mediante las funciones @code{alias}, @code{ordergreat} o @code{orderless} o declarando el @'atomo como un @code{noun} (nombre) con @code{declare}. +@end defvr -@end defvar +@defvr {Declaraci@'on} alphabetic -@defvar ALLSYM +La llamada @code{declare (@var{char}, alphabetic)} a@~nade @code{char} al alfabeto de Maxima, el cual contiene inicialmente las letras de la @code{A} a la @code{Z}, de la @code{a} a la @code{z}, @code{%} y @code{_}. La variable +@var{char} se especifica como una cadena alfanum@'erica de longitud 1, como @code{"~"}. -por defecto: [VERDADERO] - Si es VERDADERO entonces todos los objetos -puestos en un indice son asumidos simetricos en todos sus indices -covariantes y contravariantes. Si es FALSO entonces las no simetr@'{@dotless{i}}as -de cualquier clase son asumidas en esos indices. Los indices -derivados son siempre tomados para ser simetricos. +@example +(%i1) declare ("~", alphabetic); +(%o1) done +(%i2) foo~bar; +(%o2) foo~bar +(%i3) atom (foo~bar); +(%o3) true +@end example -@end defvar +@end defvr -@defvr declaration ALPHABETIC +@deffn {Funci@'on} apropos (@var{cadena}) -Añade al alfabeto de MACSYMA el cual inicialmente contiene las letras -A-Z, % y _. As@'{@dotless{i}}, DECLARE("~",ALPHABETIC) le habilita NEW~VALUE para -ser usado como un nombre. +Busca nombres en Maxima en los cuales aparezca @var{cadena} en cualquier lugar dentro de ellos. As@'{@dotless{i}}, @code{apropos (exp)} devuelve una lista con todas las variables y funciones que tengan @code{exp} formando parte de sus nombres, como @code{expand}, @code{exp} y @code{exponentialize}. De esta forma, si el usuario tan solo recuerda parte del nombre de algo, puede utilizar este comando para encontrar el resto del nombre. De manera semejante, tambi@'en se puede hacer @code{apropos (tr_)} para encontrar una lista de muchas de las variables relacionadas con el traductor, buena parte de las cuales comienzan con @code{tr_}. + +@end deffn + +@deffn {Funci@'on} args (@var{expr}) + +Devuelve la lista de argumentos de @code{expr}, que puede ser cualquier tipo de expresi@'on a excepci@'on de un @'atomo. Tan solo se muestran los argumentos del operador principal; subexpresiones de @code{expr} aparecen como elementos o subexpresiones de elementos de la lista de argumentos. + +El orden de los miembros de la lista puede depender de la variable global @code{inflag}. + +La llamada @code{args (@var{expr})} es equivalente a @code{substpart ("[", @var{expr}, 0)}. +V@'ease tambi@'en @code{substpart}. + +V@'ease asimismo @code{op}. + +@end deffn + +@defvr {Variable optativa} genindex +Valor por defecto: @code{i} + +La variable @code{genindex} es el prefijo alfab@'etico utilizado para generar la siguiente variable de sumaci@'on en caso de necesidad. @end defvr -@defun APROPOS (string) +@defvr {Variable optativa} gensumnum +Valor por defecto: 0 -toma un caracter de tipo string como argumento y observa en absoluto -los nombres de MACSYMA para para los @'unicos con ese string que -aparecen en cualquier parte dentro de ellos. As@'{@dotless{i}}, APROPOS(EXP); -retornar@'a una larga lista de todas las banderas y funciones las -cuales tienen EXP como una parte de sus nombres, como EXPAND, EXP, -EXPONENTIALIZE. As@'{@dotless{i}} si usted pude recordar solo una parte del -nombre o algo usted puede usar este comando para encontrar el resto -del nombre. Similarmente, usted podr@'{@dotless{i}}a decir APROPOS(TR_); para -encontrar una lista de muchas de las opciones relacionando para la -funci@'on TRANSLATOR (la mayor@'{@dotless{i}}a de los cuales empiezan por TR_). +La variable @code{gensumnum} es el sufijo num@'erico utilizado para generar la siguiente variable de sumaci@'on. Si vale @code{false} entonces el @'{@dotless{i}}ndice consistir@'a solamente de @code{genindex}, sin sufijo num@'erico. -@end defun +@end defvr -@defun ARGS (exp) +@defvr {Constante} inf -retorna una lista de los arreglos para exp. I.e. estos es -esencialmente equivalente a +S@'{@dotless{i}}mbolo que identifica al infinito positivo dentro de un contexto de n@'umeros reales. -@example -SUBSTPART("[",exp,0) -@end example -Ambos ARGS y SUBSTPART dependen de la programaci@'on de la funci@'on -INFLAG. +@end defvr -@end defun +@defvr {Constante} infinity -@defun DUMMY (i1,i2,...) +S@'{@dotless{i}}mbolo que identifica al infinito complejo, una magnitud infinita con @'angulo de fase arbitrario. V@'eanse tambi@'en @code{inf} y @code{minf}. -programar@'a cada indice i1,i2,... para nombre de la forma !n donde n -es un entero positivo. Estas garant@'{@dotless{i}}as para los indices mudos los -cuales son nesecitados en la formaci@'on de expresiones que no -estrar@'an en conflicto con indices que ya est@'en en uso. COUNTER -[por defecto 1] determina el sufijo num@'erico para ser usado en la -generaci@'on del proximo indice mudo. El prefijo es determinado por la -opci@'on DUMMYX[!]. +@end defvr -@end defun +@defvr {Variable del sistema} infolists +Valor por defecto: @code{[]} -@defvar GENINDEX +La variable @code{infolists} es una lista con los nombres de todas las listas que guardan informaci@'on sobre Maxima. Estas son: -por defecto: [I] es el prefijo alfabetico usado para generar la -siguiente variable de suma cuando sea necesario. +@code{labels} - todas las etiqueta @code{%i}, @code{%o} y @code{%t} con valores asignados. -@end defvar +@code{values} - todos los @'atomos que son variables de usuario, no opciones de Maxima creadas con @code{:} o @code{::}. -@defvar GENSUMNUM +@code{functions} - todas las funciones de usuario creadas con @code{:=}. -[0] es el sufijo num@'erico usado para generar la siguiente variable -de suma. Si este es programado para FALSO entonces el indice -concistir@'a solamente para la funci@'on GENINDEX con sufijo no -num@'erico. +@code{arrays} - arreglos declarados y no declarados, creados por @code{:}, @code{::} o @code{:=}. -@end defvar +@code{macros} - cualquier macro definida por el usuario. -@defvar INF - - infinito real positivo. +@code{myoptions} - todas las opciones inicializadas por el usuario, independientemente de que posteriormente hayan sido devueltas a sus valores por defecto. -@end defvar +@code{rules} - reglas de patrones y simplificaci@'on definidas por el usuario, creadas con @code{tellsimp}, @code{tellsimpafter}, @code{defmatch} o @code{defrule}. -@defvar INFINITY -- infinidad compleja, una magnitud infinita de @'angulo de fase -arbitrario. (Observe tambi@'en INF y MINF.) +@code{aliases} - @'atomos que tienen un "alias" definido por el usuario, creado por las funciones @code{alias}, @code{ordergreat} o @code{orderless} o por haber declarado el @'atomo como @code{noun} (nombre) con @code{declare}. -@end defvar +@code{dependencies} - @'atomos que tienen dependencias funcionales, creados por las funciones @code{depends} o @code{gradef}. -@defvar INFOLISTS +@code{gradefs} - funciones que tienen derivadas definidas por el usuario, creadas por la funci@'on @code{gradef}. -por defecto: [] una lista de los nombre de todas las listas de -informaci@'on en MACSYMA. Estas son: LABELS - todos los l@'{@dotless{i}}mites C,D, -y las etiquetas E. VALUES - todos los @'atomos l@'{@dotless{i}}mites, -i.e. variables de usuario, no las opciones u opciones MACSYMA, -(programado por : , :: , o enlaces funcionales) FUNCTIONS - todas las -funciones definidas por el usuario (programado por f(x):=...). ARRAYS -- arreglos declarados y no declarados (programado por : , :: , o -:=...) MACROS - culquier Macros definida por el usuario. MYOPTIONS - -todas las opciones como siempre reseteadas por el usuario (si o no -ellos son reestablecidas a su valor definido). RULES - el usuario -define los modelos de emparejamiento y las reglas de simplificaci@'on -(programados por por TELLSIMP, TELLSIMPAFTER, DEFMATCH, o, DEFRULE.) -ALIASES - atomos a los cuales el usuario define un alias (programado -por las funciones ALIAS, ORDERGREAT, ORDERLESS o DECLARE(ando) el -@'atomo a NOUN). DEPENDENCIES - @'atomos que tienen dependencias -funcionales (programadas por las funciones DEPENDS o GRADEF). GRADEFS -- funciones que tienen derivadas definidas por el usuario (programado -por la funci@'on GRADEF). PROPS - @'atomos que tienen cualquier -propiedad que otros que han sido mencionados anteriormente, como -atvalues, matchdeclares, etc. as@'{@dotless{i}} como las propiedades -especificadas en la funci@'on DECLARE. LET_RULE_PACKAGES - una lista -de todos los paquetes de reglas definidas por el usuario m@'as el -paquete especial DEFAULT_LET_RULE_PACKAGE. (DEFAULT_LET_RULE_PACKAGE -es el nombre del paquete de regla usado cuando alguno programado por -el usuario no es expl@'{@dotless{i}}cito.) +@c UMM, WE REALLY NEED TO BE SPECIFIC -- WHAT DOES "ETC" CONTAIN HERE ?? +@code{props} - @'atomos que tengan cualquier propiedad que no sea de las mencionadas hasta ahora, como atvalues, matchdeclares, etc., as@'{@dotless{i}} como propiedadas especificadas en la funci@'on @code{declare}. -@end defvar +@code{let_rule_packages} - una lista de todos los paquetes de reglas (let) junto con el paquete especial @code{default_let_rule_package}; @code{default_let_rule_package} es el nombre del paquete de reglas utilizado cuando no se use ning@'un otro especificado por el usuario. -@defun INTEGERP (exp) +@end defvr -es VERDADERO si exp es un entero si no es FALSO. +@deffn {Funci@'on} integerp (@var{expr}) -@end defun +Devuelve @code{true} si @var{expr} es un n@'umero entero y @code{false} en cualquier otro caso. + +La funci@'on @code{integerp} devuelve @code{false} si su argumento es un s@'{@dotless{i}}mbolo, incluso cuando @'este ha sido declarado como entero. + +Ejemplos: -@defvar M1PBRANCH - por defecto: [FALSO] - "rama principal de -1 para una potencia". -CAntidades como (-1)^(1/3) [i.e. "impar" exponente racional] e -(-1)^(1/4) [i.e. "even" rational exponent] are now handled as indicado -en el siguiente mapa: @example - DOMAIN:REAL(por defecto) +(%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 +@end example + +@end deffn + +@defvr {Variable optativa} m1pbranch +Valor por defecto: @code{false} + +La variable @code{m1pbranch} es la rama principal de @code{-1} elevado a una potencia. Cantidades como @code{(-1)^(1/3)} (esto es, un exponente racional impar) y @code{(-1)^(1/4)} (esto es, un exponente racional par) son tratados como sigue: + +@c REDRAW THIS AS A TABLE +@example + dominio real -(-1)^(1/3): -1 (-1)^(1/4): (-1)^(1/4) +(-1)^(1/3): -1 +(-1)^(1/4): (-1)^(1/4) - DOMAIN:COMPLEX M1PBRANCH:FALSO(por defecto) -M1PBRANCH:VERDADERO (-1)^(1/3) 1/2+%i*sqrt(3)/2 (-1)^(1/4) -sqrt(2)/2+%i*sqrt(2)/2 + dominio complejo +m1pbranch:false m1pbranch:true +(-1)^(1/3) 1/2+%i*sqrt(3)/2 +(-1)^(1/4) sqrt(2)/2+%i*sqrt(2)/2 @end example -@end defvar -@c @node NUMBERP -@c @unnumberedsec phony -@defun NUMBERP (exp) -es VERDADERO si exp es un entero, un n@'umero racional, un punto -flotante o un granflotante si no es FALSO. -@end defun -@c @node PROPERTIES -@c @unnumberedsec phony -@defun PROPERTIES (a) -rendir@'a una lista mostrando los nombres de todas las propiedades -asociadas con el @'atomo a. +@end defvr -@end defun -@c @node PROPS -@c @unnumberedsec phony -@defvr {special symbol} PROPS - - @'atomos que toienen cualquier otra propiedad que los mencionados -expl@'{@dotless{i}}citamente en INFOLISTS, como atvalues, matchdeclares, -etc. As@'{@dotless{i}} como propiedades especificadas en la funci@'on DECLARE. +@deffn {Funci@'on} numberp (@var{expr}) + +Devuelve @code{true} si @var{expr} es un en@'umero entero, racional, +de coma flotante o "bigfloat", en caso contrario devuelve @code{false}. + +La funci@'on @code{numberp} devuelve @code{false} si su argumento es un s@'{@dotless{i}}mbolo, incluso cuando el argumento es un n@'umero simb@'olico como @code{%pi} o @code{%i}, o aunque haya sido declarado como "even" (par), "odd" (impar), "integer" (entero), "rational" (racional), "irrational" (irracional), "real" (real), "imaginary" (imaginario) o "complex" (complejo). + +Ejemplos: + +@example +(%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] +@end example + +@end deffn + +@deffn {Funci@'on} properties (@var{a}) + +Devuelve una lista con los nombres de propiedades asociadas con el @'atomo @var{a}. + +@end deffn + +@defvr {S@'{@dotless{i}}mbolo especial} props + +@code{props} son @'atomos que tienen cualquier propiedad diferente de las mencionadas expl@'{@dotless{i}}citamente en @code{infolists}, tales como atvalues, matchdeclares, etc., as@'{@dotless{i}} como las propiedades especificadas en la funci@'on @code{declare}. @end defvr -@c @node PROPVARS -@c @unnumberedsec phony -@defun PROPVARS (prop) -rinde una lista de los @'atomos en la lista PROPS los cuales tienen -una propiedad indicada por prop. As@'{@dotless{i}} PROPVARS(ATVALUE) rendir@'a -una lista de @'atomos que poseen atvalues. -@end defun -@c @node PUT -@c @unnumberedsec phony -@defun PUT (a, p, i) -asocido con el @'atomo a, la propiedad p con el indicador i. Estos -habilitan al usuario para dar a un @'atomo cualquier propiedad -arbitraria. +@deffn {Funci@'on} propvars (@var{prop}) -@end defun -@c @node QPUT -@c @unnumberedsec phony -@defun QPUT (a, p, i) -es similar a PUT este no tiene sus argumentos evaluados. +Devuelve una lista con aquellos @'atomos de la lista @code{props} que tienen la propiedad indicada por @var{prop}. -@end defun -@c @node REM -@c @unnumberedsec phony -@defun REM (a, i) -remueve la propíedad indicada por i del @'atomo a. +@end deffn -@end defun -@c @node REMOVE -@c @unnumberedsec phony -@defun REMOVE (args) -quitar@'a algunas o todas las propiedades asociadas con variables o -funciones. REMOVE(a1, p1, a2, p2, ...) remueve la propiedad pi del -@'atomo ai. Ai y pi pueden tambi@'en ser listas como con DECLARE. Pi -puede ser cualquier propiedad e.g. FUNCTION, MODE_DECLARE, etc. Este -tambi@'en puede ser la funci@'on TRANSFUN implicando que la versi@'on -traducida de LISP de la funci@'on ser@'a quitado. Eston es @'util s -se desea tener la versi@'on de MACSYMA de la funci@'on ejecutada en -lugar de la versi@'on traducida. Pi tambi@'en puede ser OP o OPERATOR -para remover una extensi@'on de sintaxis dada para ai (observe el -apendice II). Si ai es "TODO" entonces la propiedad indicada por pi -es removida de todos los @'atomos que la posean. Al contrario del -m@'as espec@'{@dotless{i}}fico remueve las funci@'ones (REMVALUE, REMARRAY, -REMFUNCTION, and REMRULE) REMOVE no indica cuando una propiedad dada -es inexistente; esto siempre retorna "DONE". +@deffn {Funci@'on} put (@var{@'atomo}, @var{valor}, @var{indicador}) -@end defun -@c @node REMVALUE -@c @unnumberedsec phony -@defun REMVALUE (name1, name2, ...) -remueve los valores de las variables del usuario (las cuales pueden -ser subindicadas) del sistema. Si el nombre es TODO entonces los -valores de las variables definidas por el usuario son removidas. Los -valores son esos art@'{@dotless{i}}culos que fueron dados por el usuario como -oposici@'on a esos, los cuales fuer@'on autom@'aticamente etiquetados -por MACSYMA como Ci, Di, o Ei. +Asigna el @var{valor} a la propiedad (especificada por @var{indicador}) de @var{@'atomo}; @var{indicador} puede ser el nombre de cualquier propiedad y no solamente de aquellas definidas por el sistema. -@end defun -@c @node RENAME -@c @unnumberedsec phony -@defun RENAME (exp) -returns an expression equivalent to exp but with the dummy indices in -each term chosen from the set [!1,!2,...]. Each dummy index in a -product will be different; for a sum RENAME will try to make each -dummy index in a sum the same. In addition, the indices will be -sorted alphanumerically. +La funci@'on @code{put} eval@'ua sus argumentos y devuelve @var{valor}. -@end defun -@c @node RNCOMBINE -@c @unnumberedsec phony -@defun RNCOMBINE (exp) -transforms exp by combining all terms of exp that have identical -denominators or denominators that differ from each other by numerical -factors only. This is slightly different from the behavior of -COMBINE, which collects terms that have identical denominators. -Setting PFEFORMAT:TRUE and using COMBINE will achieve results similar -to those that can be obtained with RNCOMBINE, but RNCOMBINE takes the -additional step of cross-multiplying numerical denominator factors. -This results in neater forms, and the possiblity of recognizing some -cancellations. Bugs to ASB. +Ejemplos: -@end defun -@c @node SCALARP -@c @unnumberedsec phony -@defun SCALARP (exp) -is TRUE if exp is a number, constant, or variable DECLAREd SCALAR, or -composed entirely of numbers, constants, and such variables, but not -containing matrices or lists. +@example +(%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 +@end example -@end defun -@c @node SCALEFACTORS -@c @unnumberedsec phony -@defun SCALEFACTORS (coordinatetransform) -Here coordinatetransform evaluates to the form [[expression1, -expression2, ...], indeterminate1, indeterminat2, ...], where -indeterminate1, indeterminate2, etc. are the curvilinear coordinate -variables and where a set of rectangular Cartesian components is given -in terms of the curvilinear coordinates by [expression1, expression2, -...]. COORDINATES is set to the vector [indeterminate1, -indeterminate2,...], and DIMENSION is set to the length of this -vector. SF[1], SF[2], ..., SF[DIMENSION] are set to the coordinate -scale factors, and SFPROD is set to the product of these scale -factors. Initially, COORDINATES is [X, Y, Z], DIMENSION is 3, and -SF[1]=SF[2]=SF[3]=SFPROD=1, corresponding to 3-dimensional rectangular -Cartesian coordinates. To expand an expression into physical -components in the current coordinate system, there is a function with -usage of the form +@end deffn -@end defun -@c @node SETUP_AUTOLOAD -@c @unnumberedsec phony -@defun SETUP_AUTOLOAD (file,func1,...,funcN) -which takes two or more arguments: a file specification, and one or -more function names, "funcI", and which indicates that if a call to -"funcI" is made and "funcI" is not defined, that the file specified by -"file" is to be automatically loaded in via LOAD, which file should -contain a definition for "funcI". (This is the process by which -calling e.g. INTEGRATE in a fresh MACSYMA causes various files to be -loaded in.) As with the other file-handling commands in MACSYMA, the -arguments to SETUP_AUTOLOAD are not evaluated. Example: -SETUP_AUTOLOAD("bessel")$ J1(0.0); . Note: SETUP_AUTOLOAD does not -work for array functions. +@deffn {Funci@'on} qput (@var{@'atomo}, @var{valor}, @var{indicador}) -@end defun +Asigna @var{valor} a la propiedad de @var{@'atomo} que especifique @var{indicador}. Act@'ua del mismo modeo que @code{put}, excepto que sus argumentos no son evaluados. + +Ejemplo: + +@example +(%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 +@end example + +@end deffn + +@deffn {Funci@'on} rem (@var{@'atomo}, @var{indicador}) + +Elimina del @var{@'atomo} la propiedad indicada por @var{indicador}. + +@end deffn + +@deffn {Funci@'on} remove (@var{a_1}, @var{p_1}, ..., @var{a_n}, @var{p_n}) +@deffnx {Funci@'on} remove ([@var{a_1}, ..., @var{a_m}], [@var{p_1}, ..., @var{p_n}], ...) +@deffnx {Funci@'on} remove ("@var{a}", operator) +@deffnx {Funci@'on} remove (@var{a}, transfun) +@deffnx {Funci@'on} remove (all, @var{p}) + +Elimina propiedades asociadas con @'atomos. + +La llamada @code{remove (@var{a_1}, @var{p_1}, ..., @var{a_n}, @var{p_n})} +elimina la propiedad @code{p_k} del @'atomo @code{a_k}. + +La llamada @code{remove ([@var{a_1}, ..., @var{a_m}], [@var{p_1}, ..., @var{p_n}], ...)} +elimina las propiedades @code{@var{p_1}, ..., @var{p_n}} de los @'atomos @var{a_1}, ..., @var{a_m}. Puede tener m@'as de un par de listas. + +@c VERIFY THAT THIS WORKS AS ADVERTISED +La llamada @code{remove (all, @var{p})} elimina la propiedad @var{p} de todos los @'atomos que la tengan. + +@c SHOULD REFER TO A LIST OF ALL SYSTEM-DEFINED PROPERTIES HERE. +Las propiedades eliminadas pueden ser de las que define el sistema, como @code{function} o @code{mode_declare}, o de las que define el usuario. + +La llamada @code{remove ("@var{a}", operator)} o su equivalente @code{remove ("@var{a}", op)} elimina de @var{a} las propiedades de operador declaradas por @code{prefix}, @code{infix}, @code{nary}, @code{postfix}, @code{matchfix} o @code{nofix}. N@'otese que el nombre del operador debe escribirse como cadena precedida de ap@'ostrofo. + +La llamada @code{remove} devuelve siempre @code{done} independientemente que haya alg@'un @'atomo con la propiedad especificada. + +@end deffn + +@deffn {Funci@'on} remvalue (@var{nombre_1}, ..., @var{nombre_n}) +@deffnx {Funci@'on} remvalue (all) + +Elimina del sistema los valores de las variable de usuario @var{nombre_1}, ..., @var{nombre_n} (incluso las que tienen sub@'{@dotless{i}}ndices). + +La llamada @code{remvalue (all)} elimina los valores de todas las variables en @code{values}, la lista de todas las variables a las que el usuario a dado alg@'un nombre, pero no de aqu@'ellas a las que Maxima asigna autom@'aticamente un valor. + +V@'ease tambi@'en @code{values}. + +@end deffn + +@deffn {Funci@'on} rncombine (@var{expr}) + +Transforma @var{expr} combinando todos los t@'erminos de @var{expr} que tengan denominadores id@'enticos o que difieran unos de otros por factores num@'ericos. Su comportamiento es diferente al de la funci@'on @code{combine}, que combina t@'erminos con iguales denominadores. + +Haciendo @code{pfeformat: true} y utilizando @code{combine} se consiguen resultados similares a aqu@'ellos que se pueden obtener con @code{rncombine}, pero @code{rncombine} realiza el paso adicional de multiplicar denominadores num@'ericos. Esto da como resultado expresiones en las que se pueden reconocer algunas cancelaciones. + +@end deffn + +@deffn {Funci@'on} scalarp (@var{expr}) + +Devuelve @code{true} si @var{expr} is un n@'umero, constante o variable declarada como @code{scalar} con @code{declare}, o compuesta completamente de tales n@'umeros, constantes o variables, pero que no contengan matrices ni listas. + +@end deffn + +@deffn {Funci@'on} setup_autoload (@var{nombre_fichero}, @var{funci@'on_1}, ..., @var{funci@'on_n}) + +Especifica que si alguna de las funciones @var{function_1}, ..., @var{function_n} es referenciada pero todav@'{@dotless{i}}a no ha sido definida, se cargar@'a @var{nombre_fichero} mediante una llamada a @code{load}. El @var{nombre_fichero} normalmente contendr@'a las definiciones de las funciones especificadas, aunque esto no es imperativo. + +La funci@'on @code{setup_autoload} no opera con arreglos de funciones. + +La funci@'on @code{setup_autoload} no eval@'ua sus argumentos. + +Ejemplo: + +@example +(%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... [truncated message content] |