spec
собственные значения и собственные вектора матрицы или пучка
Синтаксис
evals = spec(A) [R, diagevals] = spec(A) evals = spec(A, B) [alpha, beta] = spec(A, B) [alpha, beta, Z] = spec(A, B) [alpha, beta, Q, Z] = spec(A, B)
Аргументы
- A, B
- Квадратные матрицы вещественных или комплексных чисел одинаковых размеров.
- evals
- Вещественный или комплексный вектор: собственные значения.
- diagevals
- Вещественная или комплексная диагональная матрица: собственные значения расположены по диагонали.
- R
- Вещественная или комплексная обратимая квадратная матрица: матрица правых собственных векторов.
- alpha, beta
- Векторы одинаковых размеров: обобщённые собственные значения
пучка матрицы
A - s.B(гдеs- это переменная).alpha./betaдаёт обычные собственные значения.alpha- это вещественные или комплексные значения.beta- это вещественные значения. - Q
- Вещественная или комплексная обратимая квадратная матрица: обобщённые левые собственные векторы пучка.
- Z
- Вещественная или комплексная обратимая квадратная матрица: обобщённые правые собственные векторы пучка.
Описание
evals = spec(A) вычисляет собственные
значения и возвращает их в векторе evals.
[R, diagevals] = spec(A)
возвращает собственные значения через диагональную матрицу
diagevals и правые собственные векторы в R.
См. также bdiag(…).
При использовании синтаксиса spec(A) с единственной матрицей, истинность результатов следующая:
| Матрица | Вещественная | Комплексная | ||
|---|---|---|---|---|
| Симметричная | Несимметричная | Эрмитова | Неэрмитова | |
| Собственные значения | вещественные | комплексные | вещественные | комплексные |
| Собственные векторы | вещественные | комплексные | комплексные | комплексные |
Комплексная эрмитова матрица равна себе самой комплексно сопряжённой и транспонированной.
Пучок матриц A - s.B
evals = spec(A, B)
возвращает собственные значения пучка матриц, то есть корни полиномиальной
матрицы s.B - A.
[alpha, beta] = spec(A, B)
возвращает обобщённые собственные значения alpha и
beta пучка матриц A - s.B.
Они такие, что обычные собственные значения пучка представляются как
alpha./beta. Тогда матрица
A - alpha./beta × B является сингулярной.
Если beta(i) = 0, то iтое
собственное значение равно бесконечности.
Для B = eye(A), alpha./beta равно
spec(A). Обычно представляется как пара
(alpha,beta), поскольку есть разумная интерпретация для
beta=0, даже когда оба равны нулю.
[alpha, beta, Z] = spec(A, B)
возвращает дополнительно матрицу Z обобщённых правых
собственных векторов пучка.
[alpha, beta, Q, Z] = spec(A, B)
возвращает дополнительно матрицу Q обобщённых левых
собственных векторов пучка.
![]() | Для больших плотных или разрежённых матриц может быть использована функция
eigs(). |
Используемые программы
Вычисления собственных значений матриц основаны на программах Lapack
DSYEV и ZHEEV, когда матрица симметрична или эрмитова.
DGEEV и ZGEEV, когда матрица ни симметрична ни эрмитова.
Вычисление собственных значений пучка основаны на программах Lapack DGGEV и ZGGEV.
Примеры
// СОБСТВЕННЫЕ ЗНАЧЕНИЯ МАТРИЦЫ A = diag([1,2,3]); X = rand(3,3); A = inv(X)*A*X; spec(A) x = poly(0,'x'); pol = det(x*eye(3,3)-A) roots(pol) [S,X] = bdiag(A); clean(inv(X)*A*X) // СОБСТВЕННЫЕ ЗНАЧЕНИЯ ПУЧКА A = rand(3,3); [al, be, R] = spec(A, eye(A)); al ./ be clean(inv(R)*A*R) // распечатка собственных значений (общая матрица) A = A + %i*rand(A); E = rand(A); roots(det(A-%s*E)) // случай комплексных чисел
Смотрите также
- eigs — calculates largest eigenvalues and eigenvectors of matrices
- bdiag — блоковая диагонализация, обобщённые собственные векторы
- schur — [ordered] Schur decomposition of matrix and pencils
- colcomp — column compression, kernel, nullspace
- det — определитель квадратной матрицы
- poly — Определение полинома через указанные корни или коэффициенты или определение характеристического полинома квадратной матрицы.
| Report an issue | ||
| << psmall | eigen | sva >> |
