ল্যাপাক কীভাবে ত্রিভুজাকৃতির সিস্টেমগুলি সমাধান করে এবং কেন?


9

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

এখন, ল্যাপকের অভ্যন্তরে মনে হচ্ছে এটি এলইউ ফ্যাক্টেরাইজেশনের মাধ্যমে সমাধান করে এবং আমি ভাবছি কেন, এটি যতটা জটিল হতে পারে তার চেয়ে বেশি জটিল নয়?

অতিরিক্ত হিসাবে, আমি এনআর ডটকমের "সংখ্যাসূচক রেসিপি" বইতে একটি অ্যালগরিদম পেয়েছি যা সিস্টেমকে পুনরাবৃত্তভাবে আরও ছোট ত্রিভুজাকৃতির সমস্যায় বিভক্ত করে। এটা আশাব্যঞ্জক লাগছিল। সেখানে কি অন্য কোনও গুডি আছে?

আপডেট: সমস্যার আকার প্রায় 1000x1000। আমি গোটোব্ল্যাএস ব্যবহার করেছি, এটি আপনাকে একটি ল্যাপ্যাক ৩.১.১ গ্রন্থাগারও দেয়। সমস্যাটি প্রতিসম নয়। আমি সাধারণ ত্রিভুজাকৃতির ম্যাট্রিকগুলির জন্য ল্যাপের রুটিনটি ব্যবহার করি।


2
এর জন্য আপনি কোন LAPACK রুটিনগুলি ব্যবহার করেছেন তা আপনাকে জানিয়ে দিতে হবে। মনে রাখবেন যে ডিজিটিএসভি আংশিক পাইভোটিং সম্পাদন করে তবে আপনার কোড এটি নাও করতে পারে। দয়া করে কোনটি ল্যাপাক বাস্তবায়ন আপনি পরীক্ষা করেছেন এবং কোন সমস্যাটিকে আপনার মাপদণ্ডের সাথে মাপ দিয়েছেন তাও উল্লেখ করুন। এছাড়াও, আপনার সমস্যা প্রতিসাম্য ইতিবাচক নির্দিষ্ট?
জেদ ব্রাউন

আমি প্রশ্ন গঠনে কিছু তথ্য যুক্ত করেছি।
টিয়াম

আপনার অ্যাপ্লিকেশনটি কি সীমাবদ্ধ ভলিউম পদ্ধতিগুলির সাথে কিছু করার আছে?
সুরতহাল

এটি সীমাবদ্ধ পার্থক্য, তবে এই দৃষ্টিকোণে এটি আমার ধারণা কমবেশি একই রকম।
টিয়াম

উত্তর:


6

আপনি একটি রেফারেন্স বাস্তবায়ন ব্যবহার করছেন যা আংশিক পাইভোটিং করে। ত্রিদিগোনাল সলভ খুব কম কাজ করে এবং বিএলএএস-তে কল দেয় না। এটি আপনার কোডের চেয়ে সম্ভবত ধীর কারণ এটি আংশিক পাইভোটিং করে। Dgtsv জন্য সোর্স কোড সহজবোধ্য।

যদি আপনি একই ম্যাট্রিক্স একাধিকবার সমাধান করেন, আপনি dgttrf এবং dgttrs ব্যবহার করে উপাদানগুলি সংরক্ষণ করতে পারেন । এটি সম্ভব যে এমকেএল, এসিএমএল, বা ইএসএসএল এর মতো একটি অনুকূলিত LAPACK এ বাস্তবায়নগুলি আরও পারফরম্যান্স হতে পারে।


আমি কিছুটা কৌতুহলী। পিপি সহ গাউসিয়ান এলিম ট্রিডিজোনাল সহ সমস্ত ম্যাট্রিকের জন্য কাজ করবে। সিএফডি, আমরা নামক FVM 1D ক্ষেত্রে জন্য বিশেষ পদ্ধতি ব্যবহার TDMA । আপনি যে মামলার সাথে আলোচনা করছেন তার পক্ষে কারটি বিবেচনা দ্রুত হবে? যদিও, আমি পুরোপুরি নিশ্চিত নই যে তার ম্যাট্রিকগুলি তির্যকভাবে প্রভাবশালী।
সুরতহাল

টিডিএমএ হ'ল আমি আমার কোডটিতে এটি প্রয়োগ করেছি। প্রশ্নটি হল কেন সুপার-ফাস্ট ল্যাপ এই জাতীয় নির্দিষ্ট ম্যাট্রিক্সে আংশিক পাইভোটিং পদ্ধতিটি ব্যবহার করবে, যা টিডিএমএর মতো সহজ পদ্ধতিতে দ্রুত সমাধান করা হয়।
টিয়াম

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

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