math:t2-11

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
math:t2-11 [2023/05/11 07:29] – создано rootmath:t2-11 [2023/05/11 07:31] (текущий) – [Полярное разложение] root
Строка 5: Строка 5:
 числа оператора $A^{*}A$ называют **сингулярным числом** оператора числа оператора $A^{*}A$ называют **сингулярным числом** оператора
 $A$. $A$.
 +
 +==== Сингулярное разложение ====
  
 //Определение.// Сингулярное разложение (SVD) для матрицы $A$ //Определение.// Сингулярное разложение (SVD) для матрицы $A$
Строка 16: Строка 18:
 Для произвольной матрицы $A$ размера $m\times n$ сингулярное разложение Для произвольной матрицы $A$ размера $m\times n$ сингулярное разложение
 строится следующим образом: строится следующим образом:
-  - Элемент нумерованного списка +  * Элемент нумерованного списка 
-  - Вычислить матрицу $A^{\dagger}\cdot A$ размера $n\times n$.  +  * Вычислить матрицу $A^{\dagger}\cdot A$ размера $n\times n$.  
-  - Найти собственные значения и собственные векторы матрицы $A^{\dagger}\cdot A.$ Пусть собственные значения будут $\lambda_{1},\lambda_{2},...,\lambda_{k},$ где $k=\text{min}(m,n),$ а соответствующие им собственные векторы будут $v_{1},v_{2},...,v_{k}.$  +  * Найти собственные значения и собственные векторы матрицы $A^{\dagger}\cdot A.$ Пусть собственные значения будут $\lambda_{1},\lambda_{2},...,\lambda_{k},$ где $k=\text{min}(m,n),$ а соответствующие им собственные векторы будут $v_{1},v_{2},...,v_{k}.$  
-  - Нормализовать каждый из векторов $v_{i}$ так, чтобы его длина была равна 1: $v_{i}'=\frac{v_{i}}{|v_{i}|},$ где $|v_{i}|$ --- длина вектора $v_{i}.$  +  * Нормализовать каждый из векторов $v_{i}$ так, чтобы его длина была равна 1: $v_{i}'=\frac{v_{i}}{|v_{i}|},$ где $|v_{i}|$ --- длина вектора $v_{i}.$  
-  - Сформировать матрицу $V$ размера $n\times k,$ состоящую из найденных собственных векторов $v'_{1},v'_{2},...,v'_{k}$. Если $k<n,$ то дополнить базис ортонормированными векторами $v'_{k+1},v'_{k+2},...,v'_{n}$. Построить из векторов $v'_{1},v'_{2},...,v'_{n}$ матрицу $V.$ Транспонированием и сопряжением матрицы $V$ построить $V^{\dagger}$.  +  * Сформировать матрицу $V$ размера $n\times k,$ состоящую из найденных собственных векторов $v'_{1},v'_{2},...,v'_{k}$. Если $k<n,$ то дополнить базис ортонормированными векторами $v'_{k+1},v'_{k+2},...,v'_{n}$. Построить из векторов $v'_{1},v'_{2},...,v'_{n}$ матрицу $V.$ Транспонированием и сопряжением матрицы $V$ построить $V^{\dagger}$.  
-  - Найти сингулярные числа матрицы $A$ как корни из найденных собственных значений матрицы $A^{\dagger}\cdot A$: $\sigma_{i}=\sqrt{\lambda_{i}},$ где $i=1,\ldots,k.$ Сформировать диагональную матрицу $\Sigma$ размера $m\times n$ состоящую из найденных сингулярных значений $\sigma_{1}\geqslant\sigma_{2}\geqslant...\geqslant\sigma_{k}.$ Причём, если $m<n,$ то +  * Найти сингулярные числа матрицы $A$ как корни из найденных собственных значений матрицы $A^{\dagger}\cdot A$: $\sigma_{i}=\sqrt{\lambda_{i}},$ где $i=1,\ldots,k.$ Сформировать диагональную матрицу $\Sigma$ размера $m\times n$ состоящую из найденных сингулярных значений $\sigma_{1}\geqslant\sigma_{2}\geqslant...\geqslant\sigma_{k}.$ Причём, если $m<n,$ то 
 $$\Sigma=\left(\begin{array}{cccccc} $$\Sigma=\left(\begin{array}{cccccc}
 \sigma_{1} & 0 & \cdots & 0 & \cdots & 0\\ \sigma_{1} & 0 & \cdots & 0 & \cdots & 0\\
Строка 37: Строка 39:
 0 & 0 & \cdots & 0 0 & 0 & \cdots & 0
 \end{array}\right).$$ \end{array}\right).$$
-  - Построить вектора $u_{i}=\frac{1}{\sigma_{i}}Av'_{i}$. Если $m>n,$ то дополнить базис ортонормированными векторами $u_{n+1},...,u_{m}$. Построить из векторов $u_{1},...,u_{m}$ матрицу $U.$  +  * Построить вектора $u_{i}=\frac{1}{\sigma_{i}}Av'_{i}$. Если $m>n,$ то дополнить базис ортонормированными векторами $u_{n+1},...,u_{m}$. Построить из векторов $u_{1},...,u_{m}$ матрицу $U.$  
-  - Таким образом, сингулярное разложение матрицы $A$ может быть представлено в виде $A=U\cdot\Sigma\cdot V^{\dagger}.$ Матрица $U$ будет ортогональной и размера $m\times n,$ матрица $\Sigma$ будет диагональной и размера $m\times n$, а матрица $V^{\dagger}$ будет ортогональной и размера $n\times n$.+  * Таким образом, сингулярное разложение матрицы $A$ может быть представлено в виде $A=U\cdot\Sigma\cdot V^{\dagger}.$ Матрица $U$ будет ортогональной и размера $m\times n,$ матрица $\Sigma$ будет диагональной и размера $m\times n$, а матрица $V^{\dagger}$ будет ортогональной и размера $n\times n$.
  
 ==== Полярное разложение ==== ==== Полярное разложение ====
Строка 64: Строка 66:
 Алгоритм нахождения левого полярного разложения.  Алгоритм нахождения левого полярного разложения. 
  
-  - Составляем матрицу $AA^{*}$. +  * Составляем матрицу $AA^{*}$. 
-  - Вычисляем $P=\sqrt{AA^{*}}$, для этого сначала +  * Вычисляем $P=\sqrt{AA^{*}}$, для этого сначала находим спектр $AA^{*}$ в виде $\lambda_{1},\ldots,\lambda_{m}$; 
-  * Элемент ненумерованного списка-- находим спектр $AA^{*}$ в виде $\lambda_{1},\ldots,\lambda_{m}$; +
   * находим ОНБ из собственных векторов, в котором $AA^{*}$ имеет диагональный вид $D$, $T$ --- матрица перехода к этому базису;    * находим ОНБ из собственных векторов, в котором $AA^{*}$ имеет диагональный вид $D$, $T$ --- матрица перехода к этому базису; 
   * вычисляем $P=T\sqrt{D}T^{-1}$.    * вычисляем $P=T\sqrt{D}T^{-1}$. 
-  - ищем матрицу $V$ такую, чтобы $A=PV$. Если $\det A\neq0$, то $V=P^{-1}A.$ +  * ищем матрицу $V$ такую, чтобы $A=PV$. Если $\det A\neq0$, то $V=P^{-1}A.$ 
  
 Алгоритм нахождения правого полярного разложения получается из алгоритма Алгоритм нахождения правого полярного разложения получается из алгоритма