5.2 Determinantni hisoblashning bir nechta usullarini o'rganish
Matritsaning determinantini hisoblashning bir necha usullari mavjud, jumladan:
Kofaktorni kengaytirish usuli: Bu usul determinantni bir satr yoki ustun bo'ylab kengaytirish va har bir elementni tegishli kofaktorga ko'paytirishni o'z ichiga oladi. Jarayon matritsa 2x2 matritsaga kamaytirilguncha takrorlanadi, buning uchun determinantni osongina hisoblash mumkin.
LU parchalanish usuli: Bu usul matritsani pastki uchburchak matritsaga va yuqori uchburchak matritsaga parchalashni o'z ichiga oladi. Dastlabki matritsaning determinantini ikkala matritsaning diagonal elementlarini ko'paytirish yo'li bilan hisoblash mumkin. Mana, Apache Commons Math kutubxonasidan foydalangan holda Java-da amalga oshirish misoli:
Eigendekompozitsiya usuli: Bu usul matritsaning xos qiymatlarini topish va ularni birga ko'paytirishni o'z ichiga oladi. Mana, Apache Commons Math kutubxonasidan foydalangan holda Java-da amalga oshirish misoli:
Har bir usul hisoblash samaradorligi, raqamli barqarorlik va amalga oshirishning murakkabligi nuqtai nazaridan o'zining afzalliklari va kamchiliklariga ega.
5.3 Determinantning murakkabligini va bu usullarning afzalliklari va qirraliklari
Determinantni hisoblashning murakkabligi ishlatiladigan usulga bog'liq. Masalan, Laplasni kengaytirish usulida vaqt murakkabligi O(n!) ga teng, ya’ni matritsaning o’lchami ortishi bilan hisoblash vaqti juda tez ortadi. Boshqa tomondan, Gauss yo'q qilish usuli O(n^3) vaqt murakkabligiga ega, bu katta matritsalar uchun ancha samaralidir. Biroq, bu usul yomon shartli yoki deyarli yagona bo'lgan matritsalar bilan ishlashda boshqalarga qaraganda kamroq aniq bo'lishi mumkin. LU dekompozitsiya usuli kabi boshqa usullar ham O(n^3) vaqt murakkabligiga ega, biroq ular ma'lum turdagi matritsalar uchun Gauss yo'q qilish usuliga qaraganda aniqroq va barqarorroq bo'lishi mumkin. Umuman olganda, usulni tanlash hisoblanayotgan matritsaning o'ziga xos xususiyatlariga, masalan, o'lchami, shart raqami va siyrakligi, shuningdek, kerakli aniqlik va samaradorlik darajasiga bog'liq. Java'da Gauss yo'q qilish usuli yordamida determinantni hisoblash misoli:
Ushbu usul matritsani yuqori uchburchak shaklga aylantirish uchun qisman burish bilan Gaussni yo'q qilishdan foydalanadi, so'ngra determinantni diagonal elementlarning mahsuloti sifatida hisoblaydi. E'tibor bering, bu dastur raqamli barqarorlikni yaxshilash uchun qisman aylantirishdan foydalanadi, bu maksimal aylanish elementi joriy qatorda bo'lmasa, qatorlarni almashtirishni o'z ichiga oladi. Har qanday satr almashinuvi amalga oshirilsa, determinant ham -1 ga ko'paytiriladi.
Do'stlaringiz bilan baham: |