দক্ষ ট্রিডিয়োনাল ম্যাট্রিক্স অ্যালগরিদম বাস্তবায়ন


12

আমি অন্তর্ভুক্ত সংখ্যাসূচক স্কিম ব্যবহার করে একটি শারীরিক সমস্যা সমাধান করছি। এটি আমাকে ত্রিভুজাকৃতির ম্যাট্রিক্সের সাথে একটি লিনিয়ার সমীকরণ সমাধান করার দিকে নিয়ে যায়। আমি উইকিপিডিয়া থেকে এই অ্যালগরিদম কোড করেছি । আমি ভাবছি যদি এমন কোনও দক্ষ লাইব্রেরি রয়েছে যা এই ধরণের সমীকরণকে অনুকূলিতকরণে সমাধান করতে দেয় solve একটি গুরুত্বপূর্ণ নোটটি হ'ল ম্যাট্রিক্স কেবল তখনই পরিবর্তিত হয় যখন সিস্টেমের পরামিতিগুলি পরিবর্তন হয়, তাই আমার কাছে একটি সুন্দর পারফরম্যান্স বোনাসের জন্য কিছু অ্যালগরিদম পদক্ষেপকে প্রাক্কলিত করার সুযোগ হয়েছিল। আমি সি ++ ব্যবহার করছি।


এটি কতটা বড় সিস্টেম, এটি কি সমান্তরাল হওয়া দরকার?
অ্যারেলেল

1
আকার প্রয়োজনীয় নির্ভুলতার উপর নির্ভর করে (শত থেকে দশ হাজার মান পর্যন্ত)। এখন আমি একটি-কোর কম্পিউটারে কোডিং করছি, তবে অনেকগুলি সিপাসের সাথে বিশ্ববিদ্যালয় সুপার কম্পিউটারে অ্যাক্সেস পাওয়া সম্ভব, সুতরাং সমান্তরালতা সমর্থনটি দুর্দান্ত হবে।
gmk

উত্তর:


15

আপনার সম্ভবত ল্যাপাক বাস্তবায়ন, জিটিএসভি, উদাহরণস্বরূপ, ডিজিটিএসভি দিয়ে শুরু করা উচিত । আপনি যদি একটি বিতরণ-মেমরি সংস্করণ চান তবে আপনি স্ক্যালাপ্যাকের পি? Gtsv দিয়ে শুরু করতে চাইতে পারেন।

সম্পাদনা: যেহেতু আপনার ম্যাট্রিক্স খুব ঘন ঘন পরিবর্তিত হয় না, তাই আপনি LAPACK রুটিন? Gtsv কে ফ্যাক্টরাইজেশন ধাপে,? Gttrf, এবং সমাধানের পর্যায়ে,? Gttrs ভেঙে ত্রিভুজাকৃতির ম্যাট্রিক্সকে অপ্রয়োজনীয়ভাবে ফ্যাক্টরিং এড়াতে পারবেন। একইভাবে নামযুক্ত রুটিনগুলি স্কেল্যাপ্যাকে বিদ্যমান যা একই উদ্দেশ্যে কাজ করে।


আপনাকে ধন্যবাদ, আমার যা প্রয়োজন তা দেখে মনে হচ্ছে। আমি আমার কোড থেকে এই রুটিনগুলি চালানোর জন্য এখন চেষ্টা করব।
gmk

1
যেহেতু আপনি এটি সি ++ থেকে কল করছেন তাই কোনও বাহ্যিক "সি" {} ব্লকের ভিতরে প্রোটোটাইপটি ঘোষণা করার বিষয়টি নিশ্চিত করুন। আপনার সিস্টেমের উপর নির্ভর করে আপনার রুটিন নামের একটি আন্ডারস্কোর যুক্ত করতে হতে পারে।
জ্যাক পলসন 0

2

বিতরণ করা সমান্তরাল সিস্টেমগুলির জন্য : আমি স্ক্যালাপ্যাক চেষ্টা করিনি, যার সমান্তরাল ত্রিভুজাকৃতির সলভার রয়েছে, যার জন্য অনলাইনে উপলব্ধ উদাহরণ রয়েছে । ল্যানএল প্রকাশনায় ডেভিড মৌল্টনের প্রস্তাবিত একটি পদ্ধতিতে আমি কিছুটা সাফল্যের সাথে চেষ্টা করেছি । এটিকে কোডিং করা আপনার চেয়ে বেশি হতে পারে তবে ল্যাপাক ব্যবহার করে এটি সামান্যই এগিয়ে।


1

আমি এখানে 975 পৃষ্ঠাতে একটি আকর্ষণীয় পুনরাবৃত্তির অ্যালগরিদম পেয়েছি It এটি আশাব্যঞ্জক বলে মনে হচ্ছে, আরও অভিজ্ঞ ব্যক্তিরা এটি সম্পর্কে কী বলেন আমি অবাক।


সংখ্যাযুক্ত রেসিপিগুলির এতে কিছু ত্রুটি রয়েছে। কোডগুলির ব্যবহারের উত্স হিসাবে, এটি সেরা নয়, যদিও কেউ কেউ এটিকে ক্লাসিক বলে মনে করেন। আমি বিস্মিত হই যদি স্ক্যালাপ্যাক কমপক্ষে পুনরাবৃত্ত চক্রীয় হ্রাস হিসাবে দক্ষ হিসাবে একটি অ্যালগরিদম বাস্তবায়ন না করে।
জিফ অক্সবেরি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.