Протезирование зубов в нижнем новгороде по доступным ценам Кармэн-Мед.
Вычисление
собственных значений
и сингулярных чисел
разреженных матриц
Применение
функции eigs решает проблему собственных значений, состоящую в нахождении нетривиальных
решений системы уравнений, которая может быть интерпретирована как алгебраический
эквивалент системы обыкновенных дифференциальных уравнений в явной форме Коши:
A*v=l*v.[
Усовершенствованный алгоритм eig позволяет использовать eig для
расчета собственных значений и полных, и разреженных матриц, но для получения
собственных векторов разреженных матриц по-прежнему желательно использовать
именно eigs. — Примеч. ред.
] Вычисляются только отдельные выбранные собственные
значения или собственные значения и собственные векторы:
eigs(A.B)
решает проблему обобщенных собственных значений A*V = В* V*D. В должна быть
симметрической (или эрмитовой) положительно определенной квадратной матрицей
того же размера, что и A. eigs С А, []....) решает стандартную проблему
собственных значений A*V = V*D.
[V,D]
= eigs(A) или [V.O] = eigs('Afun',n) — возвращает собственные значения для
первого входного аргумента — большой и разреженной квадратной матрицы размера
п. Этот параметр может быть как квадратной матрицей, так и строкой, содержащей
имя m-файла, который применяет линейный оператор к столбцам данной матрицы.
Матрица А — действительная и несимметрическая. Y=Afun(X) должна возвращать
Y=A*X.
В случае одного
выходного параметра D — вектор, содержащий 6 самых больших собственных значений
матрицы А. В случае двух выходных аргументов [V.D] = eigs(A) D — диагональная
матрица размера 6x6, содержащая эти 6 самых больших собственных значений, и
V — матрица, содержащая б столбцов, являющихся соответствующими собственными
векторами. [V.D.flag] = eigs(A) возвращает флаг, равный 0, если все возвращенные
собственные значения сходятся, и 1 в противном случае.
eigs(A.K)
и eigs(A,B,K) возвращают не 6, а К самых больших собственных значений. eigs(A,K,sigma)
Heigs(A,B,K.sigma) возвращают не 6, а К собственных значений, выбранных
в зависимости от значения параметра sigma;
'lm' —
самые большие (как и по умолчанию) по абсолютной величине;
' sm' —
самые малые по абсолютной величине;
' l а'
и ' sa' — соответственно самые большие и самые малые алгебраически собственные
значения для действительных симметрических матриц;
'be' —
для действительных симметрических матриц возвращает и самые большие, и самые
малые алгебраически собственные значения поровну, но если К нечетное, то
самых больших значений на 1 больше, чем самых малых;
'lr' и
'sr' — для несимметрических и комплексных матриц возвращают соответственно
собственные значения с самыми большими и самыми малыми действительными частями;
'1i' и
'si'— для несимметрических и комплексных матриц возвращают соответственно
собственные значения с самыми большими и самыми малыми мнимыми частями;
скаляр - ближайшие
к величине slgma. В этом случае матрица В может быть только симметрической
(или эрмитовой) положительно полуопределенной, а функция Y = AFUN(X) должна
возвращать Y = (A-SIGMA*B)\X.
eigs(A,K,SIGMA,OPTS)
и eigs(A,B,K,SIGMA.OPTS) имеют параметры в полях структуры OPTS (в фигурных
скобках { } — значения по умолчанию):
OPTS.issym:
симметрия А или A-SIGMA*B, представленной AFUN [{0} | 1];
OPTS.isreal:
комплексные А или A-SIGMA*B, представленной AFUN [0 | {1}];
OPTS.disp:
уровень вывода диагностической информации [0 | {1} | 2J;
OPTS.cholВ:
В — это множитель Холецкого chol (В) [{0} | 1];
OPTS.permB:
разреженная матрица В равна chol (B(perm(B) .perm(B)) [perm(B) | {1:N}],
perm — перестановка.
eigs(AFUN.N.К,SIGMA,OPTS,PI,...)
иeigsCAFUN.N,В.К.SIGMA.OPTS,PI....) предоставляют дополнительные аргументы
Р, которые поступают в AFUN(X,P1....).
Функция svds
служит для вычисления небольшого числа сингулярных чисел и векторов большой
разреженной матрицы. По мере возможности старайтесь использовать svd(fulKA))
вместо svds(A). Если А прямоугольная матрица mxn, svds(A....) манипулирует с
несколькими собственными значениями и собственными векторами, возвращенными
EIGS(B,...), где В = [SPARSE(М.М) A: A' SPARSE(N.N)]. Положительные собственные
значения симметрической матрицы В равны сингулярным числам А.
svds (А)
возвращает 6 самых больших сингулярных чисел А;
svds (А,К)
или svds(A,K.'L') возвращает К самых больших сингулярных чисел;
S = SVDSCA,К,SIGMA,OPTIONS)
устанавливает параметры:
OPTIONS.tol
— порог чувствительности (по умолчанию le-10), norm(A*V-. -U*S,1) <=
tol * norm(A.1);
OPTIONS.maxit
- наибольшее число итераций (по умолчанию 300);
OPTIONS.disp
— число значений, показываемых на каждой итерации (по умолчанию 0).
[U.S.V]
= svds(A.k) — возвращает k наибольших сингулярных чисел и соответствующих
сингулярных векторов матрицы А. Если А — матрица размера mxn, то U — матрица
размера mxk с ортонормальными столбцами, S — диагональная матрица размера
kxk, V — матрицы размера nxk с ортонормальными столбцами;
[U.S.V.
flag] = svdsC...) — возвращает флаг, равный 0, если eigs сошлась, и 1 в
противном случае;
[U.S.V]
= svds(A.k.sigma) — возвращает k сингулярных чисел, наиболее близких к скаляру
sigma, и К сингулярных векторов (при sigma=0 возвращает К наименьших сингулярных
чисел и К векторов);
s = svds(A.k....)
— возвращает только вектор сингулярных чисел.
Как видно
из приведенного материала, система MATLAB предлагает пользователям уникальный
набор матричных операторов и функций, заметно более полный, чем у других математических
систем. Это открывает широчайшие возможности в решении всех видов математических
задач, в которых используются современные матричные методы.