Перайсці да зместу

Множанне матрыц

З Вікіпедыі, свабоднай энцыклапедыі

Мно́жанне ма́трыц — адна з асноўных аперацый над матрыцамі. Матрыца, атрыманая ў выніку аперацыі множання, называецца здабы́ткам ма́трыц. Элементы новай матрыцы атрымліваюцца з элементаў старых матрыц у адпаведнасці з правіламі, праілюстраванымі ніжэйПерайсці да раздзела «Ілюстрацыя».

Матрыцы і могуць быць памножаны, калі яны сумяшчальныя ў тым сэнсе, што колькасць слупкоў матрыцы роўная колькасці радкоў .

Матрыцы маюць шматлікія алгебраічныя ўласцівасці множання, уласцівыя звычайным лікам, за выключэннем камутатыўнасціПерайсці да раздзела «Уласцівасці».

Для квадратных матрыц, акрамя множання, можа быць уведзена аперацыя ўзвядзення матрыцы ў ступеньПерайсці да раздзела «Ступені матрыц» і адваротная матрыцаПерайсці да раздзела «Адваротная матрыца».

Паколькі матрыцы выкарыстоўваюцца для апісання, у прыватнасці, пераўтварэнняў матэматычных прастораў (паварот, адлюстраванне, расцяжэнне і іншыя), здабытак матрыц будзе апісваць кампазіцыю пераўтварэнняўПерайсці да раздзела «Абмеркаванне».

Азначэнне[правіць | правіць зыходнік]

Няхай дадзены дзве прамавугольныя матрыцы і памеру і адпаведна:

Тады матрыца памеру :

у якой:

называецца іх здабыткам.

Аперацыя множання двух матрыц магчымая толькі ў тым выпадку, калі колькасць слупкоў у першым множніку роўная колькасці радкоў у другім; у гэтым выпадку кажуць, што матрыцы ўзгодненыя. У прыватнасці, множанне заўсёды магчыма, калі абодва множнікі — квадратныя матрыцы аднаго і таго ж парадку.

Такім чынам, з існавання здабытку зусім не вынікае існаванне здабытку .

Ілюстрацыя[правіць | правіць зыходнік]

Здабытак матрыц AB складаецца з усіх магчымых камбінацый скалярных здабыткаў вектар-радкоў матрыцы A і вектар-слупкоў матрыцы B. Элемент матрыцы AB з індэксамі i, j ёсць скалярным здабыткам i-га вектар-радка матрыцы A і j-га вектар-слупка матрыцы B.

Ілюстрацыя справа дэманструе вылічэнне здабытку дзвюх матрыц A і B, яна паказвае, як кожнае перасячэнне ў здабытку матрыц адпавядае радкам матрыцы A і слупкам матрыцы B. Памер выніковай матрыцы заўсёды максімальна магчымы, гэта значыць для кожнага радка матрыцы A і слупка матрыцы B заўсёды ёсць адпаведнае перасячэнне ў здабытку матрыцы.

Значэнні на перасячэннях, пазначаных кружочкамі, будуць:

У агульным выпадку, здабытак матрыц не з’яўляецца камутатыўнай аперацыяй. Напрыклад:

Элемент здабытку матрыц, прыведзеных вышэй, вылічваецца наступным чынам

Першая каардыната ў абазначэнні матрыцы абазначае радок, другая каардыната — слупок; гэты парадак выкарыстоўваецца як пры індэксацыі, так і пры абазначэнні памеру. Элемент на перасячэнні радка і слупка выніковай матрыцы з’яўляецца скалярным здабыткам -га радка першай матрыцы і -га слупка другой матрыцы. Гэта тлумачыць чаму шырыня і вышыня множаных матрыц павінны супадаць: у адваротным выпадку скалярны здабытак не вызначаны.

Абмеркаванне[правіць | правіць зыходнік]

Убачыць прычыны апісанага правіла матрычнага множання прасцей за ўсё, разгледзеўшы множанне вектара на матрыцу.

Апошняе натуральна ўводзіцца зыходзячы з таго, што пры раскладзе вектараў па базісе дзеяння (любога) лінейнага аператара A дае выражэнне кампанентаў вектара v' = Av:

То бок лінейны аператар аказваецца прадстаўлены матрыцай, вектары — вектарамі-слупкамі, а дзеянне аператара на вектар — матрычным множаннем вектара-слупка злева на матрыцу аператара (гэта прыватны выпадак матрычнага множання, калі адна з матрыц — вектар-слупок — мае памер ).

(Пераход да любога новага базіса пры змене каардынат прадстаўляецца цалкам аналагічным выразам, толькі у гэтым выпадку ўжо не кампаненты новага вектара ў старым базісе, а кампаненты старога вектара ў новым базісе; пры гэтым  — элементы матрыцы пераходу да новага базіса).

Разгледзеўшы паслядоўнае дзеянне на вектар двух аператараў: спачатку A, а потым B (або пераўтварэнне базіса A, а затым пераўтварэнне базіса B), двойчы прымяніўшы нашу формулу, атрымаем:

адкуль відаць, што кампазіцыі BA дзеяння лінейных аператараў A і B (або аналагічнай кампазіцыі пераўтварэнняў базіса) адпавядае матрыца, вылічаная па правілу здабытку адпаведных матрыц:

Вызначаны такім чынам здабытак матрыц аказваецца цалкам натуральным і відавочна карысным (дае просты і універсальны спосаб вылічэння кампазіцый адвольнай колькасці лінейных пераўтварэнняў).

Уласцівасці[правіць | правіць зыходнік]

Злучальная ўласцівасць, асацыятыўнасць:

Размеркавальная ўласцівасць, дыстрыбутыўнасць адносна складання:

.

Здабытак матрыцы на адзінкавую матрыцу адпаведнага парадку роўны самой матрыцы:

Здабытак матрыцы на нулявую матрыцу адпаведнага памеру роўны нулявой матрыцы:

Калі і  — квадратныя матрыцы аднаго і таго ж парадку, то здабытак матрыц валодае яшчэ шэрагам уласцівасцей.

Множанне матрыц у агульным выпадку некамутатыўна:

Калі , то матрыцы і называюцца камутавальнымі паміж сабой.

Прасцейшыя прыклады камутавальных матрыц:

  • любая квадратная матрыца — з самой сабой: (узвядзенне матрыцы ў квадрат);
  • любая квадратная матрыца — з адзінкавай матрыцай таго ж парадку: ;
  • любая квадратная матрыца — з нулявой матрыцай таго ж парадку: ;
  • любая невыраджаная квадратная матрыца — са сваёй адваротнай матрыцай: .

Вызначнік і след здабытку не залежаць ад парадку множання матрыц:

Адваротная матрыца[правіць | правіць зыходнік]

Квадратная матрыца называецца неасаблівай (невыраджанай), калі яна мае адзіную адваротную матрыцу такую, што выконваецца ўмова:

У адваротным выпадку матрыца называецца асаблівай (выраджанай).

Матрыца парадку з’яўляецца невыраджанай тады і толькі тады, калі у гэтым выпадку ёсць квадратная матрыца таго ж парадку

дзе  — алгебраічнае дапаўненне элемента у вызначніку

Алгарытмы хуткага перамнажэння матрыц[правіць | правіць зыходнік]

Складанасць вылічэння здабытку матрыц па азначэнні складае , аднак існуюць больш эфектыўныя алгарытмы[1], якія прымяняюцца для вялікіх матрыц. Пытанне пра мяжу хуткасці множання вялікіх матрыц, гэтак жа як і пытанне пра стварэнне найбольш хуткіх і ўстойлівых практычных алгарытмаў множання вялікіх матрыц застаецца адной з нераскрытых праблем лінейнай алгебры.

Першы алгарытм хуткага множання вялікіх матрыц быў распрацаваны Фолькерам Штрасенам[2] у 1969 годзе. У аснове алгарытму ляжыць рэкурсіўная разбіўка матрыц на блокі 2×2. Штрасен даказаў, што матрыцы 2×2 можна некамутатыўна перамножыць з дапамогай сямі множанняў, таму на кожным этапе рэкурсіі выконваецца сем множанняў замест васьмі. У выніку асімптатычная складанасць гэтага алгарытму складае . Недахопам гэтага метаду з’яўляецца большая складанасць праграмавання ў параўнанні са стандартным алгарытмам, слабая лікавая ўстойлівасць і большы аб’ём выкарыстанай памяці. Распрацаваны шэраг алгарытмаў на аснове метаду Штрасена, якія паляпшаюць лікавую ўстойлівасць, хуткасць па канстанце і іншыя яго характарыстыкі. Тым не менш, з-за прастаты алгарытм Штрасена застаецца адным з практычных алгарытмаў множання вялікіх матрыц. Штрасен таксама вылучыў наступную гіпотэзу Штрасена: для якой заўгодна малой існуе алгарытм, пры дастаткова вялікіх натуральных n гарантуе перамнажэнне дзвюх матрыц памеру за аперацый.
  • Далейшыя паляпшэнні паказчыка ступені ω для хуткасці матрычнага множання
Храналогія паляпшэння ацэнак паказчыка ступені ω для вылічальнай складанасці матрычнага множання .
У далейшым ацэнкі хуткасці множання вялікіх матрыц шматразова паляпшаліся. Аднак гэтыя алгарытмы насілі тэарэтычны, галоўным чынам набліжаны характар. З-за неўстойлівасці алгарытмаў набліжанага множання ў цяперашні час яны не выкарыстоўваюцца на практыцы.
  • Алгарытм Пана (1978)
У 1978 годзе Пан[3] прапанаваў свой метад множання матрыц, складанасць якога склала Θ(n2.78041).
  • Алгарытм Біні (1979)
У 1979 годзе група італьянскіх навукоўцаў на чале з Біні[4] распрацавала алгарытм множання матрыц з выкарыстаннем тэнзараў. Яго складанасць складае Θ(n2.7799).
  • Алгарытмы Шонхаге (1981)
У 1981 годзе Шонхаге[5] прадставіў метад, які працуе з хуткасцю Θ(n2.695). Ацэнка атрымана з дапамогай падыходу, названага частковым матрычным множаннем. Пазней яму ўдалося атрымаць ацэнку Θ(n2.6087).
Затым Шонхаге на базе метаду прамых сум атрымаў ацэнку складанасці Θ(n2.548). Рамані змог панізіць ацэнку да Θ(n2.5166), а Пан — да Θ(n2.5161).
У 1990 годзе Копперсміт і Вінаград[6] апублікавалі алгарытм, асімптатычная складанасць якога складала O(n2.3755). Гэты алгарытм выкарыстоўвае ідэі, падобныя з алгарытмам Штрасена. На сённяшні дзень мадыфікацыі алгарытму Каперсміта—Вінаграда з’яўляюцца найбольш асімптатычна хуткімі. У апошняй мадыфікацыі (2024) складанасць алгарытму складае O(n2.371552). Вядома, што шырокі клас мадыфікацый гэтага алгарытму ў прынцыпе не можа дасягнуць складанасці лепшай, чым O(n2.3078)[7]. Алгарытм Копперсміта—Вінаграда эфектыўны толькі на матрыцах астранамічнага памеру і на практыцы прымяняцца не можа.
  • Сувязь з тэорыяй груп (2003)
У 2003 годзе Кох і інш. разгледзелі ў сваіх працах[8] алгарытмы Штрасена і Каперсміта-Вінаграда ў кантэксце тэорыі груп. Яны паказалі, што гіпотэза Штрасена справядлівая (г. зн. мінімальная складанасць абмежаваная для любога ), калі выконваецца адна з гіпотэз тэорыі груп[9].

Ступені матрыц[правіць | правіць зыходнік]

Квадратныя матрыцы можна шмат разоў множыць самі на сябе гэтак жа, як звычайныя лікі, паколькі ў іх аднолькавая колькасць радкоў і слупкоў. Такое паслядоўнае множанне можна назваць узвядзеннем матрыцы ў ступень — гэта будзе прыватным выпадкам звычайнага множання некалькіх матрыц. У прамавугольных матрыц колькасць радкоў і слупкоў розная, таму іх ніколі нельга ўзводзіць у ступень.

Матрыца A памеру n × n, узведзеная ў ступень, вызначаецца формулай

і валодае наступнымі ўласцівасцямі (λ — некаторы скаляр):

Нулявая ступень:

дзе E — адзінкавая матрыца. Гэта аналаг таго факту, што нулявая ступень любога ліку роўная адзінцы.

Множанне на скаляр:

Вызначнік:

Найбольш просты спосаб вылічэння ступені матрыцы — гэта множыць k разоў матрыцу A на вынік папярэдняга множання, пачынаючы з адзінкавай матрыцы, як гэта часта робяць для скаляраў. Для дыяганалізуемых матрыц існуе лепшы метад, заснаваны на выкарыстанні спектральнага раскладанне матрыцы A. Яшчэ адзін метад, заснаваны на тэарэме Гамільтана — Кэлі, будуе больш эфектыўнае выражэнне для Ak, у якім у патрабаваную ступень узводзіцца скаляр, а не ўся матрыца.

Асобны выпадак складаюць дыяганальныя матрыцы. Паколькі здабытак дыяганальных матрыц зводзіцца да множання адпаведных дыяганальных элементаў, то k-ая ступень дыяганальнай матрыцы A складаецца з элементаў, узведзеных у патрабаваную ступень:

Такім чынам, узвесці дыяганальную матрыцу ў ступень нескладана. Пры ўзвядзенні адвольнай матрыцы (не абавязкова дыяганальнай) у ступень часта аказваецца карысным выкарыстоўваць спачатку ўласцівасці дыяганалізуемых матрыц.

Выкарыстоўваючы множанне матрыц і ўзвядзенне матрыц у ступень, можна вызначыць іншыя аперацыі над матрыцамі. Напрыклад, матрычная экспанента можа быць вызначана праз ступеневы рад, матрычны лагарыфм — як адваротная да матрычнай экспаненты функцыя і гэтак далей.

Гл. таксама[правіць | правіць зыходнік]

Літаратура[правіць | правіць зыходнік]

  • Корн Г., Корн Т. Алгебра матриц и матричное исчисление // Справочник по математике (руск.). — 4-е издание. — М: Наука, 1978. — С. 392—394.

Крыніцы[правіць | правіць зыходнік]

  1. Кибернетический сборник. Новая серия. Вып. 25. Сб. статей 1983—1985 гг.: Пер. с англ. — М.: Мир, 1988 — В. Б. Алекссев. Сложность умножения матриц. Обзор.
  2. Strassen V. Gaussian Elimination is not Optimal // Numer. Math / F. BrezziSpringer Science+Business Media, 1969. — Vol. 13, Iss. 4. — P. 354–356. — ISSN 0029-599X; 0945-3245doi:10.1007/BF02165411
  3. 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
  4. Bini D., Capovani M., Lotti G., Romani F. — complexity for approximate matrix multiplication. — Inform. Process. Lett., 1979
  5. Schonhage A. Partial and total matrix multiplication. — SIAM J. Comput., 1981
  6. Don Coppersmith and Shmuel Winograd. Matrix multiplication via arithmetic progressions. Journal of Symbolic Computation, 9:251-280, 1990.
  7. New Breakthrough Brings Matrix Multiplication Closer to Ideal. Quanta Magazine. Праверана 7 сакавіка 2024.
  8. Group-theoretic Algorithms for Matrix Multiplication. Архівавана з першакрыніцы 6 жніўня 2011. Праверана 26 верасня 2009.
  9. Toward an Optimal Algorithm for Matrix Multiplication(недаступная спасылка). Архівавана з першакрыніцы 31 сакавіка 2010. Праверана 26 верасня 2009.