Scalars, Vectors, এবং Matrices গাণিতিক এবং ডিপ লার্নিং এর ক্ষেত্রে গুরুত্বপূর্ণ ধারণা। এগুলি মূলত লিনিয়ার আলজেব্রার বিভিন্ন উপাদান এবং ডিপ লার্নিং মডেল তৈরি, প্রশিক্ষণ, এবং গণনার জন্য ব্যবহৃত হয়।
এখানে Scalars, Vectors, এবং Matrices এর পরিচিতি এবং এই উপাদানগুলির সাথে কাজ করার জন্য কিছু Python কোড উদাহরণ দেওয়া হলো।
১. Scalars (স্কেলার)
Scalar হল একটি একক সংখ্যা, যা শুধুমাত্র একটি মান বা পরিমাণ ধারণ করে। এটি একমাত্র সংখ্যা এবং কোনো দিক বা ভেক্টরের সাথে সম্পর্কিত নয়। উদাহরণস্বরূপ, 5, -3.5, 0.2 একটি স্কেলার সংখ্যা হতে পারে।
Python উদাহরণ:
scalar = 5
print("Scalar:", scalar)
২. Vectors (ভেক্টর)
Vector হলো একটি একমাত্র মানের সারণি যা অনেকগুলো উপাদান (এলিমেন্ট) ধারণ করে। এটি একটি দিক (direction) সহ মাপ (magnitude) বোঝায়। সাধারণভাবে, এটি এক বা একাধিক সংখ্যার এক লম্বা তালিকা।
এটি সাধারণত একমাত্রিক বা দ্বিমাত্রিক হতে পারে এবং বহু মানের সন্নিবেশ প্রদান করে।
Python উদাহরণ:
import numpy as np
# একমাত্রিক ভেক্টর
vector_1d = np.array([1, 2, 3])
print("1D Vector:", vector_1d)
# দ্বিমাত্রিক ভেক্টর
vector_2d = np.array([1, 2])
print("2D Vector:", vector_2d)
৩. Matrices (ম্যাট্রিক্স)
Matrix হল একটি দুটি মাত্রার (2D) সারণি যেখানে প্রতিটি উপাদান একটি সারি এবং একটি স্তম্ভের ইন্টারসেকশনে থাকে। এটি গাণিতিক এবং বাণিজ্যিক হিসাবের জন্য একটি অত্যন্ত গুরুত্বপূর্ণ টুল, যেমন সিস্টেম অফ লিনিয়ার ইকুয়েশন সমাধান করা।
Python উদাহরণ:
# 2x2 ম্যাট্রিক্স
matrix_2x2 = np.array([[1, 2], [3, 4]])
print("2x2 Matrix:\n", matrix_2x2)
# 3x3 ম্যাট্রিক্স
matrix_3x3 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("3x3 Matrix:\n", matrix_3x3)
Vectors, Matrices, and Scalars এর সাথে গাণিতিক অপারেশন
এখন Scalars, Vectors, এবং Matrices এর সাথে গাণিতিক অপারেশন কীভাবে করা যায় তা দেখানো হবে।
1. Scalar and Vector Operations (স্কেলার এবং ভেক্টর অপারেশন)
- স্কেলার এবং ভেক্টর যোগ: স্কেলারকে একটি ভেক্টরের প্রতিটি উপাদানের সাথে যোগ করা।
scalar = 5
vector = np.array([1, 2, 3])
# স্কেলার যোগ
result = vector + scalar
print("Scalar + Vector:", result)
2. Vector and Matrix Multiplication (ভেক্টর এবং ম্যাট্রিক্স গুণ)
- ভেক্টর এবং ম্যাট্রিক্স গুণ: একটি ভেক্টরকে একটি ম্যাট্রিক্সের সাথে গুণ করা।
vector = np.array([1, 2])
matrix = np.array([[1, 2], [3, 4]])
# ভেক্টর এবং ম্যাট্রিক্স গুণ
result = np.dot(vector, matrix)
print("Vector * Matrix:", result)
3. Matrix Multiplication (ম্যাট্রিক্স গুণ)
- ম্যাট্রিক্স গুণ: দুটি ম্যাট্রিক্সের গুণফল।
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
# ম্যাট্রিক্স গুণ
result = np.dot(matrix1, matrix2)
print("Matrix1 * Matrix2:\n", result)
4. Element-wise Matrix Operations (এলিমেন্ট-ওয়াইজ ম্যাট্রিক্স অপারেশন)
- ম্যাট্রিক্সের প্রতিটি উপাদানের সাথে স্কেলার গুণ বা যোগ করা।
matrix = np.array([[1, 2], [3, 4]])
# স্কেলার গুণ
result_scalar_multiplication = matrix * 5
print("Matrix * Scalar:\n", result_scalar_multiplication)
# স্কেলার যোগ
result_scalar_addition = matrix + 5
print("Matrix + Scalar:\n", result_scalar_addition)
5. Transpose of a Matrix (ম্যাট্রিক্সের ট্রান্সপোজ)
Transpose হল একটি ম্যাট্রিক্সের সারি ও স্তম্ভের স্থান বদলে দেওয়া।
matrix = np.array([[1, 2, 3], [4, 5, 6]])
# ম্যাট্রিক্সের ট্রান্সপোজ
transpose_result = np.transpose(matrix)
print("Transpose of Matrix:\n", transpose_result)
6. Determinant of a Matrix (ম্যাট্রিক্সের ডিটারমিনেন্ট)
Determinant ম্যাট্রিক্সের একটি গাণিতিক পরিমাপ যা ম্যাট্রিক্সের বৈশিষ্ট্য সম্পর্কে তথ্য দেয়।
matrix = np.array([[1, 2], [3, 4]])
# ম্যাট্রিক্সের ডিটারমিনেন্ট
det_result = np.linalg.det(matrix)
print("Determinant of Matrix:", det_result)
7. Inverse of a Matrix (ম্যাট্রিক্সের ইনভার্স)
Inverse একটি ম্যাট্রিক্সের অপারেশন যা ম্যাট্রিক্সের বিপরীত মান নির্ধারণ করে।
matrix = np.array([[1, 2], [3, 4]])
# ম্যাট্রিক্সের ইনভার্স
inverse_result = np.linalg.inv(matrix)
print("Inverse of Matrix:\n", inverse_result)
সারাংশ:
- Scalars হল একক সংখ্যা।
- Vectors হল একাধিক উপাদানের একক সারি বা কলাম।
- Matrices হল 2D সারণি বা টেবিল, যা সারি এবং স্তম্ভের মাধ্যমে উপাদান ধারণ করে।
- Python এর NumPy লাইব্রেরি ব্যবহার করে এই গাণিতিক অপারেশনগুলি সহজেই করা যায়, যেমন ভেক্টর এবং ম্যাট্রিক্স গুণ, ট্রান্সপোজ, ডিটারমিনেন্ট ইত্যাদি।
Read more