Windows installer: Update README.txt.
[maxima.git] / archive / doc / None.texi
blobdcaa9e71b3c0778687395e90c5b1abef7d8d3b23
1 @node None, Function and Variable Index, Ctensor, Top
2 @chapter None
3 @menu
4 * Introduction to None::        
5 * Definitions for None::        
6 @end menu
8 @node Introduction to None, Definitions for None, None, None
9 @section Introduction to None
10 @section DILOGARITHMS
11  - See POLYLOGARITHMS.
13 @section B
14  (%o1)                             (N + 1)!
16 @section FILE
17  - A file specification is a string such as "foo".  You may
18 also specify just the symbol foo.  So load("foo") and
19 load(foo) should do the same thing (unless foo has a value).
20 Symbols will be mapped to lower cases, and strings left alone.
21 There are various FILE_SEARCH lists.   see FILE_SEARCH.
23 @section HACIJAN
24  - An implementation of Hacijan's linear programming algorithm
25 is available by doing BATCH("kach.mc")$.  Details of use are
26 available by doing BATCH("kach.dem");
28 @section IMSL
29  - For information on MACSYMA-IMSL packages available do:
30 PRINTFILE(IMSL,USAGE,SHARE2); IMSL-based routines currently return
31 [SUCCESS, ...] or [ERROR, ...].  They will soon be changed to return
32 [SUCCESS, ...], [WARNING, ...] and [ERROR, ...].
34 @section INDEX_FILE_DIM
35  ,symbol-returned-by-OPEN_INDEX_FILE) - returns an
36 integer indicating the number of expressions in the indexed file.
37 See DESCRIBE(OPEN_INDEX_FILE);.
39 @section IRREDUCIBLE
40  - This command has been removed.
42 @section ITS
43  - The operating system under which MACSYMA runs on the MIT-MC
44 machine.  It stands for "Incompatible Timesharing System".
46 @section MAP_OVER_INDEX_FILE
47  ,|function, fileobject|) is convenient for
48 generating an index list of properties of the objects in a file vs.
49 their positions in the file.  See DESCRIBE(MAKE_INDEX_FILE);.
51 @section MODRESULT
52  - This switch is obsolete.  The new RESULTANT switch should
53 be used.  Do DESCRIBE(RESULTANT); for details.
55 @section MORE
56  Processing - The term used to describe the action of a CRT
57 console when it stops at the bottom of the screen to allow the user
58 to finish reading.  See PAGEPAUSE and MOREWAIT for details.
60 @section NTRIG
61  - SHARE1;NTRIG FASL allows MACSYMA to compute trig functions
62 with arguments of the form N*%PI/10 for integer N.  Do LOAD(NTRIG) to
63 access this. The main functions are USIN(N) and UCOS(N).
65 @section NUMERICAL
66  - There are a number of packages for numerical methods in
67 MACSYMA.  See IMSL and the SHARE directories.
69 @section SET
70  - See Sets.
72 @section STORENUM
73  - The value of this variable, an integer, is the second name
74 of the last file written by the automatic storage scheme.  (See
75 DESCRIBE(DSKGC)).  Each time a file is written, STORENUM is first
76 increased by 1, so it must always be an integer.  It is initially set
77 to 1000.
79 @section UPDATE
80  - The Update file has been moved to the MACDOC directory, so
81 you should do PRINTFILE(UPDATE,>,MACDOC); to read it.  Also, you may
82 find information of a useful nature on this directory, so you may want 
83 to list it (LISTFILES(MACDOC); in MACSYMA) and print some other files
84 also.
85 Here follows a list of changes to MACSYMA since the Version 10
86 manual.  Do DESCRIBE(cmd); to see their documentation:
87 New Functions or variables: LCM, RNCOMBINE.
88 New SHARE packages of interest:  ATRIG1, NTRIG.
89 The following functions have been removed from MACSYMA:  TRIGSUM.
91 @section ---Begin
92  new doc by wfs
93 @section EDITOR-ZMACS
94  The lisp machine version of macsyma contains many helpful
95 editor commands.  The best way to find out about them is to do Meta-X
96 Apropos the string "macsyma" since most of the commands involve this
97 name.  Macsyma Mode is obtained by doing the extended command Macsyma
98 mode.  When in macsyma mode the keysrokes such as ctrl-shift-C refer to
99 compiling macsyma code in a marked region, or else between the $ or ;
100 delimiters if no region is marked.
102 It is possible to evaluate expressions into the buffer by typing
103 control-shift-I (for example a line label %o3 has a value you want to
104 alter).  The macsyma evaluator will be called on the current region and
105 the result will be ground into the buffer.  It can then be altered and
106 reevaluated by using control-shift-E to evaluate it.
109 @section FILENAMES--lispm
110    Since source files for Macsyma on the lisp machines
111 will often be on many different machines, it is difficult to have a good
112 file search mechanism.  The best thing for a user to do is to specify a
113 file name as a string, as fully as he finds necessary.  The syntax
114 should be that of the machine on which the file resides.  For example
115 BATCH("/home/wfs/test.mac") or
116 DEMO("/home/wfs/defint.dmo") are valid specifications, for a
117 Using the input editor long pathnames are typed rather easily,
118 and of course there is always the option of defining a logical pathname
119 to stand for them.
121 The current logical pathnames for the sources should be
122 "Maxima-source:maxima;foo.lisp".
124 @section FUNCTION-ARGUMENTS
125  To find the function argument of a function when in
126 the input editor of a macsyma listener you may type Control-meta-A when
127 the cursor is placed just after the name of the function.  Unfortunately
128 some macsyma functions use variable names which are not very suggestive.
129 If a function takes keyword arguments, these can be entered at macsyma
130 level by typing ?:..  . For example if you want to call the common lisp
131 function member which takes a keyword test you would enter
133  AA:MAKE_HASH_TABLE(?:TEST,?EQL); 
135 This will use the lisp function eql for comparison of entries in AA.
136 AA[1]:2;
137 AA[1]; ==> 2.
139 @section MACSYMA-LISTENER
140  Select A (or System A) selects the most current 
141 macsyma listener.  You may also click on the system menu, and create
142 new different shaped listeners.   The line labels are shared among 
143 the listeners, so that you may refer to line labels defined in one
144 window, in another window.  
146 Enabling or disabling more-processing (the pause at the end of a page of
147 display) is done as with lisp listeners (eg. use the function key).
149 @section HELP--see
150 :documentation  
152 @section  XXX
156 @c end concepts None
157 @node Definitions for None,  , Introduction to None, None
158 @section Definitions for None
159 @defun COMPRESS
160  - This command has been withdrawn, see COLLAPSE.
162 @end defun
163 @defun COMPRESS_FILE
164  - This command has been withdrawn, see COLLAPSE.
166 @end defun
167 @defvar CURSOR
168  default: [$] is the prompt symbol of the MACSYMA editor.
170 @end defvar
171 @defun DISKUSE 
172 (username) returns the total number of disk blocks in use by a
173 user.  The result is of the form <n>*BLOCKS
175 @end defun
176 @defvar DOVARD_VIEWPORT
177  default: [1,7,1,7] determines the perspective for
178 Dover output plots, similar to VIEWPT.  It accepts 4 arguments,
179 [XMIN,XMAX,YMIN,YMAX] in inches on the page.
181 @end defvar
182 @defvar DSKGC
183  default: [FALSE] if TRUE will cause user defined values,
184 functions, arrays, and line labelled expressions to be automatically
185 stored on disk whenever the system determines that the available
186 in-core space is getting low.  (For historical reasons this is also
187 a function, but it should be used as a switch.  Please use it as
188 described here, not as a function.)
190 @end defvar
191 @defvar DSKUSE
192  default: [FALSE] if TRUE, from this point in the computation
193 on labelled expressions will be written out periodically onto the
194 disk.  (A labelled expression is one which is referred to by a line
195 label, e.g. %o4, %i7, %t12.)  Once an expression is written onto the disk
196 it will no longer reside in main memory and most of the main memory
197 storage taken up by it will be released. When the user attempts to
198 reference an expression which has been stored onto the disk, MACSYMA
199 will retrieve the correct value from the disk file.
201 @end defvar
202 @defvar DYNAMALLOC
203  default: [FALSE] if TRUE will allocate additional space
204 whenever necessary.
206 @end defvar
207 @defun ED 
208 () - calls the NIL editor, which is called STEVE.  STEVE is an editor
209 for CRT consoles, which is best at speeds of 1200 baud or greater.
210 The interface it presents is close to that of the EMACS editor used
211 on the TOPS-20 and ITS operating systems.  Doing
212         TEACH_STEVE();
213 will run a tutorial on the editor.   At this time it is unfortunately
214 not possible to either "zap" an expression from a command line into
215 the editor, nor to "zap" an edited expression back to MACSYMA for
216 evaluation;  however, the editor can be used for file editing.
217 DESCRIBE(EDITOR) for information about the MACSYMA line editor.
219 @end defun
220 @defun EDITOR
221  - There is a line editor in MACSYMA, which you may enter by typing
222 an altmode (the "esc" key on most consoles) for PDP-10 and NIL versions
223 of MACSYMA, and & (ampersand) for Multics.  Your current command line
224 will be automatically brought into the editor for you to edit.  Commands
225 are terminated by two altmodes (two &'s on Multics).  An additional
226 two altmodes will return you to MACSYMA with the edited string on your
227 command line.
228 Some useful commands:
229 Command         Action
230 -------         ______
231 nC              moves the cursor past n characters.
232 nR              moves the cursor past n characters in the
233                  reverse direction (nR = -nC).
234 nSstring<$>     moves the cursor to the right (left if n is
235                  negative) of the nth occurrence of "string" in
236                  the input string.
237 ) or ]          moves the cursor right from the current position
238                  over the next balanced pair of parentheses (or
239                  brackets).
240 ( or [          similar to ) or ] but moves left.
241 nD              deletes n characters, and saves them in the
242                  "save-register" (see the GR command below).
243 nK              deletes all the characters through the nth carriage return
244                  (0K kills left), and saves them in the "save-register";
245                  e.g., K deletes the remainder of this line.
246 Istring<$>      inserts the characters "string" at the current cursor
247                  position.  The cursor is positioned at the right of
248                  the inserted text.  If no argument is given then the
249                  string of the last I command which had one is used.
250 GR              inserts at the current cursor position the characters
251                  deleted by the last use of D or K.  Thus GR may be used
252                  in combination with D or K to move characters from one
253                  place to another in the input string; or to recover
254                  from an accidental use of D or K.  There is only one
255                  "save-register".
257 @end defun
258 @defun EMACS 
259 () - calls the NIL editor.  DESCRIBE(ED) for more information.
260 The name EMACS derives from the editor of that name used on the ITS
261 and TOPS-20 operating systems.
263 @end defun
264 @defun FILEOP
265  - SHARE;FILEOP -- some file primitives for MC Macsyma users.
266 Macsyma now provides some useful simple file primitives which were
267 formerly only available in other system programs.
268 To print the contents of a file on your terminal, say
269 PRINTFILE(file,name,dsk,me);
270 To list your directory, say LISTFILES(dsk,me).  If you use a shared
271 directory such as USERS or PLASMA, only your files--the ones
272 with your login name as first file name--will be shown.
273 The length and date of creation of each file is also shown.
274 The function FILELENGTH returns the length of the file argument
275 in blocks and fractional blocks.
276 In order to list just the names of your files without the
277 length and date information, use QLISTFILES (Quick LIST Files)
278 with the same arguments as LISTFILES.
279 The function RENAMEFILE(oldname,newname) renames a file from oldname
280 to newname.
281 Details.
282 The PRINTFILE command takes the same argument syntax as LOADFILE;
283 the other two take the syntax of WRITEFILE.  LISTFILES indicates
284 whether each file is stored on secondary disk and whether it
285 has been backed up to tape (an exclamation point appears if
286 it has not).
287 The FILELENGTH command returns the length in blocks and fractional
288 blocks: there are five characters in a word and 1024 words in a disk block.
289 (So if it returns 5.6, the file is 6 blocks long, but the last block
290 is only 60% full.  This file would be 5.6*1024*5 (= 28672) characters
291 long.)  If the file named does not exist, an error message is printed,
292 and False is returned to permit easier recovery in a program.
293 Files may not be renamed across directories or devices. Both oldname
294 and newname must be on the same directory. Renaming a file to a filename
295 that already exists gives an error. You must explicitly DELFILE the
296 existing file first if that's what you want.  Both oldname and newname
297 must be list-type filespecs. example: 
298 RENAMEFILE([myold,file,dsk,foo],[mynew,file]);
300 @end defun
301 @defvar FILESIZE
302  default: [] - The value of this variable is the number of
303 expressions written into each file by the automatic disk storage
304 scheme.  The default value is 16.
306 @end defvar
307 @defun FULLDISKUSE 
308 (username) If no name is supplied, it defaults to the
309 current user's.  Returns long list of info about user's disk usage of
310 the form:
311   [["TOTAL FREE BLOCKS", [<pack-type>, <pack-number>, <n> BLOCKS],
312                          [<pack-type>, <pack-number>, <n> BLOCKS], ...]
313    ["DIRECTORY BLOCK USAGE", <directory-name>
314                              ["PRIMARY", <n> BLOCKS],
315                              ["SECONDARY", <n> BLOCKS]]
316    ["USER BLOCK USAGE", <user-name>,
317                         [PRIMARY, <n> BLOCKS],
318                         [SECONDARY, <n> BLOCKS]]]
319 If the user has his own directory, the last element of the list ("USER
320 BLOCK USAGE") is omitted since it would be the same as "DIRECTORY
321 BLOCK USAGE".
322         <pack-type> ::= "PRIMARY PACK" or "SECONDARY PACK"
323         <pack-number> ::= a fixed point number
324         <n> ::= a fixed point number
325 Occurrences of `<n> BLOCKS' are in the form of a Macsyma multiplication
326 between a fixnum <n> and the Macsyma symbol BLOCKS.
328 @end defun
329 @defun DIRECTORY(path)
330 List files in path.   Path may be something like "/home/wfs/*.mac"
333 @end defun
334 @defun LOGOUT 
335 () - causes the user to be logged out and all jobs deleted.
336 This is useful when it is desired to BATCH in a file and have the
337 terminal logged out automatically when the computations are finished.
338 This causes the process which invoked MACSYMA to execute a LOGOUT
339 command.
341 @end defun
342 @defun MAIL 
343 ("message") will send mail to MACSYMA.  This may be used to report
344 problems or bugs.
345 MAIL(username,"message") will send mail to a specific user.
346 Expressions may be included by referring to them, outside double
347 quotes, when (and only when) a username is given, e.g.
348 MAIL(ELLEN,"I am trying to integrate",%o3,"but it asks for more list
349 space.  What should I do?");
350 Not supported yet in NIL Macsyma.
352 @end defun
353 @defun MAKE_INDEX_FILE 
354 ("filename"); will parse a batch file without
355 evaluating it.  This is useful for debugging init files.  See
356 DESCRIBE(init); and DESCRIBE(OPEN_INDEX_FILE);.
358 @end defun
359 @defvar MOREWAIT
360  default: [FALSE] - Controls the action of more processing.
361 Currently in NIL Macsyma, the setting of this has no effect.
362 When output is suspended and a --Pause-- or --More Display?-- prompt
363 is issued, one may type a space to continue the output.  Typing any
364 character other than space or rubout (delete) will continue the output,
365 and leave the character around to be read as part of the next c-line
366 and possibly intervening --Pause-- prompts.
368 @end defvar
371 @end defun
373 @end defun
374 @defvar PAGEPAUSE
375  default: [] - This is set by MACSYMA according to what the
376 system knows about your terminal type.  If it is set to TRUE, then
377 "more" processing, which involves the printing of --More display?-- or
378 --Pause-- at the bottom of your screen or after so many lines on a
379 printing terminal, and pausing, will be enabled.  It may be set to
380 FALSE to turn off the "more" processing on a display terminal.
381 PAGEPAUSE is sometimes useful in batch files on slow lines where you
382 just wish to watch the output run past, and can keep up with the line
383 speed well enough.
385 @end defvar
386 @defun PAUSE 
387 () - Causes the display to "pause", printing "--Pause--" and
388 waiting for the usual "space" for "yes" to resume printing.  Then it
389 clears the screen and continues.  PAUSE("--Something else--"); will
390 use "--Something else--" as the string printed instead of "--Pause--".
391 PAUSE("--Something else--","--And some more--"); will use "--Something
392 else--" instead of "--Pause--" and "--And some more--" instead of
393 "--Continued--".
395 @end defun
397 @defun RENAMEFILE 
398 (oldfilename, newfilename) - Gives a new name to a file.
399 Oldfilename may name any file. It should use the list filename format
400 - eg, [MYOLD,FILE,DSK,USERS5].  Newfilename must be a filename on the
401 same device and directory.  Hence only filename1 and filename2 should
402 be specified.  For example, [MYNEW,FILE].  Attempting to change the
403 name of a file that does not exist, or to rename a file to the name of
404 a file that exists already will generate an error; hence, it is not
405 possible to inadvertently destroy a file using this command.
407 @end defun
409 @defun TAG_FILE_INSERT 
410 (file-to-insert-into, file-to-insert) - Inserts a file
411 created by the translator into a multiple entry tags file.
413 @end defun
414 @defun TIMEDATE 
415 () prints out the current date and time.
417 @end defun
419 @defvar VERSION
420  default: [5,4,"Wed Oct ..."] - are the major and minor versions of MAXIMA.
421 This could be useful if the user wants to label his output, or to associate
422 bugs with a particular version.
424 @end defvar
426 @c BEGIN ITEMS CUT FROM Input.texi 20041031
427 @defun BACKUP ()
428 To "back up" and see what you did, see PLAYBACK.
430 @end defun
432 @defvar BATCHKILL
433  default: [FALSE] if TRUE then the effect of all previous
434 BATCH files is nullified because a KILL(ALL) and a RESET() will be
435 done automatically when the next one is read in.  If BATCHKILL is
436 bound to any other atom then a KILL of the value of BATCHKILL will be
437 done.
439 @end defvar
441 @defun BATCON (argument)
442 continues BATCHing in a file which was interrupted.
444 @end defun
446 @defvar BATCOUNT
447  default: [0] may be set to the number of the last expression
448 BATCHed in from a file.  Thus BATCON(BATCOUNT-1) will resume BATCHing
449 from the expression before the last BATCHed in from before.
451 @end defvar
453 @defvar CHANGE_FILEDEFAULTS
454  default: [TRUE] on PDP10 systems, and FALSE
455 elsewhere.  Controls whether the user doing a LOADFILE or BATCH has
456 his file defaults changed to the file LOADFILEd or BATCHed.  The TRUE
457 setting is for people who like DDT-style file defaulting.  The FALSE
458 setting is for people who like the conventions of other operating
459 systems, who like LISP-style file defaulting, or who write packages
460 which do LOADFILEs or BATCHes which should not interfere with their
461 user's file defaults.
463 @end defvar
465 @defvar DIREC
466  - The value of this variable is the default file directory for
467 SAVE, STORE, FASSAVE, and STRINGOUT.  It is initialized to the user's
468 login name, if he has a disk directory, and to one of the USERSi
469 directories otherwise.  DIREC determines to what directory disk files
470 will be written.
472 @end defvar
474 @defvar DSKALL
475  default: [] If TRUE will cause values, functions, arrays, and
476 rules to be written periodically onto the disk in addition to labelled
477 expressions.  TRUE is the default value whereas if DSKALL is FALSE
478 then only labelled expresions will be written.
480 @end defvar
482 @defvar FILENAME
483  default: [] - The value of this variable is the first name
484 of the files which are generated by the automatic disk storage scheme.
485 The default value is the first three characters of the user's login
486 name concatenated with the lowest unused integer, e.g. ECR1.
488 @end defvar
490 @defvar FILENUM
491  default: [0] - The default second file name for files generated
492 by SAVE, STRINGOUT, or FASSAVE if no file names are specified by the
493 user.  It is an integer, and is incremented by one each time a new file
494 is written.
496 @end defvar
498 @defvar FILE_STRING_PRINT
499  default: [FALSE] on MC, [TRUE] elsewhere.  If
500 TRUE, filenames are output as strings; if FALSE, as lists.  For
501 example, the message when an out of core file is loaded into
502 MACSYMA (e.g. the LIMIT package), appears on MC in list format as
503   LIMIT FASL DSK MACSYM being loaded
504 and in string format as:
505   DSK:MACSYM;LIMIT FASL being loaded
506 The string format is like the top level (DDT) file specifications.
508 @end defvar
510 @defvar LINEDISP
511  default: [TRUE] - Allows the use of line graphics in the
512 drawing of equations on those systems which support them (e.g. the
513 Lisp Machine).  This can be disabled by setting LINEDISP to FALSE.  It
514 is automatically disabled during WRITEFILE.
516 @end defvar
518 @defun NOSTRING (arg)
519 displays all input lines when playing back rather than
520 STRINGing them.  If arg is GRIND then the display will be in a more
521 readable format.  One may include any number of options as in
522 PLAYBACK([5,10],20,TIME,SLOW).
524 @end defun
526 @defvar PARSEWINDOW
527  default:[10] - the maximum number of "lexical tokens"
528 that are printed out on each side of the error-point when a syntax
529 (parsing) error occurs.  This option is especially useful on slow
530 terminals.  Setting it to -1 causes the entire input string to be
531 printed out when an error occurs.
533 @end defvar
535 @defun SPRINT (exp1, exp2, ...)
536 evaluates and displays its arguments one
537 after the other "on a line" starting at the leftmost position.  The
538 numbers are printed with the '-' right next to the number, and
539 it disregards line length.   
540 @end defun
541 @c END ITEMS CUT FROM Input.texi 20041031
543 @c BEGIN TEXT RECENTLY (200410) CUT FROM doc/info/Program.texi
544 @defun LISPDEBUGMODE ()
545 LISPDEBUGMODE(); DEBUGPRINTMODE(); and DEBUG();
546 make available to the user debugging features used by systems
547 programmers.  These tools are powerful, and although some conventions
548 are different from the usual macsyma level it is felt their use is
549 very intuitive.  [Some printout may be verbose for slow terminals,
550 there are switches for controlling this.]  These commands were
551 designed for the user who must debug translated macsyma code, as such
552 they are a boon.  See MACDOC;TRDEBG USAGE for more information.
554 @end defun
555 @c END TEXT RECENTLY (200410) CUT FROM doc/info/Program.texi
557 @c BEGIN TEXT RECENTLY (200410) CUT FROM doc/info/Command.texi
558 @defvar LASTTIME
559  - the time to compute the last expression in milliseconds
560 presented as a list of "time" and "gctime".
562 @end defvar
564 @defun TOBREAK ()
565 causes the MACSYMA break which was left by typing
566 TOPLEVEL; to be re-entered.  If TOBREAK is given any argument
567 whatsoever, then the break will be exited, which is equivalent to
568 typing TOBREAK() immediately followed by EXIT;.
570 @end defun
572 @defun TOPLEVEL ()
573 During a break one may type TOPLEVEL;.  This will cause
574 top-level MACSYMA to be entered recursively.  Labels will now be bound
575 as usual.  Everything will be identical to the previous top-level
576 state except that the computation which was interrupted is saved.  The
577 function TOBREAK() will cause the break which was left by typing
578 TOPLEVEL; to be re-entered.  If TOBREAK is given any argument
579 whatsoever, then the break will be exited, which is equivalent to
580 typing TOBREAK() immediately followed by EXIT;.
582 @end defun
584 @defvar TTYINTFUN
585  default: [FALSE] - Governs the function which will be run
586 whenever the User-interrupt-character is typed.  To use this feature,
587 one sets TTYINTFUN (default FALSE meaning feature not in use) to a
588 function of no arguments.  Then whenever (e.g.) ^U (control-U) is
589 typed, this function is run.  E.g. suppose you have a FOR statement
590 loop which increments I, and you want an easy way of checking on the
591 value of I while the FOR statement is running.  You can do:
592 TTYINTFUN:PRINTI$ PRINTI():=PRINT(I)$ , then whenever you type (e.g.)
593 ^U you get the check you want.
595 @end defvar
597 @defvar TTYINTNUM
598  default: [21] (the ascii value of Control-U (^U), U being
599 the 21st letter of the alphabet).  This controls what character
600 becomes the User-interrupt-character.  ^U was chosen for it mnemonic
601 value.  Most users should not reset TTYINTNUM unless they are already
602 using ^U for something else.
604 @end defvar
605 @c END TEXT RECENTLY (200410) CUT FROM doc/info/Command.texi
607 @c BEGIN TEXT RECENTLY (200410) CUT FROM doc/info/Runtime.texi
608 @defun CONTINUE
609  - Control-^ typed while in MACSYMA causes LISP to be
610 entered.  The user can now type any LISP S-expression and have it
611 evaluated.  Typing (CONTINUE) or ^G (control-G) causes MACSYMA to be
612 re-entered.
614 @end defun
616 @defun ALARMCLOCK (arg1, arg2, arg3)
617 will execute the function of no
618 arguments whose name is arg3 when the time specified by arg1 and arg2
619 elapses.  If arg1 is the atom "TIME" then arg3 will be executed after
620 arg2 seconds of real-time has elapsed while if arg1 is the atom
621 "RUNTIME" then arg3 will be executed after arg2 milliseconds of cpu
622 time. If arg2 is negative then the arg1 timer is shut off.
624 @end defun
626 @defun ALLOC
627  takes any number of arguments which are the same as the replies
628 to the "run out of space" question.  It increases allocations
629 accordingly.  E.g. If the user knows initially that his problem will
630 require much space, he can say ALLOC(4); to allocate the maximum
631 amount initially.  See also the DYNAMALLOC switch.
633 @end defun
635 @defun BUG ("message")
636 similar to mail, sends a message to MACSYMA Mail.
637 This may be used for reporting bugs or suspected bugs in MACSYMA.
638 Expressions may be included by referring to them, outside double
639 quotes, e.g.
640 BUG("I am trying to integrate",%o3,"but it asks for more list space.
641 What should I do?");
643 @end defun
645 @defun DDT ()
646 Exits from MACSYMA to the operating system level.  (The same
647 as control-Z on ITS, or control-C on Tops-20.)
649 @end defun
651 @defun DELFILE (file-specification)
652 will delete the file given by the
653 file-specification (i.e. firstname, secondname, device, user) from the
654 given device.
656 @end defun
658 @defun DISKFREE ()
659 With no args or an arg of TRUE, will return the total
660 number of free blocks of disk space in the system.  With an arg of 0,
661 1, or 13, it will return the number of free blocks of diskspace on the
662 respective disk pack.  With an arg of SECONDARY or PRIMARY, it will
663 return the total number of free blocks of disk space on the secondary
664 or primary disk pack respectively.
666 @end defun
667 @c END TEXT RECENTLY (200410) CUT FROM doc/info/Runtime.texi
669 @defun FASSAVE (args)
670 is similar to SAVE but produces a FASL file in which
671 the sharing of subexpressions which are shared in core is preserved in
672 the file created.  Hence, expressions which have common subexpressions
673 will consume less space when loaded back from a file created by
674 FASSAVE rather than by SAVE.  Files created with FASSAVE are reloaded
675 using LOADFILE, just as files created with SAVE.  FASSAVE returns a
676 list of the form [<name of file>,<size of file in blocks>,...] where
677 ...  are the things saved.  Warnings are printed out in the case of
678 large files.  FASSAVE may be used while a WRITEFILE is in progress.
680 @end defun
682 @node OPTIMIZATION, Definitions for Function Definition, MACROS, Function Definition
683 @section OPTIMIZATION
685 The optimu files no longer exist in Maxima.  The documentation is left 
686 here for historical purposes.
688 When using TRANSLATE and generating code with MACSYMA,
689 there are a number of techniques which can save time and be helpful.
690 Do DEMO("optimu.dem") for a demonstration.  In particular, the
691 function FLOATDEFUNK from TRANSL;OPTIMU FASL, creates a function
692 definition from a math-like expression, but it optimizes it (with
693 OPTIMIZE) and puts in the MODE_DECLAREations needed to COMPILE
694 correctly. (This can be done by hand, of course).  The demo will only
695 run in a fresh macsyma.
697 @c @node ODE
698 @c @unnumberedsec phony
699 @defun ODE (equation,y,x)
700 This no longer exists in Maxima.  The documentation is left here for
701 historical purposes.
703 a pot-pourri of Ordinary Differential solvers
704 combined in such a way as to attempt more and more difficult methods
705 as each fails. For example, the first attempt is with ODE2, so
706 therefore, a user using ODE can assume he has all the capabilities of
707 ODE2 at the very beginning and if he has been using ODE2 in programs
708 they will still run if he substitutes ODE (the returned values, and
709 calling sequence are identical).
710 In addition, ODE has a number of user features which can assist an
711 experienced ODE solver if the basic system cannot handle the equation.
712 The equation is of the same form as required for ODE2 (which see) and
713 the y and x are dependent and independent variables, as with ODE2.
714 For more details, do PRINTFILE(ODE,USAGE,SHARE); .
716 @end defun
717 @c @node ZRPOLY
718 @c @unnumberedsec phony
719 @defun ZRPOLY
720  - This is no longer available in Maxima. See ALLROOTS for a function
721    to compute the roots of a polynomial.
723 @c @node ZSOLVE
724 @c @unnumberedsec phony
725 @defun ZSOLVE
726  This is not available with Maxima anymore.  Documentation is left for
727  historical purposes.
729  - For those who can make use of approximate numerical
730 solutions to problems, there is a package which calls a routine which
731 has been translated from the IMSL fortran library to solve N
732 simultaneous non-linear equations in N unknowns.  It uses black-box
733 techniques that probably aren't desirable if an exact solution can be
734 obtained from one of the smarter solvers (LINSOLVE, ALGSYS, etc).  But
735 for things that the other solvers don't attempt to handle, this can
736 probably give some very useful results.  For documentation, do
737 PRINTFILE("zsolve.usg");.  For a demo do
738 batch("zsolve.mc")$
740 @end defun
741 @section DCADRE
742 The following is obsolete and does not exist in Maxima 5.9.  We leave
743 the documentation here for historical purposes.
745 To make an interface to fortran
746 libraries in the current Maxima look at the examples in
747 "maxima/src/fortdef.lsp"
748  - The IMSL version of Romberg integration is now available in
749 Maxima.  For documentation, Do PRINTFILE(DCADRE,USAGE,IMSL1); .  For
750 a demo, do batch("dcadre.mc");
751 This is a numerical integration package using cautious, adaptive
752 Romberg extrapolation.
753 The DCADRE package is written to call the IMSL fortran library routine
754 DCADRE. This is documentation for that program. Send bugs/comments to
756 To load this package, do 
757 @example
758   LOADFILE("imsl")$
759 @end example
760 For a demo of this package, do
761 @example
762   batch("dcadre.mc");
763 @end example
764 The worker function takes the following syntax:
765 IMSL_ROMBERG(fn,low,hi)
766 where fn is a function of 1 argument; low and hi should be the lower and
767 upper bounds of integration. fn must return floating point values.
768 IMSL_ROMBERG(exp,var,low,hi)
769   where exp should be integrated over the range var=low to hi. The result
770   of evaluating exp must always be a floating point number.
771 FAST_IMSL_ROMBERG(fn,low,hi)
772   This function does no error checking but may achieve a speed gain over
773   the IMSL_ROMBERG function. It expects that fn is a Lisp function (or
774   translated Maxima function) which accepts a floating point argument 
775   and that it always returns a floating point value.
776            
777 Returns either
778  [SUCCESS, answer, error] where answer is the result of the integration and
779   error is the estimated bound on the absolute error of the output, DCADRE,
780   as described in PURPOSE below.
782  [WARNING, n, answer, error] where n is a warning code, answer is the answer,
783   and error is the estimated bound on the absolute error of the output, DCADRE,
784   as described in PURPOSE below. The following warnings may occur:
785      65 = One or more singularities were successfully handled.
786      66 = In some subinterval(s), the estimate of the integral was accepted
787           merely because the estimated error was small, even though no regular
788           behavior was recognized.
790  [ERROR, errorcode] where error code is the IMSL-generated 
791    error code. The following error codes may occur:
792      131 = Failure due to insufficient internal working storage.
793      132 = Failure. This may be due to too much noise in function 
794            (relative to the given error requirements) or due to an
795            ill-behaved integrand.
796      133 = RERR is greater than 0.1 or less than 0.0 or is too small
797            for the precision of the machine.
798   
799 The following flags have an influence upon the operation of IMSL_ROMBERG --
801 ROMBERG_AERR [Default 1.0E-5] -- Desired absolute error in answer.
803 ROMBERG_RERR [Default 0.0] -- Desired relative error in the answer.
805 Note: If IMSL signals an error, a message will be printed on the user's
806         console stating the nature of the error. (This error message 
807         may be supressed by setting IMSLVERBOSE to FALSE.)
809 Note: Because this uses a translated Fortran routine, it may not be
810         recursively invoked. It does not call itself, but the user should
811         be aware that he may not type ^A in the middle of an IMSL_ROMBERG
812         computation, begin another calculation using the same package,
813         and expect to win -- IMSL_ROMBERG will complain if it was already
814         doing one project when you invoke it. This should cause minimal
815         problems.
817 Purpose (modified version of the IMSL documentation)
818 ----------------------------------------------------
820 DCADRE attempts to solve the following problem: Given a real-valued 
821 function F of one argument, two real numbers A and B, find a number
823 DCADRE such that:
825 @example
826 |   / B               |        [                              | / B      | ]
827 |   [                 |        [                              | [        | ]
828 |   I F(x)dx - DCADRE | <= max [ ROMBERG_AERR, ROMBERG_RERR * | I F(x)dx | ]
829 |   ]                 |        [                              | ]        | ]
830 |   / A               |        [                              | / A      | ]
831 @end example
832 Algorithm (modified version of the IMSL documentation)
834 This routine uses a scheme whereby DCADRE is computed as the sum of
835 estimates for the integral of F(x) over suitably chosen subintervals of
836 the given interval of integration. Starting with the interval of
837 integration itself as the first such subinterval, cautious Romberg
838 extrapolation is used to find an acceptable estimate on a given
839 subinterval. If this attempt fails, the subinterval is divided into two
840 subintervals of equal length, each of which is considered separately.
841 Programming Notes (modified version of the IMSL documentation)
843 @itemize @bullet
844 @item
845 1. DCADRE (the translated-Fortran base for IMSL_ROMBERG) can, in many cases,
846    handle jump discontinuities and certain algebraic discontinuities. See 
847    reference for full details.
848 @item
849 2. The relative error parameter ROMBERG_RERR must be in the interval [0.0,0.1].
850    For example, ROMBERG_RERR=0.1 indicates that the estimate of the intergral 
851    is to be correct to one digit, where as ROMBERG_RERR=1.0E-4 calls for four
852    digits of accuracy. If DCADRE determines that the relative accuracy
853    requirement cannot be satisfied, IER is set to 133 (ROMBERG_RERR should be
854    large enough that, when added to 100.0, the result is a number greater than
855    100.0 (this will not be true of very tiny floating point numbers due to
856    the nature of machine arithmetic)).
857 @item
858 3. The absolute error parameter, ROMBERG_AERR, should be nonnegative. In
859    order to give a reasonable value for ROMBERG_AERR, the user must know 
860    the approximate magnitude of the integral being computed. In many cases,
861    it is satisfactory to use AERR=0.0. In this case, only the relative error
862    requirement is satisfied in the compuatation.
863 @item
864 4. We quote from the reference, ``A very cautious man would accept DCADRE 
865    only if IER [the warning or error code] is 0 or 65. The merely reasonable
866    man would keep the faith even if IER is 66. The adventurous man is quite 
867    often right in accepting DCADRE even if the IER is 131 or 132.'' Even when
868    IER is not 0, DCADRE returns the best estimate that has been computed.
869 @end itemize
871 For references on this technique, see
872 de Boor, Calr, ``CADRE: An Algorithm for Numerical Quadrature,''
873   Mathematical Software (John R. Rice, Ed.), New York, Academic Press,
874   1971, Chapter 7.
876 @section GAMALG
877  - A Dirac gamma matrix algebra program which takes traces of
878 and does manipulations on gamma matrices in n dimensions.  It may be
879 loaded into Maxima by 
880 LOADFILE("gam");
881 A preliminary manual is contained in the file SHARE;GAM USAGE and may
882 be printed using
883 PRINTFILE(GAM,USAGE,SHARE);