4 Laboratoriya ishi #Vinograd va Shtrassen usullari. Matritsani ko'paytirish



Download 60,3 Kb.
bet1/3
Sana16.06.2021
Hajmi60,3 Kb.
#66664
  1   2   3
Bog'liq
vinograd usul


4 Laboratoriya ishi #Vinograd va Shtrassen usullari.

Matritsani ko'paytirish

Matritsa - ikki o'lchovga teng bo'lgan matematik ob'ekt bir qator. Raqamlar matritsada qatorlar va ustunlar shaklida joylashtirilgan. Bir xil o'lchamdagi ikkita matritsa elementar ravishda qo'shilishi yoki bir-biridan olinishi mumkin. Agar birinchi matritsadagi ustunlar soni ikkinchisidagi qatorlar soniga to'g'ri keladigan bo'lsa, bu ikki matritsani ko'paytirish mumkin. Mahsulot birinchi matritsada bo'lgani kabi, ustunlar qatorida va ikkinchisidagi kabi ustunlarga ega bo'ladi. 3 x 4 matritsani 4 x 7 matritsaga ko'paytirganda, biz 3 x 7 matritsani olamiz. Matritsaning ko'payishi komutativ emas: ikkala AB va BA bir xil o'lchamdagi ikkita kvadrat matritsani hisoblash mumkin, ammo natijalar, umuman olganda, bir-biridan farq qiladi. (E'tibor bering, raqamlarning ko'payishi kommutativdir va A va B ikkita sonlarning AB va B A mahsulotlari tengdir.)

Ikki matritsaning hosilasini hisoblash uchun birinchi satrning har bir qatori davriy ravishda, ikkinchisining har bir ustuniga ko'paytiriladi. Keyin bunday ishlarning yig'indisi hisoblab chiqiladi va natijaning tegishli katagiga yoziladi. Ikkita matritsani ko'paytirish misoli keltirilgan. Matritsaning ko'payishi uchun 24 ko'paytirish va 16 qo'shimchalar kerak. Umuman olganda, a x b kattalikdagi matritsani ko'paytirishning standart algoritmi b x c kattalikdagi matritsa abc ko'payishlarni va a (b-1) qo'shimchalarni bajaradi.



G matritsani ko'paytirish algoritmi standart ko'rinishi. b x s o'lchamdagi H matritsaga x 6 o'lchamda. Natija qayd etiladi

a x s o'lchamdagi R matritsasiga...

public class MatrixMultiplection {

public static void main(String[] args) {

int[][] mA =

{{33,34,12},

{33,19,10},

{12,14,17},

{84,24,51},

{43,71,21}};

int[][] mB =

{{10,11,34,55},

{33,45,17,81},

{45,63,12,16}};

int m = mA.length;

int n = mB[0].length;

int o = mB.length;

int[][] res = new int[m][n];

for (int i = 0; i < m; i++) {

for (int j = 0; j < n; j++) {

for (int k = 0; k < o; k++) {

res[i][j] += mA[i][k] * mB[k][j];

}

}



}

for (int i = 0; i < res.length; i++) {

for (int j = 0; j < res[0].length; j++) {

System.out.format("%6d ", res[i][j]);

}

System.out.println();



}

}

}


Bir qarashda, bu ikkita matritsani ko'paytirish uchun zarur bo'lgan minimal ish hajmi. Biroq, tadqiqotchilar minimallikni isbotlay olmadilar va natijada matritsalarni yanada samaraliroq ko'paytiradigan boshqa algoritmlarni topdilar.


Download 60,3 Kb.

Do'stlaringiz bilan baham:
  1   2   3




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish