تنها در زندگی روزمره نیست که حسرت میخوریم چرا انسانهایی شایسته و هنرورانی پرمایه در انزوایند و بیبهره از اقبال و توجهی که سزاوار آنند. در دنیای دانش و فناوری هم گهگاه این بیمهری رخ میدهد.
یکی از مواردی که در دانش شایستگی آن بسیار بیشتر از حد آشنایی کنونی ماست Fractional Calculus یا حسابان با مرتبه آزاد است و در دنیای نرمافزار هم Julia دچار بیتوجهی مطلق جامعه پارسیزبان.
سعی دارم در حد سواد و دانش اندکم مطالبی درباره هر دو منتشر کنم که
کوشش بیهوده به از خفتگی
پیشتر درباره هر دو کمی نوشتهام.
درباره حسابان مرتبه آزاد یا Fractional Calculus
https://vrgl.ir/HakVq
درباره جولیا و بورس تهران
https://vrgl.ir/Pufgc
https://vrgl.ir/XlyAG
بسیار خلاصه اینکه اگر حساب دیفرانسیل و انتگرال زبان خدایگان قدیم برای بیان طبیعت و جهان پیوسته در حال دگرگونی بود
https://vrgl.ir/Jfnuj
زبان تازه خدایگان برای بیان دقیقتر جهان پیچیده در حال دگرگونی همیشگی، حساب و دیفرانسیل مرتبه آزاد یا Fractional Calculus است.
یکی از دلایل اینکه حسابان مرتبه آزاد یا FC (Fractional Calculus) همانند همزاد خود حساب دیفرانسیل و انتگرال متعارف شناخته شده نیست دشواری آن است. حل بسیاری از مسالههای حساب دیفرانسیل و انتگرال معمولی هم گاهی بسیار دشوار است و این دشواری در حسابان مرتبه آزاد یا FC به مراتب بیشتر است.
همانطور که معادلات دیفرانسیل معمولی بجز راه حل تحلیلی، راهحل عددی دارند و گاهی تنها راهحل عددی در اختیار ماست و ناتوان از ارائه راهحل تحلیلی هستیم، در معادلات دیفرانسیل مرتبه آزاد یا FC هم نسبت ناتوانی به توانایی حل تحلیلی بسیار بیشتر است و کمتر میتوانیم معادلات دیفرانسیل مرتبه آزاد یا FC را تحلیلی حل کنیم.
اهمیت یافتن روشهایی برای حل عددی معادلات دیفرانسیل مرتبه آزاد یا FC در اینست که راه ورود آن به رشتهها و موضوعات دیگر مانند هوش مصنوعی را هموارتر میکند.
برای آشنایی بیشتر در ادامه نوشته سعی میکنیم مشتق مرتبه نیم یا ۱/۲ تابع f(x)=x را محاسبه کنیم
البته در این مورد خاص، روش تحلیلی هم برای محاسبه داریم که کمک میکند تا بتوانیم مقادیری که با حل عددی بدست میآوریم را مقایسه کنیم و میزان دقت و اختلاف پاسخها را بسنجیم.
مساله ما: حل عددی مساله زیر


خط آبی خود تابع y=f(x)=x و خط قرمز مشتق مرتبه اول آن خط y =1 است و خط بنفش مشتق مرتبه ۱/۲ یا نیم تابع است.
قبل از رفتن سراغ پیادهسازی عددی، لازم است با چند موضوع و مفهوم آشنا شویم.
تابع گاما (Gamma Function)
تابع گاما را میتوان به عنوان «نسخهٔ تعمیمیافتهٔ فاکتوریل» در نظر گرفت. برای اعداد طبیعی n تایع فاکتوریل یعنی حاصلضرب اعداد ۱ تا n. فاکتوریل عدد ۳ یعنی ۱x۲x۳ یا عدد ۶.
تابع گاما همین مفهوم را به دنیای اعداد غیرصحیح (مثل اعشاری یا حتی مختلط) گسترش میدهد.
تعریف ریاضی تابع گاما برای x > 0

این انتگرال همیشه همگرا است و زمانی که x عدد طبیعی مانند n باشد به همان تابع فاکتوریل شناخته شده تبدیل میشود، البته فاکتوریل عدد n-1 یا !(n-1)
قدرت اصلی گاما زمانی است که x عدد طبیعی نیست.

همینطور که در نمودار میبینید، بر خلاف تابع فاکتوریل که تابعی گسسته است، گاما تابعی پیوسته است و مثلا برای تمام مقادیر حقیقی بین ۰ تا ۵، مقدار گاما وجود دارد. نقاط قرمز مقدار تابع گاما برای اعداد طبیعی ۱، ۲، ۳، ۴ و ۵ است. مثلا گامای عدد ۵ یا Γ(۵) همان فاکتوریل عدد قبلی یعنی !۴ یا ۴x۳x۲x۱ یا ۲۴ است.
نقطه سبز عدد ۱/۲ یا نیم است که مقدار گامای آن برابر رادیکال پی یا بطور تقریبی ۱.۷۷ است.
یعنی تابع گاما برای همه اعداد حقیقی مثبت بزرگتر از ۰ تعریف شده است. دلیل تعریف نشدن گاما برای اعداد ۰ و منفی اینست که تابع گاما در این بازه بر خلاف بازه مثبت رفتار همگرا ندارد و شدیدا نوسان میکند که همانطور که مشاهده میکنید وقتی به سمت چپ نمودار و صفر نزدیک میشویم مقادیر بشدت افزایش پیدا میکنند.
برای استفاده از تابع گاما در جولیا باید پکیج SpecialFunctions را اضافه کنیم
using Pkg
Pkg.add("SpecialFunctions")
نصب پکیج مدت زمانی طول میکشد چون نیاز به نصب پکیجهای پیشنیاز دارد و پس از آن میتوان از آن استفاده کرد.
gamma(5)
gamma(1/2)
gamma(π)
در ادامه تعریف مشتق با مرتبه آزاد و روشهایی مانند Riemann-Liouville و روش Grünwald–Letnikov که به نوعی تعمیم روش تعریف مشتق معمولی است را بررسی میکنیم.