levmar Levenberg-Marquardt অরৈখিক একটি বাস্তবায়ন সি / সি ++. অন্তত স্কোয়ার আলগোরিদিম
Argonne ন্যাশনাল ল্যাব এ গোড়ার দিকে '80s মধ্যে বাস্তবায়িত Minpack থেকে lmder রুটিন, সম্ভবত, হয় বহুল LM অ্যালগরিদম বিনামূল্যে বাস্তবায়ন ব্যবহৃত. lmder FORTRAN77 লেখা হয় এবং বছরের পর বছর ধরে সফ্টওয়্যার একটি নির্ভরযোগ্য টুকরা করা প্রমাণিত হয়েছে. FORTRAN রুটিন সি / সি ++ থেকে বলা যেতে পারে যে বিবেচনা, এক, সমস্যা FORTRAN সি থেকে বলা হয়, প্রোগ্রামার সচেতন হতে হবে যে সি ভাল LM একটি সংস্করণ লেখার জন্য প্রেরণা সম্পর্কে আশ্চর্য (এবং সাথে সামঞ্জস্য পারে ) সাধারণ সি নিয়ম তুলনায় অস্বাভাবিক হয় ইত্যাদি নাম ম্যাংগলিং, যুক্তি ক্ষণস্থায়ী, বহুমাত্রিক অ্যারের মেমরি বিন্যাস, দুটো ঘটনার নিয়মাবলী সংক্রান্ত বিভিন্ন নিয়ম,. দ্বিতীয় কারণ লক্ষ্য প্রোগ্রামিং পরিবেশের জন্য FORTRAN কম্পাইলার অগত্যা ক্ষেত্রে নাও হতে পারে, যা পাওয়া যায় যে মঞ্জুর জন্য এই পদ্ধতির লাগে না. এটা অবিকল ফোরট্রান কোড কি বুঝতে প্রয়োজন যখন মাঝে মাঝে, এটি নির্দিষ্ট টুকরা FORTRAN কোন জ্ঞান ছাড়া প্রোগ্রামারদের ধারণাতীত মনে হতে পারে: আরেকটি কারণ একটি FORTRAN বাস্তবায়ন ভেতরের ক্রিয়াকাণ্ড বুঝতে ব্যর্থতা কি আছে. উত্পাদিত সি কোড "অদীক্ষিত" মানুষের বেশ অস্পষ্ট, যেহেতু সি অনুবাদকদের স্বয়ংক্রিয় FORTRAN (যেমন f2c) সমস্যার সমাধান না. তাছাড়া, ডকুমেন্টেশন বাস্তবায়ন অস্পষ্ট বা অনধিগম্য হতে পারে উপর ভিত্তি করে গণিত বর্ণনা. কিন্তু শেষ না অন্তত, সি একটি প্রার্থী LM বাস্তবায়ন বিনামূল্যে এবং টেকনিক্যালি সাউন্ড হতে হবে. উদাহরণস্বরূপ, (অর্থাৎ mrqmin) "সংখ্যাসূচক রেসিপি" বই উপস্থাপন LM অ্যালগরিদম সি বৈকল্পিক একটি টেকসই পছন্দ সবসময় হয় না: তার কপিরাইটযুক্ত হচ্ছে এছাড়া, এটা বলিষ্ঠতা অভাব তথাকথিত হয়
. উপরোক্ত কারণ, আমি সি ++ দিয়ে উপভোগ্য হয় LM স্বাদে সি বাস্তবায়নের রয়েছে, যা levmar প্যাকেজ উন্নত. levmar ডবল এবং একক স্পষ্টতা LM বাস্তবায়নের অন্তর্ভুক্ত করা হয়েছে, উভয় সঙ্গে বিশ্লেষণমূলক এবং সসীম পার্থক্য Jacobians আনুমানিক. এটি গনুহ সাধারণ পাবলিক লাইসেন্স এর অধীনে পদ, বিনামূল্যে প্রদান করা হয়. অসংকুচিত levmar পিছনে গাণিতিক তত্ত্ব কে Madsen, হাফ বোর্ড দ্বারা, অ রৈখিক লিস্ট স্কোয়ার সমস্যা বক্তৃতা নোট বিস্তারিতভাবে এনটাইটেল পদ্ধতি বর্ণনা করা হয় নিয়েলসেন এবং মন্ত্রণালয় Tingleff, ডেনমার্ক প্রযুক্তিগত বিশ্ববিদ্যালয়; বক্তৃতা নোট উপস্থাপন আলগোরিদিম মতলব বাস্তবায়নের উপলব্ধ রয়েছে. এখানে গৃহীত কম সমস্যা প্রণয়নের বক্তৃতা নোট বর্ণিত যে থেকে কিছুটা ভিন্ন তবে উল্লেখ্য যে
ফাংশন এর ব্যবহার:.
Levmar মাননা বিভিন্ন ব্যবহারকারী callable ফাংশন প্রস্তাব নামকরণ নিয়মাবলী অনুসরণ: প্রথম অক্ষর (ঘ বা গুলি) ডবল বা একক স্পষ্টতা এবং প্রত্যয় নির্দিষ্ট (_der বা _dif) বিশ্লেষণমূলক অথবা আনুমানিক Jacobian উল্লেখ করে. উপস্থিত থাকলে, LEC, বিসি এবং blec উপাদান যথাক্রমে, রৈখিক সমীকরণ, বক্স এবং যুগপত বক্স এবং রৈখিক সমীকরণ সীমাবদ্ধতার পরোক্ষভাবে. আরো নির্দিষ্টভাবে, levmar নীচের ফাংশন রয়েছে:
অসংকুচিত অপ্টিমাইজেশান
dlevmar_der ()
: ডবল স্পষ্টতা, বিশ্লেষণমূলক Jacobian
dlevmar_dif (): ডবল স্পষ্টতা, সসীম পার্থক্য আনুমানিক Jacobian
slevmar_der (): একক স্পষ্টতা, বিশ্লেষণমূলক Jacobian
slevmar_dif (): একক স্পষ্টতা, সসীম পার্থক্য অপ্রতিভ অপ্টিমাইজেশান
Jacobian আনুমানিক
dlevmar_lec_der () : ডবল স্পষ্টতা, রৈখিক সমীকরণ সীমাবদ্ধতা, বিশ্লেষণমূলক Jacobian
dlevmar_lec_dif (): ডবল স্পষ্টতা, রৈখিক সমীকরণ সীমাবদ্ধতা, সসীম পার্থক্য Jacobian
slevmar_lec_der () আনুমানিক: একক স্পষ্টতা, রৈখিক সমীকরণ সীমাবদ্ধতা, বিশ্লেষণমূলক Jacobian
slevmar_lec_dif (): একক স্পষ্টতা, রৈখিক সমীকরণ সীমাবদ্ধতা, সসীম পার্থক্য আনুমানিক Jacobian
dlevmar_bc_der (): ডবল স্পষ্টতা, বক্স সীমাবদ্ধতা, বিশ্লেষণমূলক Jacobian
dlevmar_bc_dif (): ডবল স্পষ্টতা, বক্স সীমাবদ্ধতা, সসীম একক স্পষ্টতা, বক্স সীমাবদ্ধতা, বিশ্লেষণমূলক Jacobian
slevmar_bc_dif (): পার্থক্য Jacobian
slevmar_bc_der () আনুমানিক ডবল: একক স্পষ্টতা, বক্স সীমাবদ্ধতা, সসীম পার্থক্য Jacobian
dlevmar_blec_der () আনুমানিক স্পষ্টতা, বক্স ও রৈখিক সমীকরণ সীমাবদ্ধতা, বিশ্লেষণমূলক Jacobian
dlevmar_blec_dif (): একক স্পষ্টতা, বক্স ও রৈখিক সমীকরণ সীমাবদ্ধতা, বিশ্লেষণমূলক Jacobian: ডবল স্পষ্টতা, বক্স ও রৈখিক সমীকরণ সীমাবদ্ধতা, সসীম পার্থক্য Jacobian
slevmar_blec_der () আনুমানিক
slevmar_blec_dif (): একক স্পষ্টতা, বক্স ও রৈখিক সমীকরণ সীমাবদ্ধতা, সসীম পার্থক্য ফাংশন পুনরাবৃত্তিমূলক মূল্যায়ন Jacobian ফলাফল আনুমানিক সসীম পার্থক্য ব্যবহার করে লাগানো করা যে Jacobian
নোটিশ আনুমানিক. এই মূল্যায়ন মোট সংখ্যা কমাতে নিশানা, xxxxxxx_dif ফাংশন Broyden এর র্যাঙ্ক এক আপডেট ব্যবহার করে Jacobian থেকে কর্তক হয় approximations বাস্তবায়ন. তারা ভাল (ও L2 আদর্শ পদ) বর্ণনা করে যে পরামিতি ভেক্টর পি পরিমাপ ভেক্টর এক্স চাইতে অর্থাৎ সমস্ত কর্ম, একই সমস্যা সমাধানের জন্য. আরো স্পষ্ট করে, একটি ভেক্টর ফাংশন f দেওয়া: r ^ M - এন> = মি সঙ্গে> r ^ এন, পি তারা গণনা করা যেমন যে চ (P) ~ = এক্স, ছক আদর্শ অর্থাৎ || ই || ^ 2 = | | XF (P) || ^ 2 কমিয়ে আনা হয়. এছাড়াও, ফর্ম পাউণ্ড বাক্স সীমাবদ্ধতা [আমি]
এই রিলিজে নতুন কি,
- এই সংস্করণের জন্য সমর্থন যোগ করা হয়েছে শুরু সত্য মিনিমাইজার থেকে অনেক দূরে যখন অভিসৃতি উন্নত করতে পারেন যা xlevmar_bc_der (), থেকে তির্যক আরোহী.
- রক্তরস, মাল্টি-কোর প্রসেসরের জন্য রৈখিক বীজগণিত গ্রন্থাগারের সঙ্গে সমান্তরাল Cholesky পচানি সমর্থনকারী একটি রৈখিক সিস্টেম Solver.
- লিনিয়ার solvers সংশোধন করা হয়েছে.
- প্রকল্প নির্মাণের জন্য CMake কনফিগারেশন ফাইল পরিবর্তন করা হয়েছে.
- বেশ কিছু ছোটখাট পরিবর্তন করা হয়েছে.
তারা ভাল ক্যাশে কর্মক্ষমতা যার ফলাফল প্রতিসম ম্যাট্রিক্স নিম্ন ত্রিভুজ, কাজ যাতে
কি সংস্করণ 2.5 নতুন:
- পূর্ববর্তী সংস্করণ ব্যবহারকারীদের জন্য সতর্কতা: ভাল ঐক্য এবং পরিহার জন্য দ্বন্দ্ব, levmar এর হেডার ফাইলের নাম levmar.h করতে lm.h থেকে পরিবর্তন হয়; সেই অনুযায়ী আপনার সোর্স ফাইল আপডেট করুন.
- যুগপত বক্স, রৈখিক সমীকরণ এবং বৈষম্য সীমাবদ্ধতা (কর্ম xlevmar_bleic_der () & xlevmar_bleic_dif () দেখুন) অধীনে হ্রাসের জন্য সমর্থন যোগ করা হয়েছে.
- বাস্তবায়িত সুবিধা চাদরে () & xlevmar_bleic_dif () সহজ অপ্রতিভ ক্ষেত্রে, যেমন সঙ্গে তার আচরণ xlevmar_bleic_der থেকে xlevmar_blic_der () & xlevmar_blic_dif () বক্স এবং রৈখিক বৈষম্য সীমাবদ্ধতা শুধুমাত্র. অধীন সমর্থন কম
- UDUt পচানি উপর ভিত্তি করে একটি রৈখিক সিস্টেম Solver যোগ করা হয়েছে (অর্থাৎ, sqrt মুক্ত Cholesky).
- সবচেয়ে রৈখিক solvers থেকে কিছু অপ্রয়োজনীয় মেমরি কপি সরানো হয়েছে.
- নতুন তথ্য চোস্ত পরীক্ষা সমস্যা (Osborne). যোগ করা হয়েছে
- কয়েক অন্যান্য ছোটখাট পরিবর্তন করা হয়.
কি সংস্করণ 2.4 নতুন:
- পূর্ববর্তী সংস্করণ ব্যবহারকারীদের জন্য সতর্কতা: তথ্য যুক্তি আকার (অর্থাৎ, LM_INFO_SZ) একটি নতুন ফেরত ক্ষেত্র অন্তর্ভুক্ত এক দ্বারা বর্ধিত হয় (অর্থাৎ, তথ্য [9]) কম অবশ্যই সময় সমাধান রৈখিক সিস্টেমের সংখ্যা যে অনুরূপ. তথ্য অ্যারের মধ্যে পূর্বে ফিরে ক্ষেত্র সূচকের অপরিবর্তিত থাকবে.
- ছোট আকারের কম সমস্যার জন্য আনুমানিক চট জে ^ টি * জে এবং J ^ টি * ই কম্পিউটিং জন্য আরো একটি ক্যাশে-দক্ষ প্রকল্প বাস্তবায়িত.
- রৈখিক solvers এর আমন্ত্রণ মধ্যে অপরিবর্তিত রাখা কোন কাজ মেমরি levmar রুটিন অবসান উপর ছেড়ে দেয়া হয় যে নিশ্চিত.
- রৈখিক solvers ওভার বরাদ্দ অনিয়মিত এড়ানো, অক্জিলিয়ারী মেমরি ন্যূনতম প্রয়োজনীয় পরিমাণ চাকরী নিশ্চিত করুন যে.
- ই = এক্স-HX গুনতি দ্রুত গাড়ী চালানোর আপ জন্য একটি লুপ unrolling প্রকল্প বাস্তবায়িত.
- 64 বিট সিস্টেমের মেমরি প্রান্তিককরণ সঙ্গে বিষয় একটি দম্পতি সংশোধন করা হয়েছে.
- সংকল্প সহগ গুনতি জন্য ফাংশন যোগ করা হয়েছে.
- কয়েক ছোটখাট বিষয় সঙ্গে মোকাবিলা.
পাওয়া মন্তব্যসমূহ না