MAXIMA(1L) | MAXIMA(1L) |
ÍÀÇÂÀÍÈÅ
Maxima - Common Lisp âåðñèÿ ñèìâîëüíîãî ìàòåìàòè÷åñêîãî ïàêåòà MACSYMA, âûïóùåííîãî ïîä Îáùåñòâåííîé ëèöåíçèåé GNU
Xmaxima - ãðàôè÷åñêàÿ âåðñèÿ maxima
ÊÐÀÒÊÀß ÑÂÎÄÊÀ
maxima [options]
xmaxima [options]
ÎÏÈÑÀÍÈÅ
Maxima - ìîäèôèöèðîâàííàÿ äëÿ ðàáîòû ïîä Common Lisp âåðñèÿ ñèñòåìû MACSYMA, ðàçðàáîòàííîé â Ìàññà÷óñåòñêîì òåõíîëîãè÷åñêîì èíñòèòóòå. Ýòî äèàëîãîâàÿ ýêñïåðòíàÿ ñèñòåìà è ñðåäà ïðîãðàììèðîâàíèÿ äëÿ ñèìâîëüíûõ è ÷èñëåííûõ ìàòåìàòè÷åñêèõ ïðåîáðàçîâàíèé. Íàïèñàííàÿ íà Lisp, îíà ïîçâîëÿåò äèôôåðåíöèðîâàòü, èíòåãðèðîâàòü, ðåøàòü ëèíåéíûå èëè ïîëèíîìèàëüíûå óðàâíåíèÿ, ïðîèçâîäèòü ôàêòîðèçàöèþ ìíîãî÷ëåíîâ, ðàçëàãàòü ôóíêöèè â ðÿäû Ëîðàíà èëè Òåéëîðà, âû÷èñëÿòü ðÿäû Ïóàññîíà, ïðîèçâîäèòü ìàòðè÷íûå è òåíçîðíûå ïðåîáðàçîâàíèÿ, äâóõìåðíàÿ è òðåõìåðíàÿ ãðàôèêà. Ïðîöåäóðû ìîãóò áûòü çàïèñàíû ñ ïîìîùüþ ALGOL-ïîäîáíîãî ñèíòàêñèñà; ïðåäóñìîòðåíû êàê Lisp-ïîäîáíûå ôóíêöèè, òàê è ñðåäñòâà ñîïîñòàâëåíèÿ ñ îáðàçöîì. Ôàéëû, ñîäåðæàùèå îáúåêòû Maxima, ìîãóò ÷èòàòüñÿ è çàïèñûâàòüñÿ íà äèñê. Ïðåäâàðèòåëüíî çàïèñàííûå êîìàíäû Maxima ìîãóò ÷èòàòüñÿ èç ôàéëà è âûïîëíÿòüñÿ â ïàêåòíîì ðåæèìå.
ÊËÞ×È
- -b file, --batch=file
- Îáðàáîòàòü file â ïàêåòíîì ðåæèìå.
- --batch-lisp=file
- Îáðàáîòàòü Lisp ôàéë file â ïàêåòíîì ðåæèìå.
- --batch-string=string
- Îáðàáîòàòü string â ïàêåòíîì ðåæèìå.
- -d, --directories
- Âûâåñòè èíôîðìàöèþ î äèðåêòîðèÿõ Maxima.
- --disable-readline
- Îòêëþ÷èòü ïîääåðæêó readline.
- -g, --enable-lisp-debugger
- Âêëþ÷èòü Lisp îòëàä÷èê.
- -h, --help
- Âûâåñòè êðàòêóþ èíôîðìàöèþ îá èñïîëüçîâàíèè.
- -l lisp, --lisp=lisp
- Èñïîëüçîâàòü ðåàëèçàöèþ Lisp lisp. Èñïîëüçóéòå --list-avail äëÿ âûâîäà ñïèñêà âîçìîæíûõ çíà÷åíèé.
- --list-avail
- Âûâåñòè ñïèñîê äîñòóïíûõ âåðñèé Lisp è Maxima.
- -p lisp_file, --preload-lisp=lisp_file
- Ïðåäâàðèòåëüíî çàãðóçèòü lisp_file.
- -q, --quiet
- Íå âûâîäèòü ñòàðòîâîå ñîîáùåíèå Maxima.
- -r string, --run-string=string
- Îáðàáîòàòü string â äèàëîãîâîì ðåæèìå Maxima.
- -s port, --server=port
- Çàïóñòèòü ñåðâåð Maxima íà ïîðòó port.
- -u version, --use-version=version
- Çàïóñòèòü Maxima âåðñèè version. Èñïîëüçóéòå --list-avail äëÿ âûâîäà ñïèñêà âîçìîæíûõ çíà÷åíèé.
- -v, --verbose
- Âûâåñòè äîïîëíèòåëüíóþ èíôîðìàöèþ èç ñöåíàðèÿ çàïóñêà Maxima.
- --version
- Âûâåñòè óñòàíîâëåííóþ âåðñèþ (ïî óìîë÷àíèþ).
- --very-quiet
- Íå âûâîäèòü ìåòêè âûðàæåíèé è ñòàðòîâîå ñîîáùåíèå Maxima.
ÂÂÎÄÍÛÅ ÈÍÑÒÐÓÊÖÈÈ
Ïðè èíèöèàëèçàöèè maxima âûâîäèò ñòàðòîâîå ñîîáùåíèå, ïîñëå ÷åãî ïîÿâëÿåòñÿ ïðèãëàøåíèå êîìàíäíîé ñòðîêè:
(%i1)
Âñå êîìàíäû Maxima äîëæíû çàâåðøàòüñÿ:
- 1)
- òî÷êîé ñ çàïÿòîé (â ýòîì ñëó÷àå ðåçóëüòàò âûïîëíåíèÿ êîìàíäû âûâîäèòñÿ íà ýêðàí â ñòðîêå, íà÷èíàþùåéñÿ ñ %o , ê êîòîðîé äîáàâëÿåòñÿ íîìåð êîìàíäû), èëè
- 2)
- çíàêîì äîëëàðà, ïîäàâëÿþùèì ïå÷àòü ñòðîêè ñ ðåçóëüòàòîì.
ÏÐÈÌÅÐ
(%i1) diff(sin(x),x);
(%d1) cos(x)
(%i2) integrate(%o1,x);
(%o2) sin(x)
Ïîëüçîâàòåëü ââîäèò êîìàíäû, ñîçäàþùèå îáúåêòû Maxima (òàêèå êàê ôóíêöèè è ñèñòåìíûå ïåðåìåííûå) è âûïîëíÿþùèå äåéñòâèÿ íàä íèìè.
 UNIX ìîæåò îêàçàòüñÿ ïðåäïî÷òèòåëüíûì çàïóñêàòü Maxima ïîä óïðàâëåíèåì GNU Emacs èëè XEmacs. Ýòî ìîæíî ñäåëàòü âûçâàâ êîìàíäíûé ðåæèì èç emacs, à çàòåì ââåñòè maxima. Æåëàòåëüíî óñòàíîâèòü maxima.el èç äèñòðèáóòèâà è èñïîëüçîâàòü êîìàíäó:
- M-x maxima
Ãëàâíîå ïðåèìóùåñòâî ðàáîòû âíóòðè emacs - òî, ÷òî îí ïðåäîñòàâëÿåò ïîëíóþ èñòîðèþ ââîäà/âûâîäà. Âûïîëíèâ êîìàíäó
- display2d:false ,
Âû ïîëó÷èòå âîçìîæíîñòü èñïîëüçîâàòü âûâîä äëÿ ââîä ñ ïîìîùüþ îïåðàöèé âûðåçêè/âñòàâêè.
Lisp âñòðîåí â Maxima. Ôóíêöèÿ to_lisp() âõîäèò â öèêë ÷òåíèÿ-âû÷èñëåíèÿ-âûâîäà Lisp. Ôóíêöèÿ Lisp (run) ìîæåò èñïîëüçîâàòüñÿ äëÿ âîçâðàòà â Maxima. Êðîìå òîãî, îäèíî÷íûå êîìàíäû Lisp ìîãóò áûòü âûçâàíû ïðè çàïóñêå â êîìàíäíîé ñòðîêå ñ êëþ÷îì :lisp.
ÂÑÒÐÎÅÍÍÀß ÑÏÐÀÂÊÀ
 ñèñòåìó âñòðîåíà îáøèðíàÿ äèàëîãîâàÿ äîêóìåíòàöèÿ. Îïèñàíèå çàäàííîé êîìàíäû ìîæíî ïîëó÷èòü ñ ïîìîùüþ êîìàíäû
describe(command);
èëè, ïðîùå,
? command,
êîòîðàÿ èùåò â ñïèñêå ôóíêöèé ñòðîêó command. Äåìîíñòðàöèîííûå ôàéëû, ïðåäîñòàâëÿþùèå ïîëíûå ïðèìåðû ðåøåíèÿ çàäà÷ ñ ïîìîùüþ Maxima, ìîãóò áûòü âûçâàíû êîìàíäîé demo(command);. Äîïîëíèòåëüíî ïîñòàâëÿåòñÿ áèáëèîòåêà êîìàíäíûõ ôàéëîâ, ñîçäàííûõ ïîëüçîâàòåëÿìè ("ðàçäåëÿåìàÿ áèáëèîòåêà"), ïðåäëàãàþùàÿ ðåøåíèÿ ðàçíîîáðàçíûõ çàäà÷.
ÄÐÓÃÀß ÄÎÊÓÌÅÍÒÀÖÈß
Ïîëíàÿ äîêóìåíòàöèÿ ïîñòàâëÿåòñÿ â ôîðìàòàõ info è html.
ÊÎÌÀÍÄÛ ÄËß ÍÀ×ÈÍÀÞÙÈÕ
Ýòîò ñïèñîê âêëþ÷àåò òîëüêî òå êîìàíäû, êîòîðûå ìîãóò áûòü ïîëåçíû íà÷èíàþùèì ïîëüçîâàòåëÿì, äî èçó÷åíèÿ ñïðàâî÷íîãî ðóêîâîäñòâà.
- batch("myfile");
- Âûïîëíÿåò ñîäåðæèìîå ôàéëà myfile, êîòîðûé äîëæåí ñîäåðæàòü êîìàíäû Maxima.
- closefile("myfile");
- Çàêðûâàåò ôàéëîâûé ñåàíñ, îòêðûòûé êîìàíäîé writefile (ñì. íèæå).
- demo("myfile");
- Âûïîëíÿåò ñîäåðæèìîå ôàéëà myfile, êîòîðûé äîëæåí ñîäåðæàòü êîìàíäû Maxima, ïî îäíîé.
- ev(infolists);
- Âûâîäèò ñîäåðæèìîå âñåõ äîñòóïíûõ èíôîðìàöèîííûõ ñïèñêîâ.
- functions;
- Âûâîäèò ñïèñîê èìåí îïðåäåëåííûõ ê äàííîìó ìîìåíòó ôóíêöèé.
- infolists;
- Âûâîäèò ñïèñîê ðàçëè÷íûõ äîñòóïíûõ èíôîðìàöèîííûõ ñïèñêîâ.
- kill(objectlist);
- Óäàëÿåò îáúåêò(û), çàïèñàííûå âíóòðè êðóãëûõ ñêîáîê. kill(all) óäàëÿåò âñå îáúåêòû, ñîçäàííûå ïîëüçîâàòåëåì, âîññòàíàâëèâàÿ íà÷àëüíîå ñîñòîÿíèå Maxima.
- quit();
- Âûõîä èç Maxima.
- reset();
- Ñáðàñûâàåò âñå óïðàâëÿþùèå ïàðàìåòðû Maxima â çíà÷åíèÿ ïî óìîë÷àíèþ.
- values;
- Âûâîäèò ñïèñîê èìåí ïåðåìåííûõ, ñîäåðæàùèõ ñêàëÿðíûå çíà÷åíèÿ.
- writefile("myfile");
- Íà÷èíàåò çàïèñü ñåàíñà â ôàéë myfile; îäíîâðåìåííî ìîæåò áûòü îòêðûò òîëüêî îäèí ôàéë, à êîìàíäà closefile äîëæíà áûòü âûçâàíà äî âûõîäà èç Maxima äëÿ ñáðîñà áóôåðà.
ÃÐÀÔÈ×ÅÑÊÈÅ ÊÎÌÀÍÄÛ
Maxima ñïîñîáíà ñòðîèòü äâóõìåðíûå è òðåõìåðíûå ãðàôèêè. Íèæå ïðèâåäåíû ïðîñòîé äâóìåðíûé
plot2d (sin(x), [x, -2*%pi, 2*%pi]);
è òðåõìåðíûé ïðèìåðû
plot3d (2^(-u^2+v^2), [u, -5, 5], [v, -7, 7]);
Ïî óìîë÷àíèþ ïîñòðîåíèå ãðàôèêîâ îñóùåñòâëÿåòñÿ ïðîãðàììîé gnuplot . Åñòü è äðóãèå ñïîñîáû ïîñòðîåíèÿ ãðàôèêîâ; ñì. "? plot_options". Äëÿ áîëåå ïîäðîáíîé èíôîðìàöèè î ïîñòðîåíèè ãðàôèêîâ, ñì. "? plot".
ÔÀÉËÛ
- /usr/lib/maxima/5.47.0/binary-lisp
- Ñêîìïèëèðîâàííûå ôàéëû äëÿ ðåàëèçàöèè Lisp lisp
- /usr/info
- ïåðâè÷íûé êàòàëîã äîêóìåíòàöèè, ñîäåðæàùèé info-ôàéëû, èñïîëüçóåìûå êîìàíäîé `describe', ñ âîçìîæíîñòüþ ïðîñìîòðà â emacs è äðóãèõ ïðîãðàììàõ äëÿ ïðîñìîòðà info-ôàéëîâ.
- /usr/share/maxima/5.47.0/doc/html
- HTML-âåðñèÿ äîêóìåíòàöèè.
- /usr/share/maxima/5.47.0/demo
- Äåìîíñòðàöèîííûå ôàéëû Maxima.
- /usr/share/maxima/5.47.0/emacs
- Ôàéëû Elisp äëÿ èñïîëüçîâàíèÿ ñ Emacs èëè XEmacs.
- /usr/share/maxima/5.47.0/share
- Äîïîëíèòåëüíûå âíåøíèå ïàêåòû.
- /usr/share/maxima/5.47.0/doc/share
- Äîêóìåíòàöèÿ äëÿ äîïîëíèòåëüíûõ âíåøíèõ ïàêåòîâ.
- /usr/share/maxima/5.47.0/src
- Ïîëíûå èñõîäíûå òåêñòû Maxima.
- /usr/share/maxima/5.47.0/tests
- Íàáîð òåñòîâ.
- /usr/share/maxima/5.47.0/xmaxima
- Ôàéëû ïîääåðæêè Xmaxima.
- /usr/libexec/maxima/5.47.0/
- Ñöåíàðèè ñîïóòñòâóþùèõ Maxima óòèëèò.
ÏÅÐÅÌÅÍÍÛÅ ÎÊÐÓÆÅÍÈß
- MAXIMA_USERDIR
- Óêàçûâàåò íà êàòàëîã ñ ôàéëàìè ïîëüçîâàòåëüñêèõ íàñòðîåê. Ïî óìîë÷àíèþ ïóòè ïîèñêà Maxima âêëþ÷àþò MAXIMA_USERDIR. Çíà÷åíèå ïî óìîë÷àíèþ: $HOME/.maxima.
- MAXIMA_PREFIX
- Ñâîè âõîäíûå ôàéëû Maxima èùåò â êàòàëîãå, óêàçàííîì âî âðåìÿ êîìïèëÿöèè, /usr. Maxima ìîæíî ïåðåìåñòèòü â äðóãîé êàòàëîã äî òåõ ïîð ïîêà ñöåíàðèé maxima ïîääåðæèâàåò òî æå îòíîñèòåëüíîå ïîëîæåíèå ïî îòíîøåíèåþ ê âõîäíûì ôàéëàì Maxima. Åñëè, â ñèëó êàêèõ-òî ïðè÷èí, ñöåíàðèé maxima ïåðåìåùàåòñÿ îòäåëüíî, äëÿ óêàçàíèÿ âåðøèíû äåðåâà, ñîäåðæàùåãî âõîäíûå ôàéëû ñèñòåìû, íåîáõîäèìî óñòàíîâèòü çíà÷åíèå MAXIMA_PREFIX.
- MAXIMA_DIRECTORY
- MAXIMA_DIRECTORY ýêèâàëåíòíà MAXIMA_PREFIX. Âêëþ÷åíà òîëüêî äëÿ îáðàòíîé ñîâìåñòèìîñòè ñ ïðåäûäóùèìè âåðñèÿìè Maxima.
Maxima èñïîëüçóåò íåñêîëüêî äîïîëíèòåëüíûõ ïåðåìåííûõ îêðóæåíèÿ äëÿ âçàèìîäåéñòâèÿ ìåæäó ñöåíàðèåì maxima è îáðàçîì Lisp-ñèñòåìû. Âñå ýòè ïåðåìåííûå íà÷èíàþòñÿ ñ MAXIMA_ è íå äîëæíû ìåíÿòüñÿ ïîëüçîâàòåëåì.
ÔÀÉËÛ ÍÀÑÒÐÎÅÊ
- maximarc
- maximarc çàãðóæàåòñÿ ñêðèïòîì maxima ïðè çàïóñêå ñèñòåìû. Îí äîëæåí áûòü ðàñïîëîæåí â êàòàëîãå $MAXIMA_USERDIR (ñì. âûøå). maximarc ìîæíî èñïîëüçîâàòü, íàïðèìåð, äëÿ èçìåíåíèÿ âûáðàííîé ïî óìîë÷àíèþ ðåàëèçàöèè Lisp íà CMUCL âêëþ÷åíèåì ñòðîêè "MAXIMA_LISP=cmucl".
- maxima-init.lisp
- Ïðè çàïóñêå Maxima çàãðóçèò Lisp-ôàéë maxima-init.lisp, åñëè íàéäåò åãî â êàòàëîãàõ äëÿ ïîèñêà. Äëÿ ïîëüçîâàòåëüñêîé íàñòðîéêå, maxima-init.lisp äîëæåí ðàñïîëàãàòüñÿ â $MAXIMA_USERDIR (ñì. âûøå). Ïîñêîëüêó Maxima îáû÷íî èìååò ñèñòåìíûé ôàéë maxima-init.lisp, ïîëüçîâàòåëü ìîæåò ñêîïèðîâàòü ñîäåðæèìîå ñèñòåìíîãî maxima-init.lisp â ñâîé ëè÷íûé ôàéë.
- maxima-init.mac
- Ïðè çàïóñêå Maxima çàãðóçèò Maxima-ôàéë maxima-init.mac, åñëè íàéäåò åãî â êàòàëîãàõ äëÿ ïîèñêà. Äëÿ ïîëüçîâàòåëüñêîé íàñòðîéêå, maxima-init.mac äîëæåí ðàñïîëàãàòüñÿ â $MAXIMA_USERDIR (ñì. âûøå).
ÑÑÛËÊÈ
Ñòàðàÿ ññûëêà: MACSYMA. Ñïðàâî÷íîå ðóêîâîäñòâî (òîìà 1 è 2). Ãðóïïà Mathlab, Ëàáîðàòîðèÿ êîìïüþòåðíûõ íàóê, ÌÒÈ. Âåðñèÿ 10. ßíâàðü 1983 ã.
Íîâûå ññûëêè: http://maxima.sourceforge.net
ÎØÈÁÊÈ
Maxima - ñëîæíàÿ ñèñòåìà, ñîäåðæàùàÿ êàê èçâåñòíûå, òàê è íåèçâåñòíûå îøèáêè. Èñïîëüçóéòå åå íà ñâîé ñòðàõ è ðèñê. Áàçà îøèáîê Maxima äîñòóïíà ïî àäðåñó
https://sourceforge.net/p/maxima/bugs/
Íîâûå ñîîáùåíèÿ îá îøèáêàõ âñåãäà ïðèâåòñòâóþòñÿ. Ïîæàëóéñòà, âêëþ÷àéòå â ñîîáùåíèå âûâîä ôóíêöèè Maxima "build_info()".
ÀÂÒÎÐÛ
MACSYMA (Ïðîåêò MAC's SYmbolic MAnipulation System) áûëà ðàçðàáîòàíà ãðóïïîé Mathlab â ëàáîðàòîðèè êîìïüþòåðíûõ íàóê ÌÒÈ (ïåðâîíà÷àëüíî èçâåñòíîé êàê Ïðîåêò MAC) â 1969-1972 ãã. Ýòà ðàáîòà áûëà ïîääåðæàíà ãðàíòàìè NSG 1323 NASA, N00014-77-C-0641 Èññëåäîâàòåëüñêîãî àãåíòñòâà ÂÌÑ, ET-78-C-02-4687 Ìèíèñòåðñòâà ýíåðãåòèêè ÑØÀ è F49620-79-C-020 ÂÂÑ ÑØÀ. Çàòåì MACSYMA áûëà ìîäèôèöèðîâàíà äëÿ èñïîëüçîâàíèÿ ïîä îïåðàöèîííîé ñèñòåìîé UNIX (íà êîìïüþòåðàõ DEC VAX è ðàáî÷èõ ñòàíöèÿõ Sun) Ðè÷àðäîì Ôåéòìàíîì è åãî êîëëåãàìè èç Êàëèôîðíèéñêîãî óíèâåðñèòåòà â Áåðêëè; ýòà âåðñèÿ MACSYMA èçâåñòíàÿ êàê VAXIMA. Íàñòîÿùàÿ âåðñèÿ ðàçâèâàåòñÿ èç ïåðåðàáîòêè îáùåäîñòóïíîé MIT MACSYMA äëÿ GNU Common Lisp, âûïîëíåííîé Óèëüÿìîì Øåëòåðîì (Òåõàññêèé óíèâåðñèòåò â Îñòèíå), êîòîðûé ðàçâèâàë åå äî ñâîåé êîí÷èíû â 2001 ã. Îíà ñîäåðæèò ìíîãî÷èñëåííûå äîïîëíåíèÿ, ðàñøèðåíèÿ è óëó÷øåíèÿ îòíîñèòåëüíî îðèãèíàëà. Îðèãèíàëüíàÿ âåðñèÿ ýòîé ñïðàâî÷íîé ñòðàíèöû áûëà íàïèñàíà Ð.Ï.Ê. Ðîäæåðñîì (rodgers@maxwell.mmwb.ucsf.edu) èç Ôàðìàöåâòè÷åñêîé øêîëû Êàëèôîðíèéñêîãî óíèâåðñèòåòà (Ñàí-Ôðàíöèñêî, CA 94143) â 1989 ã., è ñóùåñòâåííî ïåðåðàáîòàíà Äæåéìñîì Àìóíäñîíîì â 2002 ã.
Ñåé÷àñ Maxima ðàçâèâàåòñÿ è ïîääåðæèâàåòñÿ ïðîåêòîì Maxima http://maxima.sourceforge.net.
September 10, 2005 |