توان در متمتیکا — به زبان ساده و با مثال
در این مطلب در مورد توان در متمتیکا صحبت میکنیم. بدین منظور ابتدا نرم افزار متمتیکا را معرفی میکنیم و سپس به معرفی دستورهای ابتدایی در متمتیکا میپردازیم. در نهایت توان در متمتیکا و دستورهای مربوط به آن را معرفی میکنیم.
نرم افزار متمتیکا چیست؟
متمتیکا یک سیستم نرمافزاری با کتابخانههای داخلی برای چندین حوزه محاسبات فنی است که امکان یادگیری ماشین، آمار، محاسبات نمادین، دستکاری ماتریسها، ترسیم توابع و انواع مختلف داده، پیادهسازی الگوریتمها، ایجاد رابطهای کاربری و رابط کاربری برای برنامه نویسی در زبانهای دیگر را فراهم میکند.
ایده این نرم افزار توسط «استفان ولفرام» (Stephen Wolfram) مطرح شد و توسط کمپانی ولفرام توسعه داده شد. زبان ولفرام زبان مورد استفاده در متمتیکا است.
برای آشنایی بیشتر با نرم افزار متمتیکا میتوانید، مطلب متمتیکا چیست که پیش از این در مجله فرادرس منتشر شده است را مطالعه کنید.
رابط دفترچه یادداشت
ولفرام متمتیکا که توسط برخی از کاربران آن متمتیکا نامیده میشود، به دو بخش تقسیم میشود: کرنل و فرانت اند. کرنل یا هسته عبارات (کد زبان ولفرام) را تفسیر میکند و نتیجه را برمیگرداند، که سپس میتواند توسط قسمت فرانت اند نمایش داده شود.
فرانت اند اصلی، که توسط تئودور گری در سال 1988 طراحی شد، شامل یک رابط نوت بوک است و امکان ایجاد و ویرایش اسناد نوت بوک را فراهم میکند که میتواند شامل کد، متن ساده، تصاویر و گرافیک باشد.
جایگزین اصلی فرانت اند متمتیکا عبارت از «ولفرام ورکبنچ» (Wolfram Workbench) است که یک محیط توسعه یکپارچه مبتنی بر اکلیپس است و در سال 2006 معرفی شد. این ابزار روشهایی برای توسعه کد مبتنی بر پروژه را برای متمتیکا، از جمله مدیریت بازنگری، اشکال زدایی، پروفایل و آزمایش فراهم میکند.
همچنین یک پلاگین برای IDEهای مبتنی بر IntelliJ IDEA برای کار با کد زبان ولفرام وجود دارد که علاوه بر برجسته کردن نحو میتواند متغیرهای محلی و توابع تعریف شده را تجزیه و تحلیل و به صورت خودکار تکمیل کند. هسته یا کرنل متمتیکا همچنین شامل خط فرمان در فرانت اند است.
رابط های دیگر متمتیکا عبارت از JMath بر اساس خط خوانش GNU و ولفرام اسکریپت است که برنامههای خودکار متمتیکا را از خط فرمان UNIX اجرا میکند.
محاسبات با کارایی بالا
قابلیتهای محاسبات با کارایی بالا با معرفی آرایههای طبقه بندی شده در نسخه 4 (1999) و ماتریسهای پراکنده یا sparse در نسخه 5 (2003) و با استفاده از کتابخانههای مختلف و انجام محاسبات با دقت بالا، فراهم آمد.
در نسخه (2005) هنگامی که محاسبات بر روی رایانههای چند هستهای انجام شد، چند رشته خودکار را اضافه کرد. این نسخه شامل کتابخانههای بهینه سازی شده مخصوص CPU بود. علاوه بر این متمتیکا توسط سخت افزار شتاب دهنده سوم شخص مانند ClearSpeed نیز پشتیبانی میشود.
در سال 2002، گرید متمتیکا معرفی شد تا برنامهنویسی موازی در سطح کاربر را بر روی خوشههای ناهمگن و سیستمهای چند پردازندهای فراهم کند. همچنین در سال 2008 فناوری محاسبات موازی در تمام نسخههای متمتیکا شامل پشتیبانی از فناوری شبکه مانند Windows HPC Server 2008، Microsoft Compute Cluster Server و سان گرید فراهم آمد. پشتیبانی از سخت افزار GPU CUDA و OpenCL نیز در سال 2010 به متمتیکا اضافه شد. در سال 2019 نیز پشتیبانی برای کامپایل کردن کد زبان ولفرام نیز به LLVM اضافه شد.
اتصال به سایر برنامهها و زبانهای برنامه نویسی
ارتباط با سایر برنامهها از طریق پروتکلی به نام پروتکل انتقال نمادین ولفرام (WSTP) انجام میشود. این پروتکل اجازه میدهد تا ارتباط بین کرنل ولفرام متمتیکا و فرانت اند صورت بگیرد و یک رابط عمومی بین کرنل و برنامههای کاربردی دیگر را فراهم میکند.
ولفرام ریسرچ آزادانه یک کیت توسعه دهنده برای پیوند برنامههای نوشته شده در زبان برنامه نویسی C به هسته متمتیکا از طریق WSTP با استفاده از J/Link توسعه داده است، J/Link یک برنامه جاوا است که میتواند از متمتیکا بخواهد محاسبات را انجام دهد. .NET/Link نیز عملکرد مشابهی دارد اما در این حالت این پیوند به جای زبان جاوا از برنامههای .NET صورت میگیرد.
زبانهای دیگری که به متمتیکا متصل میشوند عبارت از هسکل، اپل اسکریپت، راکت، پایتون، ویژوآل بیسیک و Clojure هستند. متمتیکا از تولید و اجرای مدلهای مدلیکا برای مدلسازی سیستمها پشتیبانی میکند و از طریق Wolfram System Modeler متصل میشود. همچنین پیوندها با متمتیکا برای بسیاری از بستههای نرمافزاری رابط سوم و APIها در دسترس هستند.
متمتیکا همچنین میتواند دادههای زمان واقعی را از منابع مختلف بگیرد و میتواند بلاک چینهای عمومی (بیت کوین، اتریوم و ARK) را بخواند و بنویسد.
این برنامه میتواند از ورودی و خروجی بیش از 220 داده، تصویر، ویدئو، صدا، طراحیهای CAD، سیستمهای اطلاعات جغرافیایی (GIS)، داکیومنت و فرمتهای زیست پزشکی پشتیبانی کند.
دادههای قابل محاسبه
متمتیکا با ولفرام آلفا یکپارچه شده است. ولفرام آلفا یک موتور پاسخ دهی دانش محاسباتی آنلاین است که دادههایی را برای کاربرانی که از متمتیکا با اتصال به اینترنت استفاده میکنند، به روز نگه میدارد. برخی از مجموعه دادهها شامل دادههای نجومی، شیمیایی، ژئوپلیتیک، زبان، زیست پزشکی و آب و هوا، علاوه بر دادههای ریاضی مانند گرهها و چند وجهیها هستند.
دستاوردهای متمتیکا
بایت (BYTE) در سال 1989 متمتیکا را به عنوان یکی از برندگان متمایز جوایز بایت فهرست کرد و بیان کرد متمتیکا یکی دیگر از برنامههای پیشرفته و کاربردی مکینتاش میتواند شما را قادر سازد به گونهای جبر، حساب دیفرانسیل و انتگرال را به آسانی درک کنید که فهم آن از یک کتاب درسی غیرممکن به نظر میرسد. با این حال متمتیکا به دلیل نداشتن سورس باز مورد انتقاد قرار گرفته است. ولفرام ریسرچ ادعا میکند که بسته بودن منبع متمتیکا برای مدل کسب و کار آن و تداوم نرمافزار امری اساسی است.
آیا متمتیکا در زبان C نوشته شده است؟
متمتیکا یکی از پیچیدهترین سیستمهای نرمافزاری است که تاکنون ساخته شده است. کد منبع آن با ترکیب C و متمتیکا نوشته شده است. برای مثال برای نسخه 5 این نرم افزار، کد کرنل شامل حدود 1٫5 میلیون خط زبان C و 150,000 خط متمتیکا است.
اساس کار متمتیکا چیست؟
متمتیکا یک نرم افزار محاسباتی است که در بسیاری از زمینههای علمی، مهندسی، ریاضی و محاسباتی بر اساس ریاضیات نمادین یا symbolic mathematics مورد استفاده قرار میگیرد.
نصب نرم افزار متمتیکا چگونه است؟
متمتیکا یک نرم افزار اپن سورس نیست و برای دسترسی به آن باید ثبت نام صورت گیرد. با این حال میتوانید نرم افزار متمتیکا را از اینجا (+) دریافت کنید و مراحل نصب را طبق دستور العمل گفته شده انجام دهید.
MathID در نصب نرم افزار متمتیکا چیست؟
MathID یک کد شناسایی منحصر به فرد برای رایانه شما است که برای اتصال اطلاعات مجوز شما به دستگاه خاص شما استفاده میشود. برای ایجاد MathID مرتبط با دستگاه خود، باید در ابتدا متمتیکا را نصب کنید. برای پیدا کردن MathID در حین نصب متمتیکا گزینه Other ways to activate را انتخاب کنید و سپس گزینه Activate manually را برگزینید.
در تصویر بالا MathID نشان داده شده است. بعد از نصب متمتیکا نیز در قسمت نوت بوک متمتیکا با تایپ دستور $MachineID و اجرای آن میتوانید به MathID سیستم خود دسترسی پیدا کنید.
شروع با نرم افزار متمتیکا
با باز کردن پنجره متمتیکا میتوان دید که با تایپ کردن هر عدد روبروی آن یک کروشه باز میشود و به هر یک از این کروشهها یک cell میگوییم. در ابتدا و برای شروع به کار در متمتیکا استفاده از دستور زیر:
1Clear["Global`*"]
حافظه متمتیکا را پاک میکند تا اگر متغیری در آن وجود دارد در محاسبات بعدی اختلال ایجاد نکند. همچنین با دستور clear با اسم یک متغیر مشخص میتوانیم فقط آن متغیر را از حافظه متمتیکا پاک کنیم. برای ایجاد cellهای مختلف در صفحه میتوان دید که نشانگر در هر cell به صورت عمودی است.
زمانی که از سل بیرون بیایید، نشانگر به صورت افقی خواهد بود و با کلیک کردن در این حالت یک cell جدید ایجاد میشود. برای غیرفعال کردن یک دستور در متمتیکا نیز از قسمت ادیت بالای صفحه نرم افزار گزینه Un/Comment Selection را انتخاب میکنیم.
دو دستور دیگر که در متمتیکا میتواند کمک کننده باشد، دو دستور به صورت زیر هستند:
1Names ["Global`*"]
2Remove ["Global`*"]
این دو دستور به ترتیب تمام کمیتهای نامگذاری شده در متمتیکا و حذف تمام متغیرها در متمتیکا را به همراه دارد. روی هر یک از دستورات نرم افزار و با انتخاب آنها میتوان کلید F1 را استفاده کرد و بدین ترتیب وارد قسمت help نرم افزار میشویم که اطلاعات لازم برای هر دستور در این قسمت داده شده است. همچنین دقت داشته باشید که حرف همه دستورات باید بزرگ باشد.