Next: , Previous: , Up: Top   [Contents][Index]

33 Miscellaneous Options


Next: , Previous: , Up: Miscellaneous Options   [Contents][Index]

33.1 Introduction to Miscellaneous Options

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.


Next: , Previous: , Up: Miscellaneous Options   [Contents][Index]

33.2 Share

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.


Previous: , Up: Miscellaneous Options   [Contents][Index]

33.3 Functions and Variables for Miscellaneous Options

System variable: askexp

When asksign is called, askexp is the expression asksign is testing.

At one time, it was possible for a user to inspect askexp by entering a Maxima break with control-A.

Option variable: genindex

Default value: i

genindex is the alphabetic prefix used to generate the next variable of summation when necessary.

Categories:  Sums and products

Option variable: gensumnum

Default value: 0

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.

Categories:  Sums and products

Function: gensym
    gensym ()
    gensym (x)

gensym() creates and returns a fresh symbol.

The name of the new symbol is the concatenation of a prefix, which defaults to "g", and a suffix, which is an integer that defaults to the value of an internal counter.

If x is supplied, and is a string, then that string is used as a prefix instead of "g" for this call to gensym only.

If x is supplied, and is a nonnegative integer, then that integer, instead of the value of the internal counter, is used as the suffix for this call to gensym only.

If and only if no explicit suffix is supplied, the internal counter is incremented after it is used.

Examples:

(%i1) gensym();
(%o1)                         g887
(%i2) gensym("new");
(%o2)                        new888
(%i3) gensym(123);
(%o3)                         g123
Option variable: packagefile

Default value: false

Package designers who use save or translate to create packages (files) for others to use may want to set packagefile: true to prevent information from being added to Maxima’s information-lists (e.g. values, functions) except where necessary when the file is loaded in. In this way, the contents of the package will not get in the user’s way when he adds his own data. Note that this will not solve the problem of possible name conflicts. Also note that the flag simply affects what is output to the package file. Setting the flag to true is also useful for creating Maxima init files.

Function: remvalue
    remvalue (name_1, …, name_n)
    remvalue remvalue (all)

Removes the values of user variables name_1, …, name_n (which can be subscripted) from the system.

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.

Categories:  Evaluation

Function: rncombine (expr)

Transforms expr by combining all terms of expr 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 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 possibility of recognizing some cancellations.

load(rncomb) loads this function.

Categories:  Expressions

Function: setup_autoload (filename, function_1, …, function_n)

Specifies that if any of function_1, …, function_n are referenced and not yet defined, filename is loaded via load. filename usually contains definitions for the functions specified, although that is not enforced.

setup_autoload does not work for memoizing 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

Function: tcl_output
    tcl_output (list, i0, skip)
    tcl_output (list, i0)
    tcl_output ([list_1, …, list_n], i)

Prints elements of a list enclosed by curly braces { }, suitable as part of a program in the Tcl/Tk language.

tcl_output (list, i0, skip) prints list, beginning with element i0 and printing elements i0 + skip, i0 + 2 skip, etc.

tcl_output (list, i0) is equivalent to tcl_output (list, i0, 2).

tcl_output ([list_1, ..., list_n], i) prints the i’th elements of list_1, …, list_n.

Examples:

(%i1) tcl_output ([1, 2, 3, 4, 5, 6], 1, 3)$

 {1.000000000     4.000000000     
 }
(%i2) tcl_output ([1, 2, 3, 4, 5, 6], 2, 3)$

 {2.000000000     5.000000000     
 }
(%i3) tcl_output ([3/7, 5/9, 11/13, 13/17], 1)$

 {((RAT SIMP) 3 7) ((RAT SIMP) 11 13) 
 }
(%i4) tcl_output ([x1, y1, x2, y2, x3, y3], 2)$

 {$Y1 $Y2 $Y3 
 }
(%i5) tcl_output ([[1, 2, 3], [11, 22, 33]], 1)$

 {SIMP 1.000000000     11.00000000     
 }

Previous: , Up: Miscellaneous Options   [Contents][Index]