1 ;;; -*- Mode: Lisp; Package: Maxima; Syntax: Common-Lisp; Base: 10 -*- ;;;;
2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3 ;;; The data in this file contains enhancments. ;;;;;
5 ;;; Copyright (c) 1984,1987 by William Schelter,University of Texas ;;;;;
6 ;;; All rights reserved ;;;;;
7 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9 ;;; (c) Copyright 1980, Massachusetts Institute of Technology
13 (macsyma-module option
)
15 (declare-top (special options history
))
17 (defmspec $options
(x)
20 (princ "`options' interpreter (Type `exit' to exit.)")
21 (mterpri) (options '$all
))
22 ((nonsymchk (car x
) 'options
))
23 (t (cons '(mlist) (downs (car x
))))))
27 (cond ((eq '$exit ans
) (return '$done
))
28 ((or (eq '$up ans
) (eq '$back ans
))
29 (setq ans
(cadr history
) history
(cddr history
))
30 (down (if (null ans
) '$all ans
)))
31 ((eq '$top ans
) (options '$all
))
32 ((atom ans
) (down ans
))
33 ((or (eq '$down
(caar ans
)) (eq '$options
(caar ans
)))
35 ((eq '$describe
(caar ans
))
36 (cl-info::info-exact
(print-invert-case (stripdollar (decode (cadr ans
))))))
38 (setq ans
(retrieve ": " nil
))))
40 (defun down (node &aux opts
)
41 (setq node
(decode node
) opts
(downs node
))
42 (cond ((null opts
) (princ "No options") (mterpri))
43 (t (setq history
(cons node history
) options opts
)
46 (defun up (node &aux opts
)
47 (setq node
(decode node
) opts
(ups node
))
48 (cond ((null opts
) (princ "No options") (mterpri))
49 (t (setq history
(cons node history
) options opts
)
52 (defun downs (node) (zl-get node
'subc
))
54 (defun ups (node) (zl-get node
'supc
))
57 (cond ((not (integerp node
)) node
)
58 ((or (zerop node
) (null (setq node
(nthcdr (1- node
) options
)))) (nor-err))
62 (do ((l opts
(cdr l
)) (i 1 (f1+ i
))) ((null l
))
63 (princ i
) (princ " - ") (princ (fullstrip1 (car l
)))
64 (cond ((zl-get (car l
) 'kind
) (write-char #\space
) (princ (zl-get (car l
) 'kind
))))
68 (defun opt-err () (princ "Illegal command to `options'") (mterpri))
70 (defun nor-err () (princ "Number out of range") (mterpri))
72 (defmacro subc
(a b
&rest l
)
73 `(subc-internal '(,a
,b
,@l
)))
75 (defun subc-internal (x)
76 (putprop (car x
) (cadr x
) 'kind
)
77 (putprop (car x
) (cddr x
) 'subc
))
79 (defmacro supc
(a b
&rest l
)
80 `(supc-internal '(,a
,b
,@l
)))
82 (defun supc-internal (x)
83 (putprop (car x
) (cadr x
) 'kind
)
84 (putprop (car x
) (cddr x
) 'supc
))
86 (defun printnet () (prnet '$all
0) nil
)
88 (defun prnet (node indent
)
93 (princ (fullstrip1 node
))
94 (cond ((zl-get node
'kind
) (write-char #\space
) (princ (zl-get node
'kind
))))
95 (mapc #'(lambda (l) (prnet l
(1+ indent
))) (downs node
)))
97 ;;Copyright 1980, Massachusetts Institute of Technology
98 (subc $all
() $interaction $debugging $evaluation $lists $matrices
99 $simplification $representations $plotting $translation
100 $pattern-matching $tensors
)
106 (subc $alarmclock
(c))
116 (subc $appendfile
(c))
120 (supc $apropos
(c) $user-aids $general-info
)
122 (subc $arrays
() $array
)
128 (subc $arrayinfo
(c))
130 (subc $arraymake
(c))
140 (subc $augcoefmatrix
(c))
142 (subc $automatic
() $trigexpand $triginverses $trigsign $exponentialize
143 $logarc $demoivre $logexpand $radexpand
)
159 (supc $bftrunc
(s) $display
)
173 (subc $changevar
(c))
183 (subc $closefile
(c))
187 (subc $coefmatrix
(c))
197 (subc $command-files
(c) $batch $batcon $demo
)
201 (subc $complex
() $realpart $imagpart $rectform $polarform $cabs
)
205 (subc $constantp
(c))
215 (subc $copymatrix
(c) $ratmx $sparse $listarith $detout $doallmxops
216 $domxmxops $doscmxplus $scalarmatrixp
)
218 (subc $curvature
() $scurvature $riemann $raiseriemann $rinvariant $weyl
223 (subc $debugmode
(c))
235 (subc $deftaylor
(c))
237 (subc $debugging
() $trace $debug $debugmode $break $bindtest $optionset
)
241 (supc $derivabbrev
(s) $display
)
253 (subc $dependencies
(v))
255 (subc $derivdegree
(c))
257 (subc $determinant
(c))
261 (subc $diagmatrix
(c))
263 (subc $diff
(c) $dependencies $gradef
)
265 (subc $display
(c) $powerdisp $sqrtdispflag $stardisp $derivabbrev
266 $exptdispflag $%edispflag $bftrunc $pfeformat
275 (subc $dispterms
(c))
285 (subc $editing
() $macsyma-line-editor $teco
)
287 (supc $%edispflag
(s) $display
)
291 (subc $einstein
(c) $rateinstein $facrat
)
297 (subc $entermatrix
(c) $ratmx $sparse $listarith $detout $doallmxops
298 $domxmxops $doscmxplus $scalarmatrixp
)
314 (subc $explicit
() $tsetup $quantities $curvature
)
320 (subc $expand
(c) $maxposex $maxnegex
)
322 (subc $expansion
() $expand $ratexpand
)
324 (supc $exponentialize
(s) $ev $simplification
)
326 (supc $exptdispflag
(s) $display
)
328 (subc $ev
(c) $exponentialize $%iargs $logarc $%piargs $trigsign
331 (subc $evaluation
() $variable $function $array $simp
)
333 (supc $facrat
(s) $einstein $reimann $weyl
)
337 (subc $factor
(c) $ratvars
)
339 (subc $factorsum
(c) $ratvars
)
341 (subc $factoring
() $factor $gfactor $factorsum $gfactorsum $sqfr $partition
)
345 (subc $fasttimes
(c))
353 (subc $floatnump
(c))
361 (subc $files
() $file-creation $file-deletion $save-files $command-files
)
363 (subc $file-creation
() $appendfile $closefile $fassave $store
366 (subc $file-deletion
() $defile $remfile
)
368 (subc $fullmap
(c) $maperror $maprat
)
370 (subc $fullmapl
(c) $maperror $maprat
)
372 (subc $functions
(v))
378 (subc $general-info
() $describe $example $options $primer $apropos
)
382 (subc $genmatrix
(c) $ratmx $sparse $listarith $detout $doallmxops
383 $domxmxops $doscmxplus $scalarmatrixp
)
389 (subc $gfactor
(c) $ratvars
)
391 (subc $gfactorsum
(c) $ratvars
)
397 (subc $graph
(c) $plotheight $linel
)
403 (supc $%iargs
(s) $ev $simplification
)
419 (subc $integrate
(c))
425 (subc $input
() $syntax $editing $retrieve $read $inchar
)
427 (subc $interaction
() $input $output $files $information $user-aids
430 (subc $infolists
(v))
432 (subc $information
() $general-info $specific-info $information-lists
)
434 (subc $information-lists
() $infolists $myoptions $aliases $labels
435 $labels $values $functions $rules $props
436 $matchdeclares $modedeclares $arrays
437 $gradefs $dependencies
)
438 (subc $is
(c) $prederror
)
474 (supc $linel
(v) $display $plot $graph $multigraph $paramplot
)
476 (subc $lists
() $cons $endcons $append $member $reverse $first $rest
477 $last $delete $length $mapping
)
479 (supc $listarith
(s) $entermatrix $matrix $genmatrix $copymatrix
480 $addrow $transpose $echelon $triangularize
481 $rank $determinant $charpoly
)
485 (subc $listofvars
(c))
503 (subc $lriccicom
(c))
505 (supc $logarc
(s) $ev $simplification
)
507 (subc $macsyma-line-editor
())
511 (subc $makenonscalar
(c))
513 (subc $map
(c) $maperror $maprat
)
515 (subc $maplist
(c) $maperror $maprat
)
517 (supc $maperror
(s) $map $maplist $fullmap $fullmapl
)
519 (subc $mapping
() $map $maplist $fullmap $fullmapl $scanmap
)
521 (supc $maprat
(s) $map $maplist $fullmap $fullmapl
)
523 (subc $matchdeclares
(v))
525 (subc $matchdeclare
(c))
529 (subc $matrices
() $matrix-construction $matrix-manipulation
)
531 (subc $matrix-construction
() $entermatrix $matrix $genmatrix $copymatrix
534 (subc $matrix-manipulation
() $transpose $echelon $triangularize
535 $rank $determinant $charpoly
)
537 (subc $matrix
(c) $ratmx $sparse $listarith $detout $doallmxops
538 $domxmxops $doscmxplus $scalarmatrixp
)
540 (subc $matrixmap
(c))
546 (subc $maxnegex
(s) $expand
)
548 (subc $maxposex
(s) $expand
)
554 (subc $minfactorial
(c))
560 (subc $modedeclare
(c))
562 (subc $modedeclares
(v))
566 (subc $multigraph
(c) $plotheight $linel
)
570 (subc $myoptions
(v))
576 (subc $nonscalarp
(c))
582 (supc $nolabels
(s) $display
)
584 (supc $noundisp
(s) $display
)
592 (subc $ntermsrci
(c))
600 (subc $numfactor
(c))
604 (subc $options
(c) $down $up $back $describe $exit
)
606 (subc $ordergreat
(c))
608 (subc $orderless
(c))
610 (subc $other-transformations
() $trigreduce $trigexpand $factcomb $logcontract
)
612 (subc $outofpois
(c))
616 (subc $output
() $print $display $outchar
)
618 (subc $paramplot
(c) $plotheight $linel
)
620 (subc $part-functions
() $part $inpart $lhs $rhs %num $denom $coeff $$first
621 $rest $last $ratcoef
)
627 (subc $partition
(c) $ratvars
)
629 (supc $pfeformat
(s) $display
)
631 (supc $%piargs
(s) $ev $simplification
)
633 (subc $pickapart
(c))
639 (subc $plot
(c) $plotheight $linel
)
641 (supc $plotheight
(v) $plot $graph $multigraph $paramplot
)
643 (subc $plotting
() $plot $graph $multigraph $paramplot
)
657 (subc $poissubst
(c))
659 (subc $poistimes
(c))
663 (subc $polarform
(c))
669 (supc $powerdisp
(s) $display
)
671 (subc $powerseries
(c))
673 (supc $prederror
(s) $is
)
675 (subc $predicates
() $is $zeroequiv $assume $forget
)
683 (subc $printpois
(c))
685 (subc $printprops
(c))
691 (subc $properties
(c))
701 (subc $quantities
() $christof $motion $riccicom $ntermsrci $lriccicom
712 (subc $raiseriemann
(c))
726 (subc $ratdisrep
(c))
728 (supc $rateinstein
(s) $einstein
)
730 (subc $ratexpand
(c))
732 (subc $rational
() $expand $multthru $xthru $combine $factor $factorsum
733 $factorout $sqfr $ratsimp $partfrac
)
735 (supc $ratmx
(s) $entermatrix $matrix $genmatrix $copymatrix
736 $addrow $transpose $echelon $triangularize
737 $rank $determinant $charpoly
)
745 (supc $ratriemann
(s) $riemann
)
753 (subc $ratweight
(c))
755 (supc $ratweyl
(s) $weyl
)
761 (subc $realroots
(c))
767 (subc $remainder
(c))
777 (subc $remfunction
(c))
797 (subc $representations
() $general $cre $transformations $substitutions
806 (subc $resultant
(c))
814 (subc $riemann
(c) $ratriemann $facrat
)
816 (subc $rinvarient
(c))
824 (subc $save-files
(c) $loadfile $restore
)
830 (subc $scurvature
(c))
848 (subc $simplification
() $automatic $simp-rules
)
852 (supc $sparse
(s) $entermatrix $matrix $genmatrix $copymatrix
853 $addrow $transpose $echelon $triangularize
854 $rank $determinant $charpoly
)
856 (subc $specific-info
() $trace $untrace $grind $disprule $properties
857 $printprops $playback $dispfun $arrayinfo
)
859 (subc $sqfr
(c) $ratvars
)
871 (subc $stringout
(c))
873 (subc $submatrix
(c))
877 (subc $substinpart
(c))
879 (subc $substitutions
() $subst $ratsubst $substpart $substinpart
)
881 (subc $substpart
(c))
887 (subc $syntax
() $prefix $infix $postfix $nary $matchfix $nofix $symbol
)
895 (subc $tellsimpafter
(c))
897 (subc $tensors
() $explicit $indicial
)
905 (subc $totaldisrep
(c))
907 (subc $trace
(c) $untrace $remtrace
)
909 (subc $transformations
() $rational $other-transformations
)
911 (subc $translate
(c) $transrun $modedeclare
)
913 (subc $transpose
(c))
915 (supc $transrun
(s) $evaluation
)
917 (subc $triangularize
(c))
919 (subc $trig
() $trigswitches $trigexpand $trigreduce
)
921 (subc $trigexpand
(c s
))
923 (supc $triginverses
(s) $ev $simplification
)
925 (subc $trigreduce
(c))
927 (supc $trigsign
(s) $ev $simplification
)
929 (subc $trigswitches
() $%piargs $%iargs $triginverses $trigsign
930 $exponentialize $logarc
)
936 (subc $simplification
() $expansion $factoring $trig
)
938 (subc $solve
(c) $solvefactors $solveradcan
)
940 (supc $solvefactors
(s) $solve
)
942 (supc $solveradcan
(s) $solve
)
944 (supc $sqrtdispflag
(s) $display
)
946 (supc $stardisp
(s) $display
)
948 (subc $translation
() $translate $compfile $modedeclare
)
950 (subc $trigfunction
() %sin %cos %tan %cot %csc %sec
951 %asin %acos %atan %acot %acsc %asec
952 %sinh %cosh %tanh %coth %csch %sech
953 %asinh %acosh %atanh %acoth %acsch %asech
)
957 (subc $universals
() $timedate $who $bug $mail $send
)
965 (subc $user-aids
() $primer $describe $options $example $apropos $visual-aids
)
971 (subc $visual-aids
() $reveal $isolate $pickapart
)
973 (subc $weyl
(c) $ratweyl $facrat
)
975 (subc $writefile
(c))
983 (subc $zeroequiv
(c))
985 (subc %sin
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
986 $trigexpand $exponentialize $halfangles $trigsign
989 (subc %cos
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
990 $trigexpand $exponentialize $halfangles $trigsign
993 (subc %tan
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
994 $trigexpand $exponentialize $halfangles $trigsign
997 (subc %cot
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
998 $trigexpand $exponentialize $halfangles $trigsign
1001 (subc %csc
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1002 $trigexpand $exponentialize $halfangles $trigsign
1005 (subc %sec
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1006 $trigexpand $exponentialize $halfangles $trigsign
1009 (subc %asin
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1012 (subc %acos
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1015 (subc %atan
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1018 (subc %acot
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1021 (subc %acsc
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1024 (subc %asec
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1027 (subc %sinh
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1028 $trigexpand $exponentialize $halfangles $trigsign
)
1030 (subc %cosh
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1031 $trigexpand $exponentialize $halfangles $trigsign
)
1033 (subc %tanh
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1034 $trigexpand $exponentialize $halfangles $trigsign
)
1036 (subc %coth
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1037 $trigexpand $exponentialize $halfangles $trigsign
)
1039 (subc %csch
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1040 $trigexpand $exponentialize $halfangles $trigsign
)
1042 (subc %sech
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1043 $trigexpand $exponentialize $halfangles $trigsign
)
1045 (subc %asinh
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1048 (subc %acosh
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1051 (subc %atanh
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1054 (subc %acoth
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1057 (subc %acsch
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1060 (subc %asech
(c) $float $numer $bfloat $%piargs $%iargs $triginverses
1063 (subc |.|
(c) $dotassoc $dotscrules $dotconstrules $dotexptsimp
1064 $dotdistrib $assumescalar
)