ম্যাট্রিক্সের গুণকে ব্যাখ্যা করার বিভিন্ন উপায় রয়েছে। আমি একক চিত্রের সাথে লেগে থাকব কারণ আমি বিশ্বাস করি যে এখানে বেশিরভাগ লোক এর সাথে পরিচিত (এবং চিত্রটি খুব বর্ণনামূলক)। আপনি যদি আরও বিশদ তথ্য চান তবে আমি আপনাকে উইকিপিডিয়া-নিবন্ধ , বা ওল্ফ্রামমথ ওয়ার্ল্ডের ব্যাখ্যাটি পরিদর্শন করার পরামর্শ দিচ্ছি ।
সহজ ব্যাখ্যা:
ধরুন আপনার দুটি ম্যাট্রিক রয়েছে, এ এবং বি , যেখানে এ 3-বাই -2, এবং বি 2-বাই -3। আপনি যদি এটিকে ম্যাট্রিকগুলিতে ম্যাট্রিক্স গুণ করে থাকেন তবে হয় এবি , বা বিএ আপনি নীচের ফলাফল পাবেন:
চ্যালেঞ্জ:
আপনার ভাষায় প্রতীকী ম্যাট্রিক্সের গুণটি প্রয়োগ করুন । আপনি ইনপুট হিসাবে দুটি ম্যাট্রিক নিতে হবে, যেখানে ম্যাট্রিকগুলিতে প্রতিটি উপাদান একটি অ-সাদা স্থানের ASCII- অক্ষর (কোড পয়েন্ট 33-126) দ্বারা প্রতিনিধিত্ব করে। আপনাকে অবশ্যই এই ম্যাট্রিকগুলির পণ্য আউটপুট করতে হবে।
আউটপুট সম্পর্কিত বিধি:
দুটি প্রবেশের পণ্যটির মধ্যে কোনও চিহ্ন থাকবে না। এটা ab
না a*b
, a·b
, times(a,b)
বা অনুরূপ কিছু। এটা aa
, না a^2
।
পদগুলির যোগফলের মাঝে একটি স্পেস (ASCII কোড পয়েন্ট 32) হওয়া উচিত। এটি a b
, না a+b
, plus(a,b)
বা অনুরূপ কিছু।
এই দুটি নিয়মের যুক্তিটি হ'ল: সমস্ত অ-সাদা স্থান অক্ষরকে ম্যাট্রিকগুলিতে প্রতীক হিসাবে মঞ্জুরি দেওয়া হয়, সুতরাং এগুলি গাণিতিক প্রতীক হিসাবে ব্যবহার করা অগোছালো হবে। সুতরাং, আপনি সাধারণত যা লিখতে পারেন a*b+c*d
তা হবে ab cd
।
আপনি শর্তাবলী ক্রম চয়ন করতে পারেন। ab cd
, dc ab
এবং cd ba
গাণিতিকভাবে একই কথা বলছেন, তাই আপনি এখানেও আদেশটি চয়ন করতে পারেন। অর্ডারটি যতক্ষণ গাণিতিকভাবে সঠিক হয় ততক্ষণ সুসংগত হওয়া দরকার না।
ম্যাট্রিক্স বিন্যাস সম্পর্কিত বিধি:
সারিগুলির মধ্যে কোনও সীমানা ছাড়াই একটি একক স্ট্রিং ব্যতীত আপনার পছন্দ মতো বিন্যাসে একটি ম্যাট্রিক্স প্রবেশ করা যেতে পারে (এটি কারণ আউটপুটটি সম্পূর্ণ গণ্ডগোল হয়ে যাবে)। উভয় ম্যাট্রিক অবশ্যই একই ফর্ম্যাটে ইনপুট করা উচিত। নীচের সমস্ত উদাহরণ ম্যাট্রিক্সে প্রবেশ এবং আউটপুট করার বৈধ উপায়।
"ab;cd" <- This will look awful, but it's still accepted.
"a,b\nc,d"
[[a,b],[c,d]]
[a, b]
[c, d]
আমি সচেতন যে এটি এমন অনেকগুলি বিন্যাসকে মঞ্জুরি দেয় যা অগোছালো দেখাবে, তবে চ্যালেঞ্জটি হ'ল ম্যাট্রিক্সকে গুণ করা, আউটপুটকে বিন্যাস না করা।
সাধারাইওন রুল:
- আপনি বৈধ ইনপুট ধরে নিতে পারেন। প্রদত্ত মাত্রাগুলি সহ ম্যাট্রিক্সের গুণটি সর্বদা সম্ভব হবে।
- কেবলমাত্র দুটি ম্যাট্রিক হবে।
- আপনি ধরে নিতে পারেন যে ম্যাট্রিকগুলি খালি নেই
- অন্তর্নির্মিত ফাংশনগুলি গৃহীত হয় (তবে ফর্ম্যাটিং প্রয়োজনীয়তার কারণে সম্ভবত কিছুটা জটিল)।
- প্রয়োজনে ইনপুটটিতে অবশ্যই পালানোর অক্ষর ব্যবহার করা যেতে পারে (
\'
পরিবর্তে'
)। - কোনও মানক ইনপুট এবং আউটপুট পদ্ধতি ঠিক আছে ।
পরীক্ষার কেস:
দুটি ইনপুট ম্যাট্রিক্স মাঝখানে খালি লাইন দিয়ে দেখানো হয়েছে। আউটপুট পরে প্রদর্শিত হবে Output:
। যখন দুটি আউটপুট ম্যাট্রিক থাকে তখন এটি কেবল অন্য আউটপুটগুলি দেখানো যে গ্রহণযোগ্য হবে।
পরীক্ষার কেস # 1
Inputs:
[a]
[b]
Output:
[ab]
[ba] <- Also OK
পরীক্ষার কেস # 2
Inputs:
[a, b]
[1, 4]
[y, {]
[%, 4, 1]
[a, b, c]
Output:
[a% ba, a4 bb, a1 bc]
[1% 4a, 14 4b, 11 4c]
[y% {a, y4 {b, y1 {c]
পরীক্ষার কেস # 3:
Inputs:
[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 1, 2, 3]
[4, 5, 6, 7]
[a]
[b]
[c]
[d]
Output:
[1a 2b 3c 4d]
[5a 6b 7c 8d]
[9a 1b 2c 3d]
[4a 5b 6c 7d]
[d4 c3 b2 a1] <-- Also OK
[d8 c7 b6 a5]
[1b 9a c2 3d]
[a4 b5 d7 6c]
ab cd
পরিবর্তে প্রয়োজনীয়তা সংক্রান্ত নিয়মগুলির ক্ষেত্রে যদি আপনার প্রতিক্রিয়াটি a*b+c*d
হ'ল: আপনার পক্ষে জটিল জটিল ইনপুট / আউটপুট ফর্ম্যাটগুলি এড়ানো উচিত , তবে আমি নোট চাই যে ইনপুট এবং আউটপুট ফর্ম্যাটগুলি খুব নমনীয়। আপনি ব্যবহার করতে পারবেন না *
এবং +
পণ্য এবং অঙ্কের জন্য একটি সাধারণ বিল্ট-ইন ব্যবহার করা আরও কঠিন হতে পারে, তবে আমি সেই নেতিবাচক জিনিসটিকে বিবেচনা করি না।