Кіріспе
Матрицаның ең көп таралған жалпыланған керісі Математикада, әсіресе сызықтық алгебрада, A матрицасының Мур–Пенроуз керісі A⁺, көбінесе псевдоинверс деп аталады, бұл кері матрицаның ең көп таралған жалпылауы болып табылады. Оны 1920 жылы Э.Х. Мур, 1951 жылы Арне Бьерхаммар және 1955 жылы Роджер Пенроуз тәуелсіз түрде сипаттады. Одан бұрын, 1903 жылы Эрик Ивар Фредхолм интегралды операторлардың псевдоинверсі түсінігін енгізген болатын. Псевдоинверс және жалпыланған керіс терминдері кейде матрицаның Мур–Пенроуз керісінің синонимдері ретінде қолданылады, бірақ кейде кері элементтен күтілетін кейбір, бірақ барлық емес қасиеттерді бөлісетін алгебралық құрылымдардың басқа элементтеріне де қолданылады. Псевдоинверстің кең таралған қолданысы – нақты шешімі жоқ сызықтық теңдеулер жүйесіне «ең жақсы сәйкес келетін» (ең кішкентай квадраттар) жуық шешімді есептеу (төмендегі § Қолданбалар бөлімін қараңыз). Тағы бір қолданысы – бірнеше шешімі бар сызықтық теңдеулер жүйесі үшін ең төменгі (Евклидтік) нормалық шешімді табу. Псевдоинверс сызықтық алгебрадағы нәтижелерді тұжырымдауға және дәлелдеуге көмектеседі. Псевдоинверс нақты немесе кешен сандардан құралған барлық матрицалар үшін анықталған және бірегей болып табылады. Оны жеке мәнге жіктеу арқылы есептеуге болады. Егер A нормальды матрица болса (мысалы, Гермит матрицасы), псевдоинверс A⁺, A ядросын жояды және A ядросына ортогональды кеңістікте A-ның дәстүрлі керісі ретінде әрекет етеді.
In mathematics, and in particular linear algebra, the Moore–Penrose inverse A^+ of a matrix A , often called the pseudoinverse, is the most widely known generalization of the inverse matrix. It was independently described by E. H. Moore in 1920, Arne Bjerhammar in 1951, and Roger Penrose in 1955. Earlier, Erik Ivar Fredholm had introduced the concept of a pseudoinverse of integral operators in 1903. The terms pseudoinverse and generalized inverse are sometimes used as synonyms for the Moore–Penrose inverse of a matrix, but sometimes applied to other elements of algebraic structures which share some but not all properties expected for an inverse element. A common use of the pseudoinverse is to compute a "best fit" (least squares) approximate solution to a system of linear equations that lacks an exact solution (see below under § Applications). Another use is to find the minimum (Euclidean) norm solution to a system of linear equations with multiple solutions. The pseudoinverse facilitates the statement and proof of results in linear algebra. The pseudoinverse is defined and unique for all matrices whose entries are real or complex numbers. It can be computed using the singular value decomposition. In the special case where A is a normal matrix (for example, a Hermitian matrix), the pseudoinverse A^+ annihilates the kernel of A and acts as a traditional inverse of A on the subspace orthogonal to the kernel.
Нөмірлік
Келесі талқылауда келесі шартты белгілер қабылданады. \mathbb{K} нақты немесе кешенді сандардың бір доменін білдіреді, тиісінше \mathbb{R} және \mathbb{C} деп белгіленеді. \mathbb{K} доменіндегі m \times n матрицалардың векторлық кеңістігі \mathbb{K}^{m \times n} арқылы белгіленеді. Егер A \in \mathbb{K}^{m\times n} болса, транспозы A^\operatorname{T} деп, ал эрмиттік транспоза (немесе конъюгат транспоза) A^* деп белгіленеді. Сонымен қатар, A \in \mathbb{K}^{m\times n} үшін, \operatorname{ran}(A) ( "қалып" деген мағынада) A матрицасының бағаналық кеңістігін (бейнесін) білдіреді (A матрицасының бағаналық векторлары құратын кеңістік), ал \ker(A) A матрицасының ядросын (null space) білдіреді. Кез келген оң бүтін сан n үшін, n \times n өлшемді бірлік матрицасы I_n \in \mathbb{K}^{n\times n} деп белгіленеді.
Геометриялық құрылыс
Егер матрицаны өрістегі A: \mathbb{K}^n \to \mathbb{K}^m сызықтық бейнелеу ретінде қарастырсақ, онда A^+: \mathbb{K}^m \to \mathbb{K}^n келесідей жіктеледі. Біз \oplus тікелей қосындыны, \perp ортогональді толықтыруды, \ker бейнелеудің ядросын, \operatorname{ran} бейнелеудің кескінін белгілейміз. Көріп отырғанымыздай, және шектеу – изоморфизм. Бұл A^+ операторы \operatorname{ran} A кескінінде осы изоморфизмнің кері операторы болып табылады және нөлдік оператор болады.
Басқаша айтқанда: берілген b ∈ \mathbb{K}^m үшін A^+b табу үшін, біріншіден, b-ны A кескініне ортогональды түрде проекциялап, кескіндегі p(b) нүктесін табыңыз. Содан кейін A^{-1}(\{p(b)\}) құрамындағы, яғни A бейнелеуі p(b) нүктесіне жіберген \mathbb{K}^n векторларын табыңыз. Бұл A ядросына параллель \mathbb{K}^n аффиндік кеңістігі болады. Осы кеңістіктегі ең кішкентай нормасы бар элемент (яғни, бастапқы нүктеге ең жақын) – ізделіп отырған A^+b жауабы. Оны A^{-1}(\{p(b)\}) жиынының кез келген элементін алып, оны A ядросының ортогональді толықтыруына ортогональды түрде проекциялап табуға болады. Бұл сипаттама сызықтық жүйенің ең кішкентай нормалық шешімімен тікелей байланысты.
This description is closely related to the minimum norm solution to a linear system.
Скалалар
Скалярлар мен векторлар үшін де псевдоинверсті анықтау мүмкін. Бұл оларды матрицалар ретінде қарастырумен бірдей. Егер x нөлге тең болса, онда x скалярының псевдоинверсі нөл болады, әйтпесе x-тің кері шамасы болады:
Векторлар
Нөлдік (барлық элементтері нөл) вектордың псевдоинверсі – транспонирленген нөлдік вектор. Нөлдік емес вектордың псевдоинверсі – оның квадратына тең шамасына бөлінген конъюгатты транспозицияланған вектор.
Диагональ матрицалар
Квадрат диагональдық матрицаның псевдоинверсісі, нөлдік емес диагональдық элементтерінің терісін алу арқылы шығарылады. Формальды түрде, егер квадрат диагональдық матрица болса, онда және , ал жалпы жағдайда, егер тек нөлдік емес элементтері диагональда орналасқан кез келген тікбұрышты матрица болса, яғни , , онда тікбұрышты матрица болып табылады, оның диагональдық элементтері бастапқы элементтерінің кері шамаларына тең, яғни .
Сызықтық тәуелсіз бағандар
Егер A матрицасының ранкі оның бағаналық ранкімен, n-мен (n ≤ m үшін) сәйкес келсе, онда n сызықтық тәуелсіз бағанасы болады және A*A инвертирленеді. Бұл жағдайда, нақты формула:
Осыдан A⁺ матрицасы A матрицасының сол жақ кері матрицасы болады: .
Сызықтық тәуелсіз жолдар
Егер A-ның ранкі оның қатарлық ранкімен сәйкес келсе, m (m ≤ n үшін), онда m сызықтық тәуелсіз қатарлар болады және AA* инвертирленеді. Бұл жағдайда, нақты формула:
Сол себепті, A⁺ – A матрицасының оң жақтан кері матрицасы болып табылады: .
Бағалы бағандар немесе қатарлар
Бұл толық бағандық немесе толық қатарлық дәрежелі жағдайдың ерекше түрі (жоғарыда талданған). Егер A матрицасы ортонормалды бағандарға немесе ортонормалды қатарларға ие болса, онда:
Қалыпты матрицалар
Егер A қалыпты болса, яғни ол өзінің түйінделген транспозымен (conjugate transpose) ауысса, онда оның псевдоинверсін оны диагональға келтіру арқылы, барлық нөлдік емес өзіндік мәндерді олардың кері шамаларына (inverses) сәйкестендіру және нөлдік өзіндік мәндерді нөлге сәйкестендіру арқылы есептеуге болады. Салдары ретінде, A-ның транспозымен ауысуы, оның псевдоинверсімен де ауысатынын білдіреді.
EP матрицалары
A (квадрат) матрицасы, егер ол өзінің псевдоинверсісімен ауысса, EP матрицасы деп аталады. Мұндай жағдайларда ғана (және тек осындай жағдайларда ғана) псевдоинверсті А-ның полином түрінде алуға болады. Мұндай полиномды А-ның сипаттамалық полиномынан немесе, жалпы алғанда, А-ның кез келген жойғыш полиномынан оңай табуға болады.
Ортогональды проекциялық матрицалар
Бұл 0 және 1 өзіндік мәндері бар қалыпты матрицаның ерекше жағдайы. Егер A – ортогональды проекциялық матрица болса, яғни және , онда псевдоинверс матрицаның өзімен сәйкес келеді:
Айналымдық матрицалар
Циркуляциялық матрица C үшін жеке мәндік жіктелу Фурье түрлендірмесі арқылы беріледі, яғни жеке мәндер – Фурье коэффициенттері. \mathcal{F} дискретті Фурье түрлендірмесінің (DFT) матрицасы болсын; онда
Санаты бойынша бөліну
r \le \min(m, n) болсын, мұндағы r – A \in \mathbb{K}^{m\times n} матрицасының ранкі. Онда A матрицасын келесідей (ранг) жіктеуге болады:
, мұндағы B \in \mathbb{K}^{m\times r} және C \in \mathbb{K}^{r\times n} матрицаларының ранкі r-ге тең. Содан кейін .
where B \in \mathbb{K}^{m\times r} and C \in \mathbb{K}^{r\times n} are of rank r Then .
QR әдісі
A A* немесе A*A көбейтіндісін және олардың кері шамаларын есептеу көбінесе сандық дөңгелектеу қателіктеріне және тәжірибеде есептеу шығындарына себеп болады. Оның орнына A-ның QR-ыдырауын қолданатын баламалы тәсілді пайдалануға болады. Егер A толық бағаналық рангда болса, онда R жоғарғы үшбұрышты матрица болатын Чольский ыдырауын қолдануға болады. Кері шаманы көбейту бірнеше оң жақ бөліктері бар жүйені шешу арқылы оңай орындалады, мұны тікелей және кері есептеулер арқылы шешуге болады. Чольский ыдырауын A*A-ны тікелей құрастырмай, A-ның QR-ыдырауын қолдану арқылы есептеуге болады, мұнда Q ортонормалды бағаналары бар матрица, ал R жоғарғы үшбұрышты матрица. Онда R – A*A-ның Чольский факторы. Толық қатарлық ранг жағдайы да ұқсас қарастырылады, A және A* рөлдерін ауыстырып, ұқсас аргументтер қолданылады.
which may be solved by forward substitution followed by back substitution. The Cholesky decomposition may be computed without forming A^*A explicitly, by alternatively using the QR decomposition of , where has orthonormal columns, , and R is upper triangular. Then
so R is the Cholesky factor of A^*A
The case of full row rank is treated similarly by using the formula and using a similar argument, swapping the roles of A and A^* .
Матрицалардағы көптіктерді қолдану
Кездейсоқ A \in \mathbb{K}^{m\times n} үшін, ол нормальды және, салдарынан, EP матрицасы болып табылады. Осы жағдайда A-ның псевдоинверсісі былай беріледі: Егер A-ның жеке мәнінің ыдырауы болса, онда \Sigma сияқты тікбұрышты диагональды матрица үшін біз диагональдағы нөлдік емес әрбір элементтің кері шамасын алып, нөлдерді өз орнында қалдырып, содан кейін матрицаны транспонирлейміз. Сандық есептеулерде, тек белгілі бір кішкентай толерансқа қарағанда үлкен элементтер ғана нөлдік емес деп есептеледі, ал қалғандары нөлдермен алмастырылады. Мысалы, MATLAB немесе GNU Octave функциясында, толеранс 1=t = ε⋅max(m, n)⋅max(Σ болып қабылданады, мұнда ε – машинаның эпсилоны. Бұл әдістің есептеулік құны SVD есептеу құнымен салыстырғанда басым, тіпті ең озық іске асырылған жағдайда да (мысалы, LAPACK) матрицалық көбейтуден бірнеше есе жоғары. Жоғарыда көрсетілген процедура псевдоинверстің неге үздіксіз операция емес екенін көрсетеді: егер бастапқы матрица A-ның жеке мәні 0 болса (\Sigma матрицасының диагональдық жазбасы), онда A-ны сәл өзгерту осы нөлді кішкентай оң санға айналдыруы мүмкін, соның салдарынан псевдоинверс күрт өзгереді, өйткені енді біз осы кішкентай санның кері шамасын алуға тиіспіз.
Блоктық матрицалар
Блоктық құрылымды матрицалардың псевдоинверсін есептеу үшін оңтайландырылған тәсілдер бар.
Бен-Исраил мен Коэннің итеративтік әдісі
Псевдоинверсті есептеудің тағы бір әдісі (Drazin inverse-ке қараңыз) кейде гиперкүштер тізбегі деп аталатын рекурсияны қолданады. Бұл рекурсия, егер ол тиісті A₀-мен басталса, A псевдоинверсіне квадраттық түрде жақындайтын тізбек береді. Таңдау (мұндағы σ₁(A) – A матрицасының ең үлкен жеке мәні) жоғарыда аталған SVD әдісімен салыстырғанда бәсекеге қабілетсіз деп есептеледі, себебі тіпті орташа нашар шарты бар матрицалар үшін де Aᵢ квадраттық жақындасу аймағына кірмес бұрын көп уақыт қажет болады. Дегенмен, егер A₀ бастапқыда Мур–Пенроуз инверсіне жақын болса және, мысалы, конвергенция жылдам (квадраттық) болады.
which is sometimes referred to as hyper power sequence. This recursion produces a sequence converging quadratically to the pseudoinverse of A if it is started with an appropriate A 0 satisfying The choice (where , with \sigma 1(A) denoting the largest singular value of A ) has been argued not to be competitive to the method using the SVD mentioned above, because even for moderately ill conditioned matrices it takes a long time before A i enters the region of quadratic convergence. However, if started with A 0 already close to the Moore–Penrose inverse and , for example , convergence is fast (quadratic).
Псевдоинверсті жаңарту
A толық қатар немесе бағандық ранкі бар және корреляциялық матрицаның керісі (толық қатарлы A үшін A A* немесе толық бағанды A үшін A*A) белгілі болған жағдайларда, A-мен байланысты матрицалардың псевдоинверсиясын Шерман-Моррисон-Вудбери формуласын қолдану арқылы есептеуге болады, бұл корреляциялық матрицаның керісін жаңартуды талап етуі мүмкін, және бұл аз жұмысқа түсуі мүмкін. Атап айтқанда, егер байланысты матрица бастапқы матрицадан тек өзгертілген, қосылған немесе жойылған қатар немесе бағанмен ғана ерекшеленетін болса, онда осы қатынасты пайдаланатын инкременттік алгоритмдер бар. Сол сияқты, корреляциялық матрицаның керісін тікелей есептемей, қатар немесе баған қосылғанда Чолески факторын жаңартуға болады. Дегенмен, жалпы ранкі жетіспейтін жағдайда псевдоинверсияны жаңарту әлдеқайда қиын.
Бағдарламалық кітапханалар
SVD, QR және кері қосудың жоғары сапалы іске асырылымдары стандартты кітапханаларда, мысалы LAPACK-та қолжетімді. Өзіндік SVD іске асыруды жазу – сандық біліктілікті талап ететін ауқымды бағдарламалау жобасы. Дегенмен, параллель есептеулер немесе кіріктірілген есептеулер сияқты ерекше жағдайларда QR арқылы немесе тіпті нақты кері шаманы қолдану артық болуы мүмкін, сондай-ақ арнайы іске асырулар қажет болуы мүмкін. Python-ның NumPy пакеті матрица функциялары арқылы псевдокері есептеуді қамтамасыз етеді: matrix.I және linalg.pinv; оның pinv функциясы SVD негізіндегі алгоритмді қолданады. SciPy linalg.pinv функциясын қосады, ол ең кіші квадраттарды шешуші арқылы жұмыс істейді. R пакеті MASS ginv функциясы арқылы Мур-Пенроуз керісін есептеуді ұсынады. Ginv функциясы R базалық пакетіндегі svd функциясымен ұсынылған жеке мәндерді ыдырату арқылы псевдокеріні есептейді. Балама ретінде pracma пакетінде қолжетімді pinv функциясын пайдалануға болады. Octave бағдарламалау тілі стандартты пакеттік pinv функциясы және псевдокері әдісі арқылы псевдокеріні қамтамасыз етеді. Julia (бағдарламалау тілінде) стандартты кітапхананың LinearAlgebra пакеті жеке мәндерді ыдырату арқылы іске асырылған Мур-Пенроуз кері pinv-ді ұсынады.