Մատրիցների արտադրյալ

testwiki-ից
Jump to navigation Jump to search

Մատրիցների արտադրյալ-մատրիցների նկատմամբ կատարվող հիմնական գործողություններից մեկն է։ Գործողության արդյունքում ստացված մատրիցը կոչվում է արտադրյալ մատրից։ Արտադրյալ մատրիցի տարրերի ստացումը կատարվում է ցուցադրված սխեմայի կանոններով նկարազարդումԿաղապար:Անցում։ A և B մատրիցները կարելի է բազմապատկել միայն այն դեպքում, երբ նրանք համատեղելի են․ այսինքն A մատրիցի սյուների թիվը հավասար է B մատրիցի տողերի թվին։ Մատրիցների արտադրյալին բնորոշ են արտադրյալի բոլոր հատկությունները, բացառությամբ՝ կոմուտատիվությունից հատկությունները։ Քառակուսային մատրիցների համար իրականացվում են նաև մատրիցի աստիճան Կաղապար:Անցում բարձրացնելու և հակադարձ մատրիցներԿաղապար:Անցում գտնելու գործողությունները։

Սահմանում

Դիցուք տրված են երկու ուղղանկյուն A և B մատրիցներ համապատասխանաբար l×m և m×n չափերով․

A=[a11a12a1ma21a22a2mal1al2alm],B=[b11b12b1nb21b22b2nbm1bm2bmn].

Ապա C մատրիցի չափերը կլինեն l×n:

C=[c11c12c1nc21c22c2ncl1cl2cln],

որտեղ․

cij=r=1mairbrj(i=1,2,l;j=1,2,n).

կոչվում է նրանց արտադրյալ։ Գործողությունը հնարավոր է այն և միայն այն դեպքում, երբ առաջին արտադրիչի սյուների թիվը հավասար է երկրորդ արտադրիչի տողերի թվին։ Մասնավորապես գործողությունը միշտ հնարավոր է միևնույն կարգի քառակուսային մատրիցաների համար։ Այսպիսով․ AB գոյություն ունենալուց դեռևս չի հետևում BA-ի գոյությունը։

Նկարազարդում

Մատրիցների արտադևյալը իր բնույթով նման է տող-վեկտորների սկալյար արտադրյալին։ AB մաթրիցի i, j ինդեքսով յուրաքանչյուր տարր ստացվում է A մատրիցի i-րդ տող-վեկտորի ևB մատրիցի j-րդ տող-վեկտորի սկալյար արտադրյալից։ Սխեմայում ներկայացած արտադրյալ մատրիցի յուրաքանչյուր հատում համապատասխանում է A մատրիցի տողերին և B մատրիցի սյուներին։ Հատումների արժեքները, որոնք նշված են շրջանակներով, կլինեն․

x1,2=(a1,1,a1,2)(b1,2,b2,2)=a1,1b1,2+a1,2b2,2x3,3=(a3,1,a3,2)(b1,3,b2,3)=a3,1b1,3+a3,2b2,3

Ընդհանուր առմամբ մատրիցների արտադրյալը օժտված չէ տեղափոխական հատկությամբ։ Օրինակ․

[1234]3×4 matrix[abcd]4×5 matrix=[x3,4]3×5matrix

Эx3,4 տարրը արտադրյալ մատրիցում կորոշվի հետևյալ կերպ․

x3,4=(1,2,3,4)(a,b,c,d)=1a+2b+3c+4d

Առաջին կոորդինատը ցույց է տալիս տողը, երկրորդը՝ սյունը։ xij տարրը i-րդ տողի և j-րդ սյան հատաման արդյունքն է, որը հավասար է առաջին մատրիցի i-րդ տողի և երկրորդ մատրիցի j-րդ սյան սկալյար արտադրյալին։

Հատկություններ

Զուգորդականություն

𝐀(𝐁𝐂)=(𝐀𝐁)𝐂;
α(𝐀𝐁)=(α𝐀)𝐁=𝐀(α𝐁)։

Բաշխականություն (գումարման նկատմամբ)

𝐀(𝐁+𝐂)=𝐀𝐁+𝐀𝐂;
(𝐀+𝐁)𝐂=𝐀𝐂+𝐁𝐂։

Մատրիցի արտադրյալը համապատասխան կարգի 𝐄 միավոր մատրիցի հետ հավասար է նույն մատրիցին․

𝐄𝐀=𝐀;
𝐀𝐄=𝐀։

Մատրիցի արտադրյալը համապատասխան կարգի 𝟎 զրոյական մատրիցի հետ հավասար է զրոյական մատրիցի․

𝟎𝐀=𝟎;
𝐀𝟎=𝟎։

Մատրիցների արտադրյալը ընդհանուր առմամբ տեղափոխականության հատկությամբ օժտված չէ․

𝐀𝐁𝐁𝐀։

Եթե 𝐀𝐁=𝐁𝐀, ապա 𝐀 և 𝐁 մատրիցները կոչվում են կոմուտատիվ իրենց մեջ․ Ցանկացած քառակուսի մատրիցի համար

  • 𝐀𝐀=𝐀𝐀=𝐀𝟐 (մատրիցի քառակուսի բարձրացնելը);
  • 𝐀𝐄=𝐄𝐀=𝐀;
  • 𝐀𝟎=𝟎𝐀=𝟎;
  • 𝐀𝐀𝟏=𝐀𝟏𝐀=𝐄։

Արտադրյալի որոշիչը և հետքը կախված չեն բազմապատկման հերթականությունից․

det(𝐀𝐁)=det(𝐁𝐀)=det𝐀det𝐁;
tr(𝐀𝐁)=tr(𝐁𝐀).

Հակադարձ մատրիցներ

A քառակուսային մատրիցան կոչվում է չվերասերված, եթե գոյություն ունի A1 հակադարձ մատրից այնպես, որ

AA1=A1A=E.։ Հակառակ դեպքում այն կոչվում է վերասերված։

n-րդ կարգի A=[aik] մատրիցը չվերասերված է այն և միայն աւյն դեպքում, երբ detA=det[aik]0 այս դեպքում A1 մատրիցը նույն n-րդ կարգի քառակուսային մատրից է։

A1=[aik]1=[AkidetA],

որտեղ Aik — aik տարրի հանրահաշվական լրացումն է det[aik] որոշիչի մեջ։

Մատրիցների արագ բազմապատկման մի քանի ալգորիթմներ

Գոյություն ունեն մի քանի էֆեկտիվ ալգորիթմներ, որոնք օգտագործում են մատրիցները արագ բազմապատկելու համար[1]։ Դրանք կիրառվում են առանձնապես մեծ մատրիցների համար, որոնց արագ բազմապատկումը դեռևս շարունակում է մնալ գծային հանրահաշվի չլուծված խնդիրներից մեկը։

Առաջին արագ բազմապատկման աղյուսակը դուրս է բերվել Ֆոլկեր Շտրասսենի կողմից 1969 թվականին։ Ալգորիթմը հիմնված է մատրիցների կրկնվող բաժանման վրա 2X2 բլոկների։ Ստրասենը ապացուցեց, որ 2X2 մատրիցաները կարող են բազմապատկվել ՝ օգտագործելով յոթ բազմապատկում, այնպես որ ռեկուրսիայի յուրաքանչյուր փուլում յոթ բազմապատկումը կատարվում է ութի փոխարեն։ Արդյունքում, այս ալգորիթմի բարդությունը O(nlog27)O(n2.81) մեջ է։ Այս մեթոդի անբարենպաստությունը ծրագրավորման ավելի բարդությունն է `համեմատած ստանդարտ ալգորիթմի հետ, թույլ թվային կայունությունը և օգտագործված հիշողության ավելի մեծ քանակությունը։ Մեթոդի հիման վրա մշակվել են մի շարք ալգորիթմներ, որոնք բարելավում են թվային կայունությունը, կայուն արագությունը և դրա մյուս բնութագրերը։ Այնուամենայնիվ, պարզության պատճառով, Շտրասսենի ալգորիթմը շարունակում է մնալ խոշոր մատրիցները բազմապատկելու գործնական ալգորիթմներից մեկը։

  • Մատրիցների բազմապատկման արագության ω ցուցանիշի բարելավում
ω-ի գնահատումների բարելավման ժամանակացույց ՝ մատրիցների բազմապատկման արագության համար:

Հետագայում խոշոր մատրիցների բազմապատկման արագության գնահատումները բազմիցս բարելավվել են։ Այնուամենայնիվ, այս ալգորիթմները տեսական են, հիմնականում մոտավոր։ Մոտեցման բազմապատկման ալգորիթմների անկայունության պատճառով դրանք ներկայումս գործնականում չեն օգտագործվում։

  • Պանի ալգորիթմը (1978)
1978 թվականին Պանը[2] առաջարկեց մատրիցների բազմապատկամն իր մեթոդը, որի բարդությունը կազմում էրΘ(n2.78041).
  • Բինի ալգորիթմ (1979)
1979 թվականին իտալացի գիտնականների մի խումբ Բինի գլխավորությամբ[3] մշակեցին բազմապատկման եղանակ տենզորների կիրառմաբ։ Ալգորիթմի բարդությունը կազմում է Θ(n2.7799).
  • Շյոնհագի ալգորիթմները (1981)
1981 թվականին Շյոնհագը[4] առաջարկեց մեթոդ, որն աշխատում էր Θ(n2.695)։Հաշվարկը ստացվում է «մասնակի մատրիցի բազմապատկում» մեթոդով։
Հետագայում նրան հաջողվեց ստանալ Θ(n2.6087) գնահատականը։
Հետագայում Շոնհագը ուղիղ գումարի մեթոդի հիման վրա ստացավ Θ(n2.548) բարդության գնահատականը։ Ռոմանին կարողացավ իջեցնել այն մինչև Θ(n2.5166), իսկ Պանը — մինչև Θ(n2.5161)։
  • Կոպպերսմիթ-Վինոգրադի ալգորիթմը (1990)
1990 թվականին Կոպպերսմիթը և Վինոգրադը[5] հրապարակեցին ալգորիթմ, ըստ որի ՝ 2011-ին Վիլյամս Վասիլևսկայայի ձևափոխմամբ[6], մատրիցաները բազմապատկում են O(n2.3727)արագությամբ։ Այս ալգորիթմը օգտագործում է Շտրասսենի ալգորիթմի նման գաղափարներ:Մինչ օրս ալգորիթմի փոփոխությունները ամենաշատն են ընկալվում։ Ալգորիթմը արդյունավետ է միայն աստղագիտական չափի մատրիցների վրա և չի կարող կիրառվել գործնականում։
  • Կապը խմբային տեսության հետ(1979)
2003 թվականին Կոխը ու մի քանիսը իր աշխատություններում ուսումնասիրեցին Շտրասսենի և Կոպպերսմիթ-Վինոգրադի ալգորիթմները խմբային տեսանկյունից։ Նրանք ապացուցեցին, որ Շտրասսենի ալգորիթմը ճիշտ է, եթե տեղի ունի խմբային տեսության վարկածներից մեկը։

Մատրիցի աստիճանը

Քառակուսային մատրիցները կարելի է ինքն իրենով բազմապատկել մի քանի անգամ, քանի որ նրանց մոտ հավասար են տողերի և սյուների թիվը։ Այսպիսի հաջորդական բազմապատկումը կոչվում է մատրիցի «աստիճան բարձրացում»։ Ուղղանկյուն մատրիցների մոտ տողերի և սյուների քանակները հավասար չեն ուստի աստիճան բարձրացնելը նրանց դեպքում հնարավոր չէ։ Կաղապար:Math չափերով Կաղապար:Math մնատրիցի աստիճան բարձրացնելը որոշվում է 𝐀k=𝐀𝐀𝐀k բանաձևով և ունի հետևյալ հատկությունները․

Զրոյական աստիճան

𝐀0=𝐄

որտեղ E - միավոր մատրից է։ Սա անալոգն է այն փաստի, որ թվի զրոյական աստիճանը հավասար է 1։

Սկալյարով բազմապատկում (Կաղապար:Math — սկալյար մեծություն է)

(λ𝐀)k=λk𝐀k

Որոշիչ

det(𝐀k)=det(𝐀)k։

Մատրիցի աստիճանը հաշվելու ամենապարզ մեթոդը՝ մատրիցը ինքն իրենով k անգամ բազմապատկելն է։ Առանձին ուշադրության են արժանի անկլյունագծային մատրիցները։ Քանի որ նրանց արտադրյալը հանգում է անկյունագծային տարրերի արտադրյալին, ապա A մատրիցի k աստիճանը կլինի

𝐀k=(a11000a22000ann)k=(a11k000a22k000annk).

Այդ պատճառով էլ անկյունագծային մատրիցը աստիճան բարձրացնելը դժվար չէ։

Տես նաև

Կրոնեկերի արտադրյալ

Գրականություն

  • Տ․ Կորն, Գ․ Կորն «Մատրիցների հանրահաշիվ և մատրիցային հաշնարկ»; մթեմատիկայի տեղեկագիրք, 4-րդ հրատարակություն;М: Наука, 1978։

Ծանոթագրություններ

Կաղապար:Ծանցանկ

  1. Кибернетический сборник. Новая серия. Вып. 25. Сб. статей 1983 — 1985 гг.: Пер. с англ. — М.: Мир, 1988 — В.Б. Алекссев. Сложность умножения матриц. Обзор.
  2. Pan V. Ya, Strassen’s algorithm is not optimal — trilinear technique of aggregating uniting and canceling for constructing fast algorithms for matrix operations. — Proc. 19th Annual Symposium on Foundations of Computer Science, Ann Arbor, Mich., 1978
  3. Bini D., Capovani M., Lotti G., Romani F. — O(n2.7799) complexity for approximate matrix multiplication. — Inform. Process. Lett., 1979
  4. Schonhage A. Partial and total matrix multiplication. — SIAM J. Comput., 1981
  5. Don Coppersmith and Shmuel Winograd. Matrix multiplication via arithmetic progressions. Journal of Symbolic Computation, 9:251-280, 1990.
  6. Williams, Virginia (2011), Multiplying matices in O(n2.3727 time