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 load or setup_autoload.
: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
the alias, ordergreat, orderless functions or by declaring the atom a
noun with declare).
declare (char, alphabetic) adds char to Maxima's alphabet,
which initially contains
the letters A through Z, a through z, % and _.
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 exp as part of their names, such as expand,
exp, and 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 tr_.
expr,
which may be any kind of expression other than an atom.
Only the arguments of the top-level operator are extracted;
subexpressions of expr appear 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 inflag.
args (expr) is equivalent to substpart ("[", expr, 0).
See also substpart.
See also op.
i
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
of genindex with no numeric suffix.
inf and minf.
[]
infolists is a list of the names of all of the information
lists in Maxima. These are:
labels - all bound %i, %o, and %t labels.
values - all bound atoms which are user variables, not Maxima
options or switches, created by : or :: or functional binding.
functions - all user-defined functions, created by :=.
arrays - declared and undeclared arrays, created by :, ::, or :=.
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
by tellsimp, tellsimpafter, defmatch, or defrule.
aliases - atoms which have a user-defined alias, created by the alias,
ordergreat, orderless functions or by declaring the atom as a noun
with declare.
dependencies - atoms which have functional dependencies, created by the
depends or gradef functions.
gradefs - functions which have user-defined derivatives, created by the
gradef function.
props - atoms which have any property other than those mentioned
above, such as atvalues, matchdeclares, etc., as well as properties
specified in the declare function.
let_rule_packages - a list of all the user-defined let rule packages
plus the special package default_let_rule_package.
(default_let_rule_package is the name of the rule package used when
one is not explicitly set by the user.)
true if expr is a literal numeric integer, otherwise false.
integerp returns false if its argument is a symbol,
even if the argument is declared integer.
Examples:
(%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
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
true if expr is a literal integer, rational number,
floating point number, or bigfloat, otherwise false.
numberp returns false if its argument is a symbol,
even if the argument is a symbolic number such as %pi or %i,
or declared to be
even, odd, integer, rational, irrational, real, imaginary, or complex.
Examples:
(%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]
props are atoms which have any property other than those explicitly
mentioned in infolists, such as atvalues, matchdeclares, etc., as well
as properties specified in the declare function.
props list 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.
Examples:
(%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.
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
remove (a_1, p_1, ..., a_n, p_n)
removes property p_k from atom a_k.
remove ([a_1, ..., a_m], [p_1, ..., p_n], ...)
removes properties 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
function or 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
prefix, infix, nary, postfix, matchfix, or nofix.
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, remarray, remfunction, and remrule.
remvalue (all) removes the values of all variables in values,
the list of all variables given names by the user
(as opposed to those which are automatically assigned by Maxima).
See also values.
combine, which collects terms that have identical denominators.
Setting pfeformat: true and using combine yields 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.
true if expr is a number, constant, or variable
declared scalar with 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.
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, %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.