فهرست مندرجات[پنهان شدن][نمایش]
چه دانشجوی دانشگاه باشید و چه در علم داده کار کنید، هیچ راه حلی برای ریاضیات وجود ندارد.
حتی ممکن است استدلال شود که علم داده نوعی از ریاضیات / آمار کاربردی است. NumPy، SciPy، Scikit یاد بگیریدو TensorFlow تنها تعدادی از کتابخانه های پایتون هستند که به صورت کمی با ریاضیات سروکار دارند.
با این حال، فقط یک رقیب برای برخورد صریح با نمادهای ریاضی وجود دارد: SymPy.
بیایید همه چیز را در مورد SymPy بدانیم.
چه شده است Sympy?
SymPy یک کتابخانه ریاضی نمادین پایتون است. میخواهد یک سیستم جبر رایانهای با ویژگیهای کامل (CAS) باشد و در عین حال کد را تا حد ممکن ابتدایی نگه میدارد تا قابل فهم و به راحتی قابل گسترش باشد.
به طور کامل در پایتون نوشته شده است. استفاده از آن ساده است زیرا فقط به mpmath متکی است، یک کتابخانه پایتون خالص برای محاسبات ممیز شناور دلخواه.
به عنوان یک کتابخانه، با تاکید قابل توجهی بر قابلیت استفاده در ذهن ایجاد شد. توسعه پذیری در طراحی رابط برنامه کاربردی آن (API) حیاتی است.
در نتیجه، هیچ تلاشی برای تقویت زبان پایتون انجام نمی دهد. هدف این است که کاربران بتوانند از آن در کنار دیگران استفاده کنند کتابخانه های پایتون در گردش کار آنها، چه در یک محیط تعاملی یا به عنوان یک جزء برنامه ریزی شده از یک سیستم بزرگتر.
SymPy، به عنوان یک کتابخانه، فاقد گرافیک داخلی است رابط کاربر (GUI). کتابخانه عبارت است از:
- رایگان، هم در مورد سخنرانی و هم در مورد آبجو، زیرا تحت مجوز BSD مجوز دارد.
- مبتنی بر پایتون: کاملاً در پایتون توسعه یافته است و از پایتون به عنوان زبان خود استفاده می کند.
- سبک وزن است زیرا فقط به mpmath متکی است کتابخانه پایتون برای محاسبات ممیز شناور دلخواه، که استفاده از آن را ساده می کند.
- می تواند در برنامه های دیگر گنجانده شود و علاوه بر استفاده به عنوان یک ابزار تعاملی، با توابع سفارشی اصلاح شود.
چرا از SymPy استفاده کنیم؟
سیج، یک سیستم جبر کامپیوتری، همچنین از پایتون به عنوان زبان برنامه نویسی خود استفاده می کند. از سوی دیگر، Sage بسیار بزرگ است و به دانلود بیش از یک گیگابایت نیاز دارد. این مزیت سبک بودن را دارد.
علاوه بر جمع و جور بودن، هیچ وابستگی دیگری به جز پایتون ندارد و به آن اجازه می دهد عملا در همه جا استفاده شود.
علاوه بر این، اهداف Sage و SymPy یکسان نیستند. سیج میخواهد یک سیستم ریاضی با ویژگیهای کامل باشد، و این کار را با ترکیب همه سیستمهای ریاضی منبع باز اصلی در یک سیستم انجام میدهد.
هنگامی که از یک تابع Sage استفاده می کنید، مانند یکپارچه سازی، یکی از بسته های منبع باز موجود در آن را فراخوانی می کند. در واقع، آن را در Sage ساخته شده است. از سوی دیگر، SymPy میخواهد یک سیستم مستقل باشد که تمام عملکردها در خود پیادهسازی شده باشد.
ظرفیت آن برای عملکرد به عنوان یک کتابخانه یک ویژگی مهم است. بسیاری از سیستمهای جبر رایانهای برای استفاده در محیطهای تعاملی طراحی شدهاند، اما خودکارسازی یا گسترش آنها دشوار است.
می توان آن را به صورت تعاملی در پایتون استفاده کرد یا به برنامه پایتون خود وارد کرد. همچنین دارای API هایی برای گسترش آسان آن با روال های خود است.
در حال نصب Sympy
به سادگی از دستور زیر برای نصب در محیط خود استفاده کنید.
نمادهای SymPy
بیایید با آن شروع کنیم! هدف اساسی آن یک نماد است. در SymPy می توانید با نوشتن نماد x ایجاد کنید:
کد بالا نماد x را ایجاد می کند. نمادهای موجود در آن برای تقلید از نمادهای ریاضی است که مقادیر ناشناخته را نشان می دهند.
در نتیجه، محاسبات زیر نشان داده شده است:
همانطور که در بالا نشان داده شده است، نماد x به طور مشابه با مقدار ناشناخته عمل می کند. اگر می خواهید نمادهای زیادی بسازید، آنها را به صورت زیر بنویسید:
شما دو نماد y و z را در یک لحظه در این مورد ایجاد کردید. اکنون می توان این نمادها را به دلخواه اضافه، تفریق کرد، ضرب و تقسیم کرد:
توابع SymPy
1. تابع ()sympify
متد sympify() یک عبارت دلخواه را به عبارت SymPy تبدیل می کند. این اشیاء استاندارد پایتون مانند اعداد صحیح را تبدیل می کند.
رشته ها به عبارات خود و همچنین اعداد صحیح و غیره تبدیل می شوند.
2. تابع ()evalf
این تابع یک عبارت عددی مشخص شده را با دقت ممیز شناور تا 100 رقم ارزیابی می کند.
تابع علاوه بر این یک شی فرهنگ لغت با مقادیر عددی نمادها را به عنوان آرگومان فرعی می پذیرد. به عبارت زیر توجه کنید:
دقت ممیز شناور به طور پیش فرض روی 15 رقم تنظیم شده است. با این حال، این را می توان به هر عددی بین 1 تا 100 تغییر داد.
معادله زیر با دقت 20 رقمی ارزیابی می شود.
3. تابع () Lambdify
Lambdify تابعی است که عبارات خود را به توابع پایتون تبدیل می کند. روش ()evalf هنگام ارزیابی یک عبارت در محدوده وسیعی از مقادیر ناکارآمد است.
Lambdify مانند یک تابع لامبدا کار می کند، با این تفاوت که نام های SymPy را به نام کتابخانه عددی ارائه شده، که عموماً NumPy است، ترجمه می کند.
به طور پیش فرض، Lambdify برای پیاده سازی کتابخانه استاندارد ریاضی اعمال می شود.
امکانات
تعدادی از مهم ترین ویژگی های کتابخانه در اینجا فهرست شده است. بسیاری دیگر گنجانده نشده اند، اما می توانید آنها را بررسی کنید اینجا کلیک نمایید.
1. قابلیت های اصلی
- محاسبات اساسی: +، -، *، /، و ** عملگرها پشتیبانی می شوند (قدرت)
- یک بسط چند جمله ای
- اعداد صحیح، منطقی و شناور با دقت دلخواه
- توابع مثلثاتی، هذلولی و نمایی، ریشه ها، لگاریتم ها، قدر مطلق، هارمونیک های کروی، فاکتوریل ها و توابع گاما، توابع زتا، چند جمله ای ها و توابع ویژه
- نمادهایی که غیرقابل تعویض هستند
- الگوهای تطبیق
2. حساب دیفرانسیل و انتگرال
- یکپارچه سازی: این روش از اکتشافی توسعه یافته ریش نورمن استفاده می کند
- تفکیک.
- توابع محدود
- سریال لورن تیلور
3. چند جمله ای ها
- بنیادهای گروبنر
- تجزیه کسرهای جزئی
- Division, gcd Resultants نمونه هایی از محاسبات پایه هستند.
4. ترکیبیات
- مجوزها
- کدهای خاکستری و پروفر
- ترکیب ها، پارتیشن ها، زیر مجموعه ها
- چند وجهی، روبیک، متقارن، و دیگر گروه های جایگشت
5. ریاضیات گسسته
- جمع بندی ها
- عبارات منطقی
- ضرایب دو جمله ای
- تئوری شماره
اپلیکیشنها
1. ماشین حساب ساختمان
2. سیستم های جبری کامپیوتری
برخلاف سایر سیستم های جبر رایانه ای، شما باید به صورت دستی متغیرهای نمادین را با استفاده از تابع ()Symbol در آن اعلام کنید.
3. حساب دیفرانسیل و انتگرال
ظرفیت یک سیستم محاسبات نمادین برای انجام انواع محاسبات به صورت نمادین، نقطه قوت اصلی آن است.
می تواند گزاره ها را به صورت نمادین ساده کند، مشتقات، انتگرال ها و حدود را محاسبه کند، معادلات را حل کند، با ماتریس ها تعامل داشته باشد، و کارهای بیشتری انجام دهد.
برای اینکه اشتهایتان را باز کنید، در اینجا طعم قدرت نمادین را میل کنید.
چه کارهای دیگری می توانید با SymPy انجام دهید؟
به جای این که در مورد مسائل اضافی عمیق بپردازید، اجازه دهید فهرستی از منابع را در اختیار شما بگذارم تا به شما در تقویت مهارت هایتان کمک کند:
- ماتریس ها و جبر خطی: می تواند با ماتریس ها کار کند و عملیات جبر خطی اولیه را انجام دهد. این زبان شبیه به نحو NumPy است. با این حال، تفاوت های قابل توجهی وجود دارد. برای شروع، تحقیق کنید ماتریس ها در کتابخانه
- اصطلاح: از یک درخت بیان، که ساختاری مبتنی بر درخت است، برای پیگیری عبارات استفاده می کند. نگاه کنید درختان بیان اگر می خواهید در مورد عملکرد درونی آنها بیشتر بدانید.
- مشتقات و انتگرال ها: این می تواند بیشتر چیزهایی را که در یک کلاس مقدماتی حساب دیفرانسیل و انتگرال یاد می گیرید (منهای تفکر) انجام دهد. می توانید با مشاهده عملکرد ما شروع کنید تفکیک در Sympy
- ارتباط با NumPy: NumPy و SymPy هر دو کتابخانه های مرتبط با ریاضیات هستند. با این حال، آنها اساساً متفاوت هستند! NumPy با اعداد کار می کند، در حالی که با عبارات نمادین کار می کند.
- ساده سازی ها: به اندازه کافی هوشمند است که به طور خودکار عبارات را ساده می کند. با این حال، اگر می خواهید کنترل دقیق تری روی این موضوع داشته باشید، به آن نگاه کنید ساده سازی ها.
نتیجه
SymPy یک کتابخانه قدرتمند برای ریاضیات نمادین است.
می توانید از آن برای ایجاد متغیرها و توابع و همچنین بسط و ساده سازی نمادین گزاره های ریاضی و حل معادلات، نامساوی ها و حتی سیستم های معادلات/نامعادلات استفاده کنید.
می توانید توابع را هم در متن اسکریپت و هم مستقیماً در ترمینال بنویسید (یا نوت بوک های Jupyter) برای ارزیابی سریع و تصویر گرافیکی بهتر از محاسبات انجام شده.
آیا آماده کاوش بیشتر از SymPy هستید؟ در نظرات به ما اطلاع دهید.
پاسخ دهید