Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Linear Algebra > eigen > spec

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 — Определение полинома через указанные корни или коэффициенты или определение характеристического полинома квадратной матрицы.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jan 03 14:39:53 CET 2022