Administrative functions > Files used by Quantum > User-definable limits
 
User-definable limits
Quantum has a number of internal parameters that limit how large your jobs can be. When these limits are exceeded, Quantum issues an error message. Most of the limits cannot be changed. The following list describes the exceptions and the parameters that you use to change the limit.
Parameters that can used to change limits
axes
The maximum number of axes per run. When calculating the number of axes in a run, Quantum counts each grid axis as two axes. The default limit is 500. When this parameter is exceeded, Quantum issues the message ‘Limit of number of axes in run exceeded’.
elms
The maximum number of elements per axis. The default is 500. When this parameter is exceeded, Quantum issues the message ‘Too many elements in axis’ or ‘Too many p fields’.
heap
The maximum number of characters per axis. The default is 20,000. When this parameter is exceeded, Quantum issues the message ‘Too many chars in axis text heap’.
incs
The maximum number of different inc= per run. The default is 600. When this parameter is exceeded, Quantum issues the message ‘Too many inc=’s specified’. When you increase this parameter, Quantum automatically increases the namevars parameter by an equivalent amount because each inc= also contributes to the total number of named variables.
The maximum value is 1023.
incheap
The number of characters reserved for storing the names of inc= variables. The default is 12,000. When this parameter is exceeded, Quantum issues the message ‘inc=’s names too long in total’.
textdefs
The maximum number of different text symbolic parameters per run. The default is 15 different text symbolic parameters, but one of these is always used internally so the usable number is, in fact, 14.
namevars
The maximum number of named variables and inc= per run. The default is 900, but since 33 of these are used internally, the true default is 867.
inlistheap
The limit on the complexity of a definelist. The default is 1000.
edheap
The limit on the complexity of an edit statement. The default is 500.
If the limit controlled by either edheap or inlistheap is exceeded, Quantum issues the error ‘Logical expression too long’.
manipheap
The maximum size of the items allowed per axis in element-manipulation expressions. The default is 500. If this limit is exceeded, Quantum issues the message ‘Reverse polish stack full’.
This parameter applies only to axis manipulation, and not to table manipulation using the ex statement.
lexchars
The maximum size of long text strings; that is text enclosed in $’s, for example in a definelist. The default is 1024. When this limit is exceeded, Quantum issues the message ‘Sum of characters within $’s exceeds limit’.
Defining limits for the installation
You can define limits in several ways, depending on whether they apply to the installation as a whole, to a particular job, or to an individual user. To define installation-wide limits, edit or create a file containing the lines:
axes=max_axes
elms=max_elms
heap=max_chars
incs=max_incs
incheap=max_ichars
textdefs=max_params
namevars=max_vars
edheap=max_vars
inlistheap=max_env_vars
manipheap=max_manip_exp
lexchars=max_exp_length
with the new limits you want to implement. You need enter only the lines whose values you want to change; if you want to retain the default maximum for axes per run, for example, omit this entry from the file.
Defining limits for a particular job
To define limits for a particular job, create the file in the same location as the Quantum program and data files for that job
To define limits for an individual user
You can define your own personal limits via the environment variables QTAXES, QTELMS, QTHEAP, QTINCS, QTINCHEAP, QTTEXTDEFS, QTNAMEVARS, QTEDHEAP, QTINLISTHEAP, QTMANIPHEAP and QTLEXCHARS. The values assigned to these variables must be integers (whole numbers). Limits set in this way are read after any installation or job limits and override limits set at those levels if appropriate.
Filename and location
The file of user-defined limits is named as follows:
Windows
%qthome%\include\maxima.qt for installation-wide limits
maxima.qt in the project directory for project-specific limits
UNIX
$QTHOME/include/maxima.qt for installation-wide limits
maxima.qt in the project directory for project-specific limits
See also
Files used by Quantum