C++:
জটিল সংখ্যার সাথে কাজ করা
কিভাবে:
C++-এ একটি বিল্ড-ইন লাইব্রেরি <complex>
রয়েছে যা জটিল সংখ্যাগুলির সাথে কাজ করা সহজ করে। এখানে একটি দ্রুত নজর:
#include <iostream>
#include <complex>
int main() {
std::complex<double> num1(2.0, 3.0); // একটি জটিল সংখ্যা তৈরি করে (2 + 3i)
std::complex<double> num2(3.0, 4.0); // আরেকটি জটিল সংখ্যা (3 + 4i)
// যোগ
std::complex<double> result = num1 + num2;
std::cout << "যোগের ফলাফল: " << result << std::endl; // (5 + 7i)
// গুণন
result = num1 * num2;
std::cout << "গুণের ফলাফল: " << result << std::endl; // (-6 + 17i)
// সংজ্ঞাহরণ
result = std::conj(num1);
std::cout << "num1 এর সংজ্ঞাহরণ: " << result << std::endl; // (2 - 3i)
return 0;
}
গভীর ডুব
জটিল সংখ্যাদের একটি সমৃদ্ধ ইতিহাস রয়েছে, প্রথমে 16শ শতাব্দীতে কিউবিক সমীকরণের সমাধানে উপস্থিত হয়। এগুলি কেবল প্রোগ্রামিং নয়, অনেক ক্ষেত্রে অপরিহার্য। কম্পিউটার বিজ্ঞানে, জটিল সংখ্যাগুলি দ্বি-মাত্রিক সংখ্যা স্থান প্রয়োজন যেমন ফাস্ট ফুরিয়ার ট্রান্সফর্ম (FFT) এর মতো অ্যালগরিদমগুলির সাহায্য করে।
C++-এর <complex>
লাইব্রেরি মানক হলেও, অন্যান্য ভাষায় বিকল্প রয়েছে, যেমন পাইথনের complex
ডেটা টাইপ বা জাভাস্ক্রিপ্টের গণিত লাইব্রেরি। <complex>
লাইব্রেরি নিজেই জটিল সংখ্যাগুলির জন্য ট্রিগোনোমেট্রিক, গাণিতিক এবং লগারিদমিক অপারেশনগুলি সহ ব্যাপক কার্যকারিতা প্রদান করে।
এই সংখ্যাগুলি প্রোগ্রামিং করার সময়, অন্যতম প্রাথমিক হল ভিত্তি গণিত বুঝতে পেরে ভুল হওয়া থেকে বাঁচা এবং জটিল সংজ্ঞাহরণের মতো অপারেশন বুঝতে পারা, যা কাল্পনিক অংশের চিহ্ন পরিবর্তন করে, অথবা ইউলারের সূত্র যা জটিল প্রকাশরূপগুলিকে ট্রিগনোমেট্রিক ফাংশনগুলির সাথে সম্পর্কিত করে এসবের প্রভাব।
আরো দেখুন
- C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি ডকুমেন্টেশন: https://en.cppreference.com/w/cpp/header/complex
- জটিল সংখ্যার গভীর গণিতীয় আলোচনা: https://mathworld.wolfram.com/ComplexNumber.html
- দৃশ্যায়নের জন্য, পাইথন লাইব্রেরি Matplotlib জটিল সংখ্যাগুলি প্লট করতে পারে: https://matplotlib.org/