Проблема собственных значений в среде MATLAB

В среде MATLAB основной функцией, решающей полную проблему собственных значений, является функция eig. К ней можно обратиться несколькими способами:

  • • обращение в виде L = eig(A) возвращает вектор-столбец собственных значений L;
  • • обращение в виде [V D] = eig(A) возвращает две матрицы: диагональную матрицу D, у которой на диагонали собственные значения и матрицу V, у которой столбцами являются собственные векторы матрицы А;
  • • с иными формами обращения можно ознакомиться, воспользовавшись помощью: help eig.

Помимо прямой функции eig, решающей полную проблему собственных значений, отметим также косвенные процедуры, выражающиеся в преобразовании матриц в ту или иную упрощенную форму.

LU-разложение представляет с точностью до перестановок произвольную матрицу в виде произведения верхней и нижней треугольных матриц. Соответствующая функция называется 1и. Типичных форм обращения к функции две:

  • • обращение [L U] = 1и(А) возвращает две матрицы: матрица L преобразуется к нижней треугольной форме при перестановке некоторых строк и столбцов, матрица U - верхняя треугольная, так что LU =А;
  • • обращение [I U Р] = 1и(А) возвращает три матрицы: нижнюю треугольную матрицу I, верхнюю треугольную U, а также матрицу перестановок, так что LU =РА.

QR-разложение представляет произвольную матрицу в виде произведения ортогональной матрицы Q и верхней треугольной матрицы R. Соответствующая функция именуется qr. Имеются две типичные формы обращения к функции qr:

  • • обращение [Q К] = qr(A) возвращает две матрицы: ортогональную (унитарную) матрицу Q (QQ11 = 1) и верхнюю треугольную матрицу R, так что QR = А;
  • • обращение [Q R Р] = qr(A) возвращает три матрицы: ортогональную (унитарную) матрицу Q (QQ“ = 1), верхнюю треугольную матрицу R и матрицу перестановок Р, такую, чтобы abs(diag(.R)) убывали, так что QR =АР.

Разложение Шура любую квадратную матрицу А представляет в виде А = = URUH, где U - ортогональная (унитарная) матрица, a R - верхняя треугольная матрица. Разложение Шура реализуется с помощью функции schur, типичное обращение к ней выглядит следующим образом:

  • • обращение R = schur(A,'complex') возвращает верхнюю треугольную матрицу R;
  • • обращение [[/ К] = schur(A,'complex') возвращает пару матриц: ортогональную (унитарную) матрицу U и верхнюю треугольную матрицу R.

Разложение Хессенберга представляет любую квадратную матрицу А в виде разложения А = URUH, где U - ортогональная (унитарная) матрица, a R - верхняя почти треугольная матрица. Разложение Хессенберга реализуется с помощью функции hess, типичные обращения к которой следующие:

  • • обращение R = hess(A) возвращает верхнюю почти треугольную матрицу;
  • • обращение [[/ й] = hess(A) возвращает две матрицы: ортогональную (унитарную) матрицу U и верхнюю почти треугольную матрицу R, так что А = URUH.

Разложение Жордана. При наличии у матрицы кратных собственных значений матрицу А не всегда удается преобразовать к диагональному виду, т. е. представить в виде А = VDV ', где D - диагональная матрица. Однако можно матрицу А представить в виде несколько иного разложения: А = VJV~l, где J - так называемая жорданова (каноническая) форма матрицы А. Жорданова форма матрицы представляет собой блочно-диагональную матрицу с блоками специального вида - жордановыми клетками:

где Л - собственное значение матрицы А. В MATLAB жорданово разложение осуществляется с помощью функции jordan. Типичное обращение к функции:

возвращаются 2 матрицы: матрица преобразования V и жорданова форма матрицы J, так что А = VJV^1.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >