১) Introduction
under construction....
Mathematica কী?
ম্যাথমেটিকা হলো এমন একটি সফটওয়্যার যার ভিতরে আমরা ছোট খাটো ক্যালকুলেশন থেকে শুরু করে মেশিন লার্নিং এর মতো complex জিনিসপাতিও করতে পারি। ম্যাথমেটিকা Stephen Wolfram এর Brainchild যা ডেভেলপ করা হয় Wolfram Research নামক প্রতিষ্টানে। 23 June 1988 সালে এর প্রথম ভার্সন রিলিজ পায়। এটি মূলত C/C++, Java দিয়ে তৈরী করা হয়েছে।
অনার্স লেভেলে ম্যাথমেটিকা দিয়ে আনুষাঙ্গিক কোর্সগুলোর বেসিক প্রবলেম সলভ করা হয়। যেমন, system of linear equations solve করা, ডিফারেনসিয়েশন ইন্টিগ্রেশন করা, বিভিন্ন গ্রাফ ড্র করা, নাম্বার থিওরি ও Linear Algebra related প্রবলেম সলভ করা ইত্যাদি। কিন্তু আমরা সেই কাজ গুলো করবো কীভাবে?
ম্যাথমেটিকার User Interface
আমরা যদি ম্যাথমেটিকা ওপেন করি তাহলে এরকম দেখবো

এখানে একটি সাদা উইন্ডো দেখা যাচ্ছে, সেই সাথে উপরে একটা সারিতে কিছু লেখা দেখতে পারতেছি। উপরের File Edit Imsert... ইত্যাদি লেখা গুলো হলো Menu Bar, এখান থেকে আমরা ম্যাথমেটিকার বিভিন্ন ফিচার গুলো এক্সেস করতে পারবো। আর, মেইন যে সাদা রঙের অংশ টা , সেটা হলো ম্যাথমেটিকার Notebook। আমরা এই নোটবুকেই আমাদের যাবতীয় কাজ গুলো কোড লিখে করবো।
NoteBook
ম্যাথমেটিকার নোটবুক মূলত একটি ফাইল, যার extension(যেমন: .jpg, .mp3, .pdf) হলো .nb । আমরা যখন ম্যাথমেটিকা ওপেন করি তখন বাই ডিফল্ট একটা ফাইল ওপেন হয়ে যায় যেটার নাম স্বাভাবিক অবস্থায় Untitled1.nb থাকে। আমাদেরকে প্রথমে সেটাকে সেভ করতে হবে। এর জন্য File থেকে Save এ যেতে পারি। (অথবা কীবোর্ডের Ctrl + S চাপ দিতে পারি।)

তাহলে একটি পপ-আপ উইন্ডো আসবে। সেখানে আমরা আমাদের নোটবুকের একটি নাম দিয়ে কোথায় সেভ করবো সেটা বলে দিবে।

নোটবুক সেভ হয়ে গেলে আমরা এখানে আমাদের প্রয়োজনীয় কাজ করা শুরু করতে পারি।
আগেই বলেছি ম্যাথমেটিকা দিয়ে বেসিক ক্যালকুলেশন থেকে শুরু করে অনেক কমপ্লেক্স হিসাব নিকাশ করা যায়। তো আমরা কিছু বেসিক ক্যালকুলেশন করে দেখি, যা মূলত ক্যালকুলেটর দিয়ে করে থাকি আমরা।
যেমন, একদম বেসিক উদাহরণ হিসেবে যদি 5+10 কত হয় তা দেখতে চাই, তাহলে ম্যাথমেটিকার নোটবুকে আমরা সেটাই লিখবো। শুধু লিখলেই হবে না, সেটাকে Run বা ক্যালকুলেটও করতে হবে। ক্যালকুলেটরে তো আমরা এই কাজ টা করি = বাটন প্রেস করে। কিন্তু ম্যাথমেটিকায় এটা করতে হলে আমাদেরকে কীবোর্ড থেকে Shift চেপে ধরে Enter চাপ দিতে হবে, তাহলে রেজাল্ট টা দেখাবে।


আমরা আরও কিছু বেসিক ক্যালকুলেশন দেখি

Input and output cells
শেষ উদাহরণ টা যদি লক্ষ্য করি তাহলে দেখবো যেখানে আমরা 12-7 লিখেছি তার বাম পাশে দেখাচ্ছে In[6] । শুধু এটা নয়, অন্য হিসাব-নিকাশের বাম পাশেও In লিখে ব্রাকেট এর মধ্যে একটা সংখ্যা দেখাচ্ছে [2] [3] [5] ইত্যাদি। আবার যে লাইনে আমাদের রেজাল্ট গুলো দেখাচ্ছে তার পাশেও Out[1] Out[2] Out[6] ইত্যাদি দেখা যাচ্ছে।
এই In[] হলো Input cell বা ঘর Out[] হলো output cell। অর্থাৎ, আমরা যে লাইনে আমাদের হিসাবনিকাশ বা কমান্ড লিখবো সেটা হয়ে যাবে ইনপুট সেল, আর যে লাইনে রেজাল্ট দেখাবে সেটা হয়ে যাবে আউটপুট সেল। আর পাশের সংখ্যাটি হলো কত নাম্বার ইনপুট বা আউটপুট সেটি।
আমরা Shift+Enter চাপ দিয়ে প্রতিটা ক্যালকুলেশন আলাদা আলাদা সেলে রান করেছি। আমরা যদি চাইতাম একাধিক ইনপটু একটি সেলে রান করতে, তাহলে আমরা Shift+Enter চাপ না দিয়ে শুধু Enter দিয়ে দিয়ে লাইন গুলো নিচে নিচে লেখতাম, এবং সবার শেষের লাইনে Shift+Enter চাপ দিতাম। তাহলে আমাদের প্রতি লাইনের জন্য আলাদা আলাদা আউটপুট না দেখায়ে একটি আউটপুটই দেখাতো।

Shift + Enter vs EnterMenu Bar & Palettes
আমরা আগেই দেখেছি File Edit Insert... লেখাগুলি যেখানে আছে সেটা হলো Menu bar। File থেকে আমরা নতুন নোটবুক তৈরী করতে পারবো, বা নোটবুক সেভ করতে পারবো, পিডিএফ হিসেবে নোটবুকটি export করতে পারবো। Format থেকে আমাদের ফন্ট বা সেলে বিভিন্ন স্টাইল করতে পারবো। Insert থেকে image, file, matrix, table ইত্যাদি আমাদের নোটবুকে আনতে পারবো। এগুলার ব্যবহার আমরা ম্যাথমেটিকা ইউজ করতে করতে শিখে যাব। (সেই সাথে এগুলা নিজেদের থেকে explore করতে হবে, কারণ এখানে menu bar এর সব cover করা হবে না।)
মেন্যুবারের একটি আইটেম হলো Palettes। শিল্পীরা রং-তুলি দিয়ে ক্যানভাসে আঁকার সময় হাতে যে পাতলা বোর্ডে বিভিন্ন রঙ মিক্স করে রাখে সেটি মূলত color palette। Color Palettes থেকে একজন শিল্পী যেমন বিভিন্ন রঙ নেয়, ঠিক তেমনি ম্যাথমেটিকার Palettes থেকে আমরা বিভিন্ন গাণিতিক চিহ্ন, ধ্রুবক এবং অপারেটর আমাদের নোটবুকে আনতে পারি, যা আমাদের কম্পিউটারের কী-বোর্ডে থাকে না। এখানে আমরা Basic Math Assistant টা দেখবো। Basic Math Assistant Palette ওপেন করার জন্য আমাদেরকে Menu থেকে Palettes এ গিয়ে Basic Math Assistant অপশনটি সিলেক্ট করতে হবে।

Palette টি ওপেন হয়ে আমরা সেখানে থাকা বিভিন্ন অপারেটর, ধ্রুবক, ফাংশন আমাদের নোটবুকে ইউজ করতে পারবো।

যেমন: Sin, Log, π, e, square root, Summation, Integration ফাংশন গুলো আমরা এভাবে ইউজ করবো।

Wolfram Language
ম্যাথমেটিকার নোটবুকে যদি আমরা যেভাবে কথা বলি সেভাবে লিখি: Solve this equation x^2-7x+12=0 , তাহলে কি সে আমাদের কথা বুঝবে? না, বুঝবে না। বরং আমাদেরকে error দেখাবে। তাহলে আমরা কী করতে চাচ্ছি সেটা তাকে কীভাবে বুঝানো যায়?
তাকে আমাদের ভাষায় না বুঝায়ে, সে যে ভাষাতে বুঝবে সেটাতেই তাকে নির্দেশ দিতে হবে। ম্যাথমেটিকা যেসব syntax follow করে তা মূলত Wolfram Language থেকে এসেছে। Wolfram Language আলাদা কোনো দেশের ভাষা নায়, বরং এটি ইংরেজি ভাষা; শুধু এর পদক্রম (syntax) স্বাভাবিক ইংরেজির মতো নয় এবং ব্রাকেট, কমা ইত্যাদি প্রায়ই ব্যবহৃত হয়। আমরা সামনের সেকশন গুলোতে ধীরে ধীরে Wolfram Language এর syntax সমন্ধে জানবো।
ম্যাথমেটিকার Web Interface
ম্যাথমেটিকা পিসিতে চালানোর জন্য প্রায় 15GB+ DiskSpace লাগে এবং smoothly কাজ করার ক্ষেত্রে 4GB+ ram recommended। ম্যাথমেটিকা যে শুধু ডেস্কটপ সফটওয়্যার হিসেবেই আছে এমন না। যাদের পিসি লো কনফিগারেশনের তারা ম্যাথমেটিকার ওয়েব বা ক্লাউড ভার্সনও চালাতে পারেন; যা কিনা আমার কাছে খুবই handy একটািফিচার মনে হয়েছে।
এর জন্য আমাদের wolframcloud.com এ যেতে হবে। wolframcloud এ গেলে নিচের মতো একটা পেজ আসবে, সেখান থেকে আমাদেরকে Sign up for free তে ক্লিক করতে হবে নতুন একাউন্ট খোলার জন্য।

একাউন্ট তৈরীর পেজে আমাদেরকে প্রয়োজনীয় তথ্য দিয়ে একটি wolfram ID(account) তৈরী করে নিতে হবে (এক্ষেত্রে institutional e-mail থাকলে সেটা দেওয়াই বেটার) ।

একাউন্ট তৈরী হয়ে গেলে আমরা নিচের পেজে চলে যাব (সেই সাথে আমাদের ইমেইল এড্রেসে একটি ভেরিফিকেশন লিংক যাবে যেটাতে আমাদের ক্লিক করতে হবে)। এই পেজ থেকে আমাদেরকে New Notebook এ ক্লিক করতে হবে, তাহলে wolfram এর সার্ভারে আমাদের জন্য একটি নোটবুক ফাইল তৈরী হবে।


এই নোটবুকটা ম্যাথমেটিকার ডেস্কটপ ভার্সনের নোটবুকের মতোই। এখানে আমরা আমাদের যাবতীয় কাজ করতে পারবো।
আর নোটবুক ফাইলটা যেহেতু ক্লাউডে আছে, তাই সেটি আমাদের ডেস্কটপে নিয়ে আসার জন্য File থেকে download এ ক্লিক করবো, তাহলে একটি .nb ফাইল আমাদের পিসিতে ডাউনলোড হবে (wolfram এর ক্লাউডে একটি নোটবুক ফাইল ১৫ দিন থাকবে, তারপর অটোমেটিক ডিলেট হয়ে যাবে। তাই আমাদের দরকারি ফাইলগুলো আমরা আগেভাগেই ডাউনলোড করে নিব)।
(এই সাইটে যত কোডের স্ক্রিনশট দেখা যাবে সেগুলা ম্যাথমেটিকার ওয়েব ভার্সন ইউজ করেই রান করেছি। তবে ম্যাথমেটিকার ডেস্কটপ ভার্সনের কিছু স্ক্রিনশটের জন্য আমি Maruf ও Tasfia এর কাছে কৃতজ্ঞ।)
Last updated