| MAXIMA(1) | General Commands Manual | MAXIMA(1) |
نام (NAME)
maxima - نسخه Common Lisp از بسته ریاضیات نمادین MACSYMA منتشرشده تحت پروانه عمومی گنو
rmaxima - نسخهای از Maxima با پشتیبانی از تکمیل خودکار دستورات
xmaxima - نسخه گرافیکی Maxima
خلاصه دستور (SYNOPSIS)
maxima [options]
rmaxima [options]
xmaxima [options]
توضیحات (DESCRIPTION)
نرمافزار Maxima نسخهای از سامانه MACSYMA توسعهیافته در MIT است که برای اجرا تحت Common Lisp بازنویسی شده است. این سامانه یک سیستم خبره تعاملی و محیط برنامهنویسی برای محاسبات و دستکاریهای ریاضی نمادین و عددی است. این برنامه که به زبان Lisp نوشته شده است، مشتقگیری، انتگرالگیری، حل معادلات خطی یا چندجملهای، فاکتورگیری چندجملهایها، بسط توابع در سریهای لوران یا تیلور، محاسبه سریهای پواسون، محاسبات ماتریسی و تانسوری و ترسیم نمودارهای دوبعدی و سهبعدی را ممکن میسازد. رویهها را میتوان با استفاده از نحوی شبیه به ALGOL نوشت و هر دو امکان توابع شبه-Lisp و تطبیق الگو نیز فراهم شدهاند. فایلهای حاوی اشیاء Maxima را میتوان در فایلهای دیسک ذخیره کرد و از آنها خواند. دستورات از پیش نوشتهشده Maxima را میتوان از یک فایل خواند و اجرا نمود که امکان استفاده در حالت دستهای (batch-mode) را فراهم میآورد.
گزینهها (OPTIONS)
- -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
- نمایش خلاصه کوتاهی از نحوه استفاده.
- --init=string
- بارگذاری فایلهای راهاندازی Maxima و Lisp با نامهای string.mac و string.lisp در هنگام شروع.
- --init-mac=file
- بارگذاری فایل راهاندازی Maxima با نام file در هنگام شروع.
- --init-lisp=file
- بارگذاری فایل راهاندازی Lisp با نام file در هنگام شروع.
- -l lisp, --lisp=lisp
- استفاده از پیادهسازی lisp برای Lisp. برای مشاهده فهرست مقادیر ممکن از --list-avail استفاده کنید.
- --list-avail
- فهرست کردن نسخههای موجود Lisp و Maxima.
- -p lisp_file, --preload-lisp=lisp_file
- پیشبارگذاری lisp_file.
- -q, --quiet
- نادیده گرفتن پیام شروع به کار Maxima.
- -Q, --quit-on-error
- خروج از برنامه و بازگرداندن کد خروج ۱ هنگام مواجهه Maxima با خطا.
- -r string, --run-string=string
- پردازش رشته string در حالت تعاملی.
- -s port, --server=port
- اتصال Maxima به کارساز (سرور) روی پورت port. توجه داشته باشید که این گزینه یک سرور Maxima ایجاد نمیکند؛ بلکه Maxima در نقش کلاینت عمل میکند.
- -u version, --use-version=version
- اجرای نسخه version از Maxima. برای مشاهده فهرست مقادیر ممکن از --list-avail استفاده کنید.
- --userdir=directory
- استفاده از directory به عنوان دایرکتوری کاربر (پیشفرض در ویندوز %USERPROFILE%/maxima و در سایر سیستمها $HOME/.maxima است).
- -v, --verbose
- چاپ اطلاعات بیشتر از اسکریپت پوششی (wrapper) برنامه Maxima.
- --version
- چاپ نسخه نصبشده (پیشفرض).
- --very-quiet
- عدم نمایش برچسبهای عبارات، پیام شروع به کار Maxima، راستیآزمایی نمایه HTML و پیامهای مربوط به بارگذاری. --very-very-quiet علاوه بر --very-quiet، بیشتر خروجیهای چاپشده را نیز نادیده میگیرد.
- -X Lisp options, --lisp-options=Lisp options
- گزینههایی که باید به Lisp زیرین داده شوند.
- --no-init, --norc
- عدم بارگذاری فایل(های) پیکربندی اولیه (init) در هنگام شروع.
- --no-verify-html-index
- عدم بررسی سازگاری موضوعات html با موضوعات متنی در هنگام شروع.
- --suppress-input-echo
- عدم چاپ عبارات ورودی هنگام پردازش در حالت غیرتعاملی..SH "دستورالعملهای مقدماتی (INTRODUCTORY INSTRUCTIONS)" هنگام راهاندازی، maxima یک پیام آغازین و سپس یک خط فرمان چاپ میکند:
(%i1)
تمام دستورهای Maxima باید با یکی از نشانههای زیر خاتمه یابند:
- 1)
- یک نقطهویرگول (که در این حالت نتیجه دستور روی یک خط نمایش با پیشوند %o به همراه یک شماره ترتیبی پیوستشده منعکس میشود)، یا
- 2)
- یک علامت دلار (که از چاپ خط نمایش جلوگیری میکند).
مثالها (EXAMPLES)
(%i1) diff(sin(x),x);
(%o1) 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
قادر خواهید بود صرفاً با بریدن و چسباندن (killing و yanking)، از خروجی خود به عنوان ورودی استفاده کنید.
Lisp درون Maxima تعبیه شده است. تابع to_lisp() وارد حلقه خواندن-ارزیابی-چاپ (REPL) زبان لیسپ میشود. از تابع Lisp به نام (run) میتوان برای بازگشت به Maxima استفاده کرد. همچنین، دستورهای تکی Lisp را میتوان با آغاز یک خط فرمان با :lisp فراخوانی کرد.
راهنمای داخلی (BUILT-IN HELP)
کتابچه مرجع از اعلان ورودی Maxima قابل دسترسی است. توضیحات مربوط به یک دستور معین را میتوان با نوشتن این دستور به دست آورد:
describe(command);
یا به سادگی:
? command
دستور
?? command
فهرست توابع را برای رشته command جستجو کرده و توابع منطبق را چاپ میکند.
فایلهای نمایشی، نمونههای کاملی از مسائل حلشده با Maxima را ارائه میدهند و میتوان با دستور demo(command); به آنها دسترسی پیدا کرد. همچنین کتابخانهای از فایلهای دستوری ارائهشده توسط کاربران (تحت عنوان share library) برای حل انواع گوناگونی از مسائل در دسترس است..SH "سایر مستندات (OTHER DOCUMENTATION)" کتابچه راهنمای مرجع در هر دو قالب info و html ارائه شده است.
راهنمای مقدماتی دستورها (COMMAND PRIMER)
این فهرست تنها شامل دستورهایی است که ممکن است برای کاربران تازهکار پیش از مطالعه کتابچه راهنمای مرجع و سایر متون دانستن آنها مفید باشد.
- 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 فراخوانی شود تا بافر تخلیه گردد.
دستورهای رسم نمودار (PLOTTING COMMANDS)
نرمافزار 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” را ببینید.
فایلها (FILES)
- /usr/lib/maxima/5.50.0/binary-lisp
- فایلهای کامپایلشده برای پیادهسازی لیسپ lisp
- /usr/info
- دایرکتوری اصلی مستندات، شامل فایلهای info که برای دستور 'describe' و همچنین برای مشاهده در emacs یا سایر مشاهدهگرهای info به کار میروند.
- /usr/share/maxima/5.50.0/doc/html
- نسخه HTML مستندات info.
- /usr/share/maxima/5.50.0/demo
- فایلهای نمایشی Maxima.
- /usr/share/maxima/5.50.0/emacs
- فایلهای Elisp برای استفاده با Emacs یا XEmacs.
- /usr/share/maxima/5.50.0/share
- بستههای خارجی مشارکتشده.
- /usr/share/maxima/5.50.0/doc/share
- مستندات بستههای خارجی مشارکتشده.
- /usr/share/maxima/5.50.0/src
- کد منبع کامل Maxima.
- /usr/share/maxima/5.50.0/tests
- مجموعه آزمونها.
- /usr/share/maxima/5.50.0/xmaxima
- فایلهای پشتیبانی Xmaxima.
- /usr/libexec/maxima/5.50.0/
- اسکریپتهای کاربردی Maxima..SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)"
- 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_ آغاز میشوند. این متغیرها نباید توسط کاربر تغییر داده شوند.
فایلهای سفارشیسازی (CUSTOMIZATION FILES)
- maximarc
- فایل maximarc در هنگام راهاندازی توسط اسکریپت maxima سورس (اجرا) میشود. این فایل باید در $MAXIMA_USERDIR قرار داشته باشد (به بالا مراجعه کنید). برای مثال، از maximarc میتوان با قرار دادن خط "MAXIMA_LISP=cmucl" جهت تغییر پیادهسازی lisp پیشفرض کاربر به CMUCL استفاده کرد.
- maxima-init.lisp
- در زمان راهاندازی، اگر فایل lisp با نام maxima-init.lisp در مسیر جستجو یافت شود، Maxima آن را بارگذاری میکند. برای سفارشیسازی کاربر، maxima-init.lisp باید در $MAXIMA_USERDIR (به بالا مراجعه کنید) قرار گیرد. از آنجا که معمولاً یک فایل maxima-init.lisp سیستمی در دایرکتوری share مربوط به Maxima وجود دارد، ممکن است کاربر بخواهد محتویات maxima-init.lisp سیستمی را در فایل سفارشی خود کپی کند. همچنین، کاربر میتواند با استفاده از گزینههای خط فرمان --init-lisp یا --init، یک فایل راهاندازی Lisp را با نام یا مکانی دیگر بارگذاری کند.
- maxima-init.mac
- در زمان راهاندازی، اگر فایل maxima-init.mac در مسیر جستجو پیدا شود، Maxima آن را بارگذاری خواهد کرد. برای سفارشیسازی کاربر، maxima-init.mac باید در $MAXIMA_USERDIR (به بالا مراجعه کنید) قرار گیرد. همچنین، کاربر میتواند با استفاده از گزینههای خط فرمان --init-mac یا --init، یک فایل راهاندازی Maxima را با نام یا مکانی دیگر بارگذاری کند.
- ~/.xmaximarc
- برنامه Xmaxima تنظیمات شخصی را در اینجا ذخیره میکند.
- ~/.xmaxima_history
- برنامه Xmaxima تاریخچه دستورها را در اینجا ذخیره میکند.
منابع (REFERENCES)
منبع قدیمی: MACSYMA Reference Manual (جلدهای ۱ و ۲). The Mathlab Group, Laboratory for Computer Science, MIT. نسخه ۱۰. ژانویه ۱۹۸۳.
منابع جدیدتر: https://maxima.sourceforge.io
گزارش باگها (BUGS)
سامانه Maxima یک سیستم پیچیده است و شامل باگهای شناختهشده و ناشناخته میشود. استفاده از آن با مسئولیت خود شماست. پایگاه داده باگهای Maxima در نشانی زیر در دسترس است:
https://sourceforge.net/p/maxima/bugs
از ارسال گزارش باگهای جدید همواره استقبال میشود. لطفاً خروجی تابع "build_info()" در Maxima را همراه با گزارش ارسال نمایید..SH "نویسندگان (AUTHORS)"
سامانهٔ MACSYMA (سامانهٔ دستکاری نمادین پروژهٔ MAC یا Project MAC's SYmbolic MAnipulation System) در سالهای ۱۹۶۹ تا ۱۹۷۲ توسط گروه Mathlab در آزمایشگاه علوم رایانهٔ MIT (که در ابتدا با نام Project MAC شناخته میشد) توسعه یافت. فعالیت آنها تحت حمایت مالی کمکهای NSG 1323 از سازمان ملی هوانوردی و فضا (NASA)، N00014-77-C-0641 از دفتر تحقیقات نیروی دریایی، ET-78-C-02-4687 از وزارت انرژی ایالات متحده، و F49620-79-C-020 از نیروی هوایی ایالات متحده قرار داشت. MACSYMA پس از آن برای استفاده تحت سیستمعامل UNIX (جهت استفاده روی رایانههای DEC VAX و ایستگاههای کاری Sun) توسط Richard Fateman و همکارانش در دانشگاه کالیفرنیا در برکلی بازنویسی و سازگار شد؛ این نسخه از MACSYMA با عنوان VAXIMA شناخته میشود. نسخهٔ فعلی حاصل بازسازی نگارش مالکیت عمومی MIT MACSYMA برای GNU Common Lisp است که تا پیش از درگذشت William Schelter در سال ۲۰۰۱، توسط او در دانشگاه تگزاس در آستین فراهم آمد. این نسخه شامل اضافات، گسترشها و بهبودهای فراوانی نسبت به نسخهٔ اصلی است. نگارش اولیهٔ این صفحهٔ راهنما در سال ۱۹۸۹ توسط R. P. C. Rodgers در UCSF School of Pharmacy، واقع در سانفرانسیسکو، CA 94143 (به نشانی rodgers@maxwell.mmwb.ucsf.edu) به رشتهٔ تحریر درآمد. این متن در سال ۲۰۰۲ توسط James Amundson بهطور اساسی بازبینی شد.
پروژهٔ Maxima در حال حاضر توسط تیم پروژهٔ Maxima در نشانی https://maxima.sourceforge.io توسعه یافته و نگهداری میشود.
همچنین ببینید (SEE ALSO)
| 2022-07-18 |