نرم افزار متمتیکا چیست؟
متمتیکا یک سیستم نرم افزاری با کتابخانه های داخلی برای چندین حوزه محاسبات فنی است که امکان یادگیری ماشین، آمار، محاسبات نمادین، دستکاری ماتریس ها، ترسیم توابع و انواع مختلف داده، پیاده سازی الگوریتم ها، ایجاد رابط های کاربری و رابط کاربری برای برنامه نویسی در زبان های دیگر را فراهم می کند.
ایده این نرم افزار توسط «استفان ولفرام» (Stephen Wolfram) مطرح شد و توسط کمپانی ولفرام توسعه داده شد. زبان ولفرام زبان مورد استفاده در متمتیکا است.
رابط دفترچه یادداشت:
ولفرام متمتیکا که توسط برخی از کاربران آن متمتیکا نامیده می شود، به دو بخش تقسیم می شود: کرنل و فرانت اند. کرنل یا هسته عبارات (کد زبان ولفرام) را تفسیر می کند و نتیجه را برمی گرداند، که سپس می تواند توسط قسمت فرانت اند نمایش داده شود.
فرانت اند اصلی، که توسط تئودور گری در سال 1988 طراحی شد، شامل یک رابط نوت بوک است و امکان ایجاد و ویرایش اسناد نوت بوک را فراهم می کند که می تواند شامل کد، متن ساده، تصاویر و گرافیک باشد.
جایگزین اصلی فرانت اند متمتیکا عبارت از «ولفرام ورکبنچ» (Wolfram Workbench) است که یک محیط توسعه یکپارچه مبتنی بر اکلیپس است و در سال 2006 معرفی شد. این ابزار روش هایی برای توسعه کد مبتنی بر پروژه را برای متمتیکا، از جمله مدیریت بازنگری، اشکال زدایی، پروفایل و آزمایش فراهم می کند.
همچنین یک پلاگین برای IDEهای مبتنی بر IntelliJ IDEA برای کار با کد زبان ولفرام وجود دارد که علاوه بر برجسته کردن نحو می تواند متغیرهای محلی و توابع تعریف شده را تجزیه و تحلیل و به صورت خودکار تکمیل کند. هسته یا کرنل متمتیکا همچنین شامل خط فرمان در فرانت اند است.
رابط های دیگر متمتیکا عبارت از JMath بر اساس خط خوانش GNU و ولفرام اسکریپت است که برنامه های خودکار متمتیکا را از خط فرمان UNIX اجرا می کند.
محاسبات با کارایی بالا:
قابلیت های محاسبات با کارایی بالا با معرفی آرایه های طبقه بندی شده در نسخه 4 (1999) و ماتریس های پراکنده یا sparse در نسخه 5 (2003) و با استفاده از کتابخانه های مختلف و انجام محاسبات با دقت بالا، فراهم آمد.
در نسخه5.2 (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 مورد استفاده قرار می گیرد.