Go to the first, previous, next, last section, table of contents.
In this section various options are discussed which have a global effect on the operation of Maxima. Also various lists such as the list of all user defined functions, are discussed.
The Maxima "share" directory contains programs and other files
of interest to Maxima users, but not part of the core implementation of Maxima.
These programs are typically loaded via
:lisp *maxima-sharedir* displays the location of the share directory
within the user's file system.
printfile ("share.usg") prints an out-of-date list of share packages.
Users may find it more informative to browse the share directory using a file system browser.
aliases is the list of atoms which have a user defined alias (set up by
orderless functions or by declaring the atom a
declare (char, alphabetic)adds
charto Maxima's alphabet, which initially contains the letters
_. char is specified as a string of length 1, e.g.,
(%i1) declare ("~", alphabetic); (%o1) done (%i2) foo~bar; (%o2) foo~bar (%i3) atom (foo~bar); (%o3) true
apropos (exp)returns a list of all the flags and functions which have
expas part of their names, such as
exponentialize. Thus if you can only remember part of the name of something you can use this command to find the rest of the name. Similarily, you could say
apropos (tr_)to find a list of many of the switches relating to the translator, most of which begin with
expr, which may be any kind of expression other than an atom. Only the arguments of the top-level operator are extracted; subexpressions of
exprappear as elements or subexpressions of elements of the list of arguments.
The order of the items in the list may depend on the global flag
args (expr) is equivalent to
substpart ("[", expr, 0).
genindex is the alphabetic prefix used to generate the
next variable of summation when necessary.
gensumnum is the numeric suffix used to generate the next variable
of summation. If it is set to
false then the index will consist only
genindex with no numeric suffix.
infolists is a list of the names of all of the information
lists in Maxima. These are:
labels - all bound
values - all bound atoms which are user variables, not Maxima
options or switches, created by
:: or functional binding.
functions - all user-defined functions, created by
arrays - declared and undeclared arrays, created by
macros - any macros defined by the user.
myoptions - all options ever reset by the user (whether or not they
are later reset to their default values).
rules - user-defined pattern matching and simplification rules, created
aliases - atoms which have a user-defined alias, created by the
orderless functions or by declaring the atom as a
dependencies - atoms which have functional dependencies, created by the
gradefs - functions which have user-defined derivatives, created by the
props - atoms which have any property other than those mentioned
above, such as atvalues, matchdeclares, etc., as well as properties
specified in the
let_rule_packages - a list of all the user-defined let rule packages
plus the special package
default_let_rule_package is the name of the rule package used when
one is not explicitly set by the user.)
trueif expr is a literal numeric integer, otherwise
integerp returns false if its argument is a symbol,
even if the argument is declared integer.
(%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
m1pbranch is the principal branch for
-1 to a power.
Quantities such as
(-1)^(1/3) (that is, an "odd" rational exponent) and
(-1)^(1/4) (that is, an "even" rational exponent) are handled as follows:
domain:real (-1)^(1/3): -1 (-1)^(1/4): (-1)^(1/4) domain:complex m1pbranch:false m1pbranch:true (-1)^(1/3) 1/2+%i*sqrt(3)/2 (-1)^(1/4) sqrt(2)/2+%i*sqrt(2)/2
trueif expr is a literal integer, rational number, floating point number, or bigfloat, otherwise
numberp returns false if its argument is a symbol,
even if the argument is a symbolic number such as
or declared to be
even, odd, integer, rational, irrational, real, imaginary, or complex.
(%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]
propsare atoms which have any property other than those explicitly mentioned in
infolists, such as atvalues, matchdeclares, etc., as well as properties specified in the
propslist which have the property indicated by prop. Thus
propvars (atvalue)returns a list of atoms which have atvalues.
put evaluates its arguments.
put returns value.
(%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
put, except that the arguments are quoted.
(%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
remove (a_1, p_1, ..., a_n, p_n)
p_k from atom
remove ([a_1, ..., a_m], [p_1, ..., p_n], ...)
p_1, ..., p_n
from atoms a_1, ..., a_m.
There may be more than one pair of lists.
remove (all, p) removes the property p from all atoms which have it.
The removed properties may be system-defined properties such as
mode_declare, or user-defined properties.
A property may be
transfun to remove
the translated Lisp version of a function.
After executing this, the Maxima version of the function is executed
rather than the translated version.
remove ("a", operator) or, equivalently,
remove ("a", op)
removes from a the operator properties declared by
Note that the name of the operator must be written as a quoted string.
remove always returns
done whether or not an atom has a specified property.
This behavior is unlike the more specific remove functions
remvalue (all) removes the values of all variables in
the list of all variables given names by the user
(as opposed to those which are automatically assigned by Maxima).
combine, which collects terms that have identical denominators.
pfeformat: true and using
combine yields results similar
to those that can be obtained with
rncombine takes the
additional step of cross-multiplying numerical denominator factors.
This results in neater forms, and the possiblity of recognizing some
trueif expr is a number, constant, or variable declared
declare, or composed entirely of numbers, constants, and such variables, but not containing matrices or lists.
load. filename usually contains definitions for the functions specified, although that is not enforced.
setup_autoload does not work for array functions.
setup_autoload quotes its arguments.
(%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
Go to the first, previous, next, last section, table of contents.