isympy(1) isympy(1)

isympy - پوسته تعاملی برای SymPy


isympy
[-c | --console] [-p ENCODING | --pretty ENCODING] [-t TYPE | --types TYPE] [-o ORDER | --order ORDER] [-q | --quiet] [-d | --doctest] [-C | --no-cache] [-a | --auto] [-D | --debug] [ -- | PYTHONOPTIONS]

isympy
[ {-h | --help} | {-v | --version} ]

دستور isympy یک پوسته پایتون برای SymPy است. این ابزار در اصل یک پوسته معمولی پایتون است (یا پوسته ipython در صورتی که بسته ipython نصب شده باشد) که دستورهای زیر را اجرا می‌کند تا شما نیازی به وارد کردن دستی آن‌ها نداشته باشید:

>>> from __future__ import division
>>> from sympy import *
>>> x, y, z = symbols("x,y,z")
>>> k, m, n = symbols("k,m,n", integer=True)

بنابراین اجرای isympy معادل شروع به کار پایتون (یا ipython) و اجرای دستورهای فوق به صورت دستی است. این ابزار برای آزمایش‌های آسان و سریع با SymPy طراحی شده است. برای برنامه‌های پیچیده‌تر، توصیه می‌شود اسکریپت بنویسید و موارد مورد نیاز را به صراحت وارد (import) کنید (با استفاده از شیوه «... ,from sympy import sin, log, Symbol»).

استفاده از پوسته مشخص‌شده (python یا ipython) به عنوان زیرساخت کنسول به جای مقدار پیش‌فرض (در صورت وجود ipython و در غیر این صورت python).

مثال: isympy -c python

مقدار SHELL می‌تواند یکی از مقادیر 'ipython' یا 'python' باشد.

تنظیم چاپ زیبا (pretty printing) در SymPy. به طور پیش‌فرض، زیباترین حالت چاپ با یونیکد (در صورت پشتیبانی ترمینال) فعال است. می‌توانید به جای آن از چاپ ساده‌تر با ASCII یا کلاً بدون چاپ زیبا استفاده کنید.

مثال: isympy -p no

مقدار ENCODING باید یکی از موارد 'unicode'، 'ascii' یا 'no' باشد.

تنظیم نوع‌های پایه (ground types) برای چندجمله‌ای‌ها (polys). به طور پیش‌فرض، در صورت نصب بودن gmpy2 یا gmpy، نوع‌های پایه gmpy استفاده می‌شوند، در غیر این صورت به انواع پایه python که کمی کندتر هستند بازمی‌گردد. حتی اگر gmpy نصب باشد نیز می‌توانید به صورت دستی انواع پایه python را انتخاب کنید (به عنوان مثال برای مقاصد آزمایشی).

توجه داشته باشید که انواع پایه sympy پشتیبانی نمی‌شوند و تنها باید برای مقاصد آزمایشی استفاده شوند.

توجه داشته باشید که نوع پایه gmpy1 اساساً برای آزمایش در نظر گرفته شده است؛ این گزینه حتی در صورت موجود بودن gmpy2، استفاده از gmpy را اعمال می‌کند.

این معادل با تنظیم متغیر محیطی SYMPY_GROUND_TYPES روی نوع پایه داده‌شده است (مانند SYMPY_GROUND_TYPES='gmpy').

نوع‌های پایه را می‌توان به صورت تعاملی از متغیر sympy.polys.domains.GROUND_TYPES در داخل خود پوسته isympy مشخص کرد.

مثال: isympy -t python

مقدار TYPE باید یکی از موارد 'gmpy'، 'gmpy1' یا 'python' باشد.

تنظیم ترتیب جملات برای چاپ. پیش‌فرض lex است که جملات را به صورت لغت‌نامه‌ای مرتب می‌کند (مانند x**2 + x + 1). می‌توانید ترتیب‌های دیگری مانند rev-lex را انتخاب کنید که از ترتیب لغت‌نامه‌ای معکوس استفاده می‌کند (مانند 1 + x + x**2).

توجه داشته باشید که برای عبارت‌های بسیار بزرگ، مقدار ORDER='none' ممکن است سرعت چاپ را به میزان قابل توجهی افزایش دهد، به این قیمت که ترتیب جملات در عبارت چاپ‌شده فاقد نظم استانداردی (canonical) خواهد بود.

مثال: isympy -o rev-lax

مقدار ORDER باید یکی از مقادیر 'lex' ،'rev-lex' ،'grlex'، 'rev-grlex' ،'grevlex' ،'rev-grevlex' ،'old' یا 'none' باشد.

در هنگام راه‌اندازی تنها نسخه Python و SymPy را در خروجی استاندارد چاپ کرده و هیچ چیز دیگری نمایش نمی‌دهد.
استفاده از همان قالبی که باید برای doctestها استفاده شود. این گزینه معادل با 'isympy -c python -p no' است.
غیرفعال کردن سازوکار حافظه نهان (کَش). غیرفعال کردن کَش ممکن است سرعت برخی عملیات‌ها را به طور چشمگیری کاهش دهد. این گزینه برای آزمایش کَش یا برای بنچمارک و ارزیابی کارایی مفید است، زیرا کَش می‌تواند باعث زمان‌سنجی‌های کاذب و گمراه‌کننده در ارزیابی شود.

این گزینه معادل با تنظیم متغیر محیطی SYMPY_USE_CACHE روی 'no' است.

ایجاد خودکار نمادهای ناموجود. به طور معمول، نوشتن نام یک Symbol که از قبل نمونه‌سازی نشده است خطای NameError ایجاد می‌کند، اما با فعال بودن این گزینه، هر نام تعریف‌نشده‌ای به طور خودکار به عنوان یک Symbol ایجاد خواهد شد. این قابلیت تنها در IPython 0.11 کار می‌کند.

توجه داشته باشید که این گزینه فقط برای استفاده تعاملی به شیوه ماشین‌حسابی در نظر گرفته شده است. در اسکریپت‌هایی که از SymPy استفاده می‌کنند، نمادها باید در ابتدای فایل نمونه‌سازی شوند تا مشخص باشد چه هستند.

این گزینه هیچ‌یک از نام‌هایی را که از قبل تعریف شده‌اند بازنویسی نمی‌کند، از جمله حروف تک‌نویسه‌ای که توسط سرواژه یادافزای QCOSINE مشخص شده‌اند (به بخش «Gotchas and Pitfalls» در مستندات مراجعه کنید). می‌توانید با اجرای دستور "del name" در خود پوسته، نام‌های موجود را حذف کنید. همچنین با نوشتن "'name' in globals()" می‌توانید بررسی کنید که آیا یک نام تعریف شده است یا خیر.

نمادهایی (Symbols) که با این روش ایجاد می‌شوند، دارای فرضیات پیش‌فرض هستند. اگر می‌خواهید فرضیات خاصی را برای نمادها تعیین کنید، باید آن‌ها را با استفاده از ()symbols یا ()var بسازید.

در نهایت، این قابلیت فقط در فضای‌نام سطح بالا (top-level) کار می‌کند. بنابراین، برای مثال، اگر در isympy تابعی را با یک Symbol تعریف‌نشده ایجاد کنید، کار نخواهد کرد.

فعال‌سازی خروجی اشکال‌زدایی. این گزینه معادل با تنظیم متغیر محیطی SYMPY_DEBUG روی 'True' است. وضعیت اشکال‌زدایی در متغیر SYMPY_DEBUG درون isympy تنظیم می‌شود.
این گزینه‌ها به پوسته ipython (1) ارسال خواهند شد. تنها زمانی پشتیبانی می‌شود که از ipython استفاده شود (پوسته استاندارد python پشتیبانی نمی‌شود).

برای جداسازی PYTHONOPTIONS از دیگر گزینه‌های isympy، دو خط تیره (--) الزامی است.

برای مثال، جهت اجرای iSymPy بدون اعلان شروع و بدون رنگ:

isympy -q -c ipython -- --colors=NoColor

چاپ خروجی راهنما و خروج.
چاپ اطلاعات نسخه isympy و خروج.

${HOME}/.sympy-history
تاریخچه دستورها را در هنگام استفاده از پوسته python به عنوان زیرساخت ذخیره می‌کند.

سامانه رهگیری باگ بالادست در ⟨https://github.com/sympy/sympy/issues⟩ قابل دسترسی است. لطفاً تمام باگ‌هایی را که پیدا می‌کنید در آنجا گزارش دهید؛ این کار به بهبود کیفیت کلی SymPy کمک خواهد کرد.

ipython(1), python(1)

2007-10-8