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



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

· обращение в виде: L = eig(A) возвращает вектор-столбец собственных значений L;

· обращение в виде: [V D] = eig(A) возвращает две матрицы: диагональную матрицу D, на диагонали стоят собственные значения и матрицу V, у которой столбцами являются собственные векторы матрицы A;

· об иных формах обращения можно ознакомиться, воспользовавшись помощью: help eig.

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

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

· обращение [L U] = lu(A) возвращает две матрицы: матрица L преобразуется к нижней треугольной форме при перестановке некоторых строк и столбцов, матрица U верхняя треугольная, так что LU = A;

· обращение [L U P] = lu(A) возвращает три матрицы: нижнюю треугольную матрицу L, верхнюю треугольную U, а также матрицу перестановок, так что LU = PA.

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

· обращение [Q R] = qr(A) возвращает две матрицы: ортогональную (унитарную) матрицу Q (QQH = 1) и верхнюю треугольную матрицу R, так что QR = A;

· обращение [Q R P] = qr(A) возвращает три матрицы: ортогональную (унитарную) матрицу Q (QQH = 1), верхнюю треугольную матрицу R и матрицу перестановок P такую, чтобы abs(diag(R)) убывали, так что QR = AP.

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

· обращение R = schur(A,¢complex¢) возвращает верхнюю треугольную матрицу R;

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

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

· обращение R = hess(A) возвращает верхнюю почти треугольную матрицу;

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

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

,

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

· [V J] = jordan(A) — возвращается две матрицы: матрица преобразования V и жорданова форма матрицы J, так что A = VJV -1.


© Скалярное произведение в данном контексте выражается формулой .

[1] Калиткин Н.Н. Численные методы. — М.: Наука, Гл. ред. физ.-мат.лит., 1978, с.175.


Дата добавления: 2022-01-22; просмотров: 19; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!