B = balance(A), [D,B] = balance(A) – элементы D являются целыми степенями двойки. Если А есть симметричная матрица, то балансировки не происходит и В = А, D = eye(size(A)).
Предварительная балансировка матрицы не всегда оправдана. Например, если относительно малые элементы исходной матрицы есть ошибки округления, то после балансировки они будут сравнимы с остальными элементами матрицы, что заведомо приведет к неверному результату при дальнейших вычислениях.
□ eig – решение обычной и обобщенной проблемы на собственные значения.
▪ d = eig(A) – в векторе d возвращаются собственные значения матрицы А, т. е. A*u = d(i)*u. Исходная матрица предварительно балансируется.
▪ [V,D] = eig(A) – столбцы матрицы A являются собственными векторами A, D есть диагональная матрица, состоящая из собственных значений, A*U = D*U. Исходная матрица предварительно балансируется.
▪ [v,D] = eig(A, 'nobalance') – то же, что и [V, D] = eig (A), но без предварительной балансировки.
▪ d = eig(A,B) – в векторе d возвращаются обобщенные собственные значения, являющиеся решением A*u=d(i)*B*u, используется QZ-алгоритм.
▪ [v,D] = eig(A,B) – дополнительно возвращаются обобщенные собственные векторы.
□ gsvd – обобщенное сингулярное разложение (см. также svd).
▪ [u,v,x,c,S] = gsvd(A,B) – нахождение унитарных матриц U и V, квадратной Х и диагональных матриц С и S таких, что: A = U*C*X', B= V*S*X', а С'*С*S'*S является единичной. Eсли size(A) = [m р], size(В) = [n р], то size(U) = [m m], size(V) = [n n], size(X) = [m min (m+n,p) ].
▪ [U,V,X,C,S] = gsvd(A,B,0) – eсли m>=p или n> = p, тo U и V имеют не более р столбцов, а С и S – не более р строк. Обобщенные сингулярные значения есть diag (С). /diag (S).
▪ s = gsvd(A,B) – возвращает вектор обобщеных сингулярных значений, определяемый как diag(С'*C). /diag(S'*s)).
□ schur – разложение Шура.
▪ [u,T] = schur(х) – для квадратной матрицы X находится матрица Т и унитарная матрица U такие, что х = u*t-u' и u'*u = eye(size (u)).
▪ T = schur(x) – возвращает только матрицу T разложения Шура.
□ svd – сингулярное разложение и нахождение сингулярных чисел,
▪ [U,D,V] = svd(A) – нахождение матрицы D с неотрицательными диагональными элементами, расположенными в порядке убывания, и унитарных матриц U и V таких, что A = U*D*V'. Если size(A) = [m n], то size(D)=[m n], size(U) = [m m] , size(V) = [n n].
▪ d = svd (A) – в векторе d возвращаются сингулярные числа матрицы А.
▪ [U,D,V] = svd(A,0) – если size(A) = [m n] и m>n, то вычисляются только n первых столбцов U и size(D) = [n n].
9.3. Решение линейных уравнений, разложения и обращение матриц
□ chol – разложение Холецкого положительно определенных эрмитовых (симметричных) матриц.
▪ R = chol(A) – возвращает верхнюю треугольную матрицу R такую, что R'*R = А. Если входной аргумент не является положительно определенной матрицей, то выводится сообщение об ошибке.
▪ [R,p] = chol(A) – второй дополнительный выходной аргумент позволяет избежать сообщения об ошибке в случае неположительно определенной А, возвращая в р целое положительное число, а в R – верхнюю треугольную матрицу такую, что В случае положительно определенной матрицы р = 0 и результат аналогичен R = chol(A).
Функция chol применима к разреженным матрицам.
□ inv – обращение матрицы.
Do'stlaringiz bilan baham: |