Toshkent axborot texnologiyalari universiteti urganch filiali kompyuter injineringi fakulteti


Matritsalarni ko'paytirish haqida umumiy tushuncha berish


Download 0.88 Mb.
bet9/11
Sana17.06.2023
Hajmi0.88 Mb.
#1533358
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Chiziqli algoritmlar 2-mavzu

4.1 Matritsalarni ko'paytirish haqida umumiy tushuncha berish
Matritsalarni ko'paytirish chiziqli algebrada fundamental operatsiya bo'lib, keng ko'lamli dasturlarda, jumladan, kompyuter grafikasi, optimallashtirish, mashinani o'rganish va boshqalarda qo'llaniladi. Aslini olganda, matritsalarni ko'paytirish ikkita matritsani olish va uchinchi matritsani yaratish uchun ularni ko'paytirishni o'z ichiga oladi. Olingan matritsa birinchi matritsa kabi qatorlar soniga va ikkinchi matritsa kabi bir xil sonli ustunlarga ega bo'ladi. Olingan matritsadagi har bir elementni hisoblash birinchi matritsadan satrning nuqta mahsulotini va ikkinchi matritsadan ustunni olish orqali amalga oshiriladi.
Java dasturlash tilida matritsalarni ko'paytirishga misol:

Ushbu misolda bizda ikkita a va b matritsalarini kirish sifatida qabul qiladigan va ularning hosilasini yangi c matritsasi sifatida qaytaradigan matrixMultiplication funksiyasi mavjud. Funktsiya birinchi navbatda c ni mos o'lchamli nollardan iborat matritsa sifatida ishga tushiradi. Keyin funktsiya c ning har bir elementini takrorlaydi va uning qiymatini a dan satr va b dan ustunning nuqta mahsuloti sifatida hisoblaydi. Bu a ning har bir satri, b ning har bir ustuni va satr/ustun juftliklaridagi har bir element ustida takrorlanadigan ichki halqa yordamida amalga oshiriladi. Matritsalarni ko'paytirishning murakkabligi O(n^3), bu erda n - ko'paytirilayotgan matritsalarning o'lchami. Bu shuni anglatadiki, matritsalarning kattaligi oshgani sayin, ularni ko'paytirish uchun zarur bo'lgan hisoblash vaqti keskin oshadi. Matritsalarni koʻpaytirish uchun yanada samaraliroq algoritmlar mavjud, masalan, O(n^log2(7)) ning murakkabligi pastroq boʻlgan Strassen algoritmi. Biroq, bu algoritmlarni amalga oshirish ancha murakkab va ularni amalga oshirish uchun qo'shimcha xarajatlar tufayli amalda har doim ham tezroq bo'lmasligi mumkin.


4.2 Matritsa ko'paytirishning to'g'ri, qavs va burchakli holatlarini tushuntirish
Matritsalarni ko'paytirishda matritsalar shakliga qarab uch xil holat mavjud: to'g'ri, qavs va burchak.
To'g'ri holat:
To'g'ri holatda birinchi matritsadagi ustunlar soni ikkinchi matritsadagi qatorlar soniga teng bo'lishi kerak. Olingan matritsa birinchi matritsa kabi qatorlar soniga va ikkinchi matritsa kabi bir xil sonli ustunlarga ega bo'ladi. Bu matritsalarni ko'paytirishning eng keng tarqalgan holati.
Misol:

Qavslar holi:
Qavslar ichida birinchi matritsa qavslar ichida, ikkinchi matritsa esa tashqarida joylashgan. Birinchi matritsadagi ustunlar soni ikkinchi matritsadagi qatorlar soniga teng bo'lishi kerak. Olingan matritsa ikkinchi matritsa bilan bir xil sonli ustunlarga ega bo'ladi.
Misol:

Burchakli kassa:
Burchakli holatda ikkala matritsa burchakli qavs ichiga olinadi. Birinchi matritsadagi qatorlar soni ikkinchi matritsadagi ustunlar soniga teng bo'lishi kerak. Olingan matritsa birinchi matritsa kabi qatorlar soniga va ikkinchi matritsa kabi bir xil sonli ustunlarga ega bo'ladi.
Misol:

Har uch holatda ham matritsalarni ko'paytirishning murakkabligi O(n^3) ga teng, bu erda n - matritsalarning o'lchami.



Download 0.88 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling