Тестирование матриц
[A,B,C,...] = gallery(matname,P1,P2,...)
[A,B,C,...] = gallery(matname,P1,P2,...,classname)
gallery(3)
gallery(5)
[A,B,C,...] = gallery(matname,P1,P2,...) возвращает тестовые матрицы, заданные matname. matname вход является именем матричного семейства, выбранного из приведенной ниже таблицы. P1,P2,... входные параметры, требуемые отдельным матричным семейством. Количество дополнительных параметров P1,P2,... используемый в синтаксисе вызова варьируется от матрицы до матрицы. Точные синтаксисы вызова детализированы в отдельных матричных описаниях ниже.
[A,B,C,...] = gallery(matname,P1,P2,...,classname) производит матрицу класса classname. classname введите должен быть любой 'single' или 'double' (если matname 'integerdata', в этом случае 'int8'int16int32uint8uint16, и 'uint32' также позволены). Если classname не задан, затем класс матрицы определяется из тех аргументов среди P1,P2,... это не задает размерности или выбирает опцию. Если какой-либо из этих аргументов имеет класс single затем матрицей является single; в противном случае матрицей является double.
gallery(3) плохо обусловленная 3х3 матрица и gallery(5) интересная задача о собственных значениях.
Галерея держит над пятьюдесятью различными тестовыми матричными функциями, полезными для тестирования алгоритмов и других целей.
A = gallery('binomial',n) возвращает n- n матрица, с целочисленными записями, таким образом, что A^2 = 2^(n-1)*eye(n).
Таким образом, B = A*2^((1-n)/2) инволютивно, то есть, B^2 = eye(n).
C = gallery('cauchy',x,y) возвращает n- n матрица, C(i,j) = 1/(x(i)+y(j)). Аргументы x и y векторы длины n. Если вы передаете в скалярах для x и y, они интерпретированы как векторы 1:x и 1:y.
C = gallery('cauchy',x) возвращает то же самое как выше с y = x. Таким образом, команда возвращает C(i,j) = 1/(x(i)+x(j)).
Явные формулы известны инверсией и определителем матрицы Коши. Определитель det(C) является ненулевым если x и y у обоих есть отличные элементы. C полностью положительно если 0 < x(1) <... < x(n) и 0 < y(1) < ... < y(n).
C = gallery('chebspec',n,switch) возвращает Чебышевскую спектральную матрицу дифференцирования порядка n. Аргумент switch переменная, которая определяет символ выходной матрицы. По умолчанию, switch= 0 .
Для switch= 0 (“никакие граничные условия”), C является нильпотентным (C^n = 0) и имеет пустой векторный ones(n,1). Матричный C похоже на Иорданский блок размера n с нулем собственного значения.
Для switch= 1 C несингулярно и хорошо подготовлен, и его собственные значения имеют отрицательные действительные части.
Матрица собственного вектора Чебышевской спектральной матрицы дифференцирования плохо обусловлена.
C = gallery('chebvand',p) производит (основную) матрицу Чебышева Вандермонда на основе вектора точек p, которые задают, где Полином Чебышева вычисляется.
C = gallery('chebvand',m,p) где m скаляр, производит прямоугольную версию вышеупомянутого, с m 'Строки' .
Если p вектор, затем C (i, j) = T i – 1 (p (j)), где T i – 1 является Полином Чебышева степени i – 1. Если p скаляр, затем p равномерно распределенные точки на интервале [0,1] используются, чтобы вычислить C.
A = gallery('chow',n,alpha,delta) возвращает A таким образом, что A = H(alpha) + delta*eye(n), где H i,j (α) = α (i – j + 1) и аргумент n порядок матрицы Чоу. Значение по умолчанию для скаляров alpha и delta 1 и 0, соответственно.
H(alpha) имеет p = floor(n/2) собственные значения, которые равны нулю. Остальная часть собственных значений равна 4*alpha*cos(k*pi/(n+2))^2, k=1:n-p.
C = gallery('circul',v) возвращает циркулянтную матрицу, первой строкой которой является векторный v.
Циркулянтная матрица имеет свойство, что каждая строка получена из предыдущей путем цикличной перестановки записей один шаг вперед. Это - специальная матрица Теплица, в которой “повторяются” диагонали.
Если v скаляр, затем C = gallery('circul',1:v).
eigensystem C N- n) известен явным образом: Если t nкорень из единицы th, затем скалярное произведение v и w = [1 t t 2... t (n – 1)] является собственным значением C и w(n:-1:1) собственный вектор.
A = gallery('clement',n,k) возвращает n- n трехдиагональная матрица с нулями на ее основных диагональных и известных собственных значениях. Это сингулярно если n нечетно. Приблизительно 64 процента записей инверсии являются нулем. Собственные значения включают плюс и минус числа n-1, n-3, n-5, ..., (1 или 0).
Для k=0 (значение по умолчанию), A несимметрично. Для k=1A issymmetric.
gallery('clement',n,1) по диагонали похоже на gallery('clement',n).
Для нечетного N = 2*M+1, M+1 из сингулярных значений целые числа sqrt((2*M+1)^2 - (2*K+1).^2) для K = 0:M.
Подобные свойства содержат для gallery('tridiag',x,y,z) где y = zeros(n,1). Собственные значения все еще входят плюс/минус пары, но они не известны явным образом.
A = gallery('compar',A,1) возвращает A с каждым диагональным элементом, замененным его абсолютным значением и каждым недиагональным элементом, замененным минус абсолютное значение самого большого элемента в абсолютном значении в его строке. Однако, если A треугольный compar(A,1) также.
gallery('compar',A) diag(B) - tril(B,-1) - triu(B,1), где B = abs(A). compar(A) часто обозначается M (A) в литературе.
gallery('compar',A,0) совпадает с gallery('compar',A).
A = gallery('condex',n,k,theta) возвращает матрицу “контрпримера” в средство оценки условия. Это имеет, заказывают n и скалярный параметр theta (значение по умолчанию 100).
Матрица, ее естественный размер и средство оценки, к которому это применяется, заданы k:
| 4 на 4 | LINPACK |
| 3х3 | LINPACK |
| произвольный | LINPACK ( |
|
| LAPACK (RCOND) (значение по умолчанию). Это - инверсия этой матрицы, которая является контрпримером. |
Если n не равно естественному размеру матрицы, затем матрица увеличена с единичной матрицей, чтобы заказать n.
A = gallery('cycol',[m n],k) возвращает m- n матрица с циклически повторяющимися столбцами, где один “цикл” состоит из randn(m,k). Таким образом, ранг матричного A не может превысить k, и k должен быть скаляр.
Аргумент k значения по умолчанию к round(n/4), и не должен равномерно делить n.
A = gallery('cycol',n,k), где n скаляр, совпадает с gallery('cycol',[n n],k).
[c,d,e] = gallery('dorr',n,theta) возвращает векторы, задающие n- n, расположите в ряд по диагонали доминирующую, трехдиагональную матрицу, которая плохо обусловлена для маленьких неотрицательных значений theta. Значение по умолчанию theta 0.01. Сама матрица Dorr совпадает с gallery('tridiag',c,d,e).
A = gallery('dorr',n,theta) возвращает саму матрицу, а не векторы определения.
A = gallery('dramadah',n,k) возвращает n- n матрица 0и 1для которого mu(A) = norm(inv(A),'fro') является относительно большим, несмотря на то, что не обязательно максимальный. Матрица анти-Адамара A матрица с элементами 0 или 1 для которого mu(A) максимально.
n и k должны оба быть скаляры. Аргумент k определяет символ выходной матрицы:
k = 1 | Значение по умолчанию. |
k = 2 |
|
k = 3 |
|
A = gallery('fiedler',c), где c длина n вектор, возвращает n- n симметрическая матрица с элементами abs(n(i)-n(j)). Для скалярного c, A = gallery('fiedler',1:c).
Матричный A имеет доминирующее положительное собственное значение, и все другие собственные значения отрицательны.
Явные формулы для inv(A) и det(A) поданы [Тодд, J., Базовая Числовая Математика, Издание 2: Числовая Алгебра, Birkhauser, Базель и Academic Press, Нью-Йорк, 1977, p. 159] и приписанный Fiedler. Они указывают на тот inv(A) трехдиагонально за исключением ненулевого (1,n) и (n,1) элементы.
A = gallery('forsythe',n,alpha,lambda) возвращает n- n матрица равняется Иорданскому блоку с собственным значением lambda, за исключением того A(n,1) = alpha. Значения по умолчанию скаляров alpha и lambda sqrt(eps) и 0, соответственно.
Характеристический полином A дают:
det(A-t*I) = (lambda-t)^N - alpha*(-1)^n.
F = gallery('frank',n,k) возвращает откровенную матрицу порядка n. Это - верхний Hessenberg с определителем 1. Если k = 1, элементы отражаются об антидиагональном (1,n) — (n,1). Собственные значения F может быть получен в терминах нулей Многочленов Эрмита. Они положительны и происходят во взаимных парах; таким образом, если n нечетно, 1 собственное значение. F имеет floor(n/2) плохо обусловленные собственные значения — меньшие единицы.
A = gallery('gcdmat',n) возвращает n- n матрица с (i,j) запись gcd(i,j). MatrixA симметричен положительный определенный, and A.^r симметричен положительный полуопределенный для всего неотрицательного r.
A = gallery('gearmat',n,i,j) возвращает n- n матрица с единицами на под - и супердиагонали, sign(i) в (1,abs(i)) положение, sign(j) в (n,n+1-abs(j)) положение и нули везде еще. Аргументы i и j значение по умолчанию к n и -n, соответственно.
Матричный A является сингулярным, может иметь двойные и тройные собственные значения и может быть дефектным.
Все собственные значения имеют форму 2*cos(a) и собственные вектора имеют форму [sin(w+a), sin(w+2*a), ..., sin(w+n*a)], где a и w даны в Механизме, C. W. “Простой Набор Тестовых Матриц для Программ Собственного значения”, Математика. Аккомпанемент, Издание 23 (1969), стр 119-125.
A = gallery('grcar',n,k) возвращает n- n Матрица Теплица с -1s на поддиагонали, 1s на диагонали и k супердиагонали 1s. Значением по умолчанию является k = 3. Собственные значения чувствительны.
A = gallery('hanowa',n,d) возвращает n- n блок 2- 2 матрица формы:
[d*eye(m) -diag(1:m) diag(1:m) d*eye(m)]
Аргумент n ровный целочисленный n=2*m. Матричный A имеет комплексные собственные значения формы d ± k*i, для 1 <= k <= m. Значение по умолчанию d -1.
[v,beta,s] = gallery('house',x,k) берет x, n- вектор-столбец элемента, и возвращает V и beta таким образом, что H*x = s*e1. В этом выражении, e1 первый столбец eye(n), abs(s) = norm(x), и H = eye(n) - beta*V*V' матрица Домовладельца.
k определяет знак s:
|
|
|
|
|
|
Если x является комплексным, затем sign(x) = x./abs(x) когда x является ненулевым.
Если x = 0, или если x = alpha*e1 (alpha >= 0) и любой k = 1 или k = 2, затем V = 0, beta = 1, и s = x(1). В этом случае, H единичная матрица, которая не является строго матрицей Домовладельца.
-------------------------------------------------------------------------------------------------
[v, beta] = gallery('house',x) берет x, скаляр или n- вектор-столбец элемента, и возвращает v и beta таким образом, что eye(n,n) - beta*v*v' матрица Домовладельца. Матрица Домовладельца H удовлетворяет отношению
H*x = -sign(x(1))*norm(x)*e1
где e1 первый столбец eye(n,n). Обратите внимание на то, что, если x является комплексным, затем sign(x) = exp(i*arg(x)) (который равняется x./abs(x) когда x является ненулевым).
Если x = 0, затем v = 0 и beta = 1.
A = gallery('integerdata',imax,[m,n,...],j) возвращает m- n-... массив A чьи значения являются выборкой от равномерного распределения на целых числах 1:imaxJ должно быть целочисленное значение в интервале [0, 2^32-1]. Вызов gallery('integerdata', ...) с различными значениями J возвратит различные массивы. Повторные вызовы gallery('integerdata',...) с тем же imax, вектор размера и входные параметры j будут всегда возвращать тот же массив.
В любом вызове gallery('integerdata', ...) можно занять место, индивидуум вводит mN... для входа [m,n,...] вектора размера. Например, gallery('integerdata',7,[1,2,3,4],5) эквивалентно gallery('integerdata',7,1,2,3,4,5).
A = gallery('integerdata',[imin imax],[m,n,...],j) возвращает m- n-... массив A чьи значения являются выборкой от равномерного распределения на целых числах imin:imax.
[A,B,...] = gallery('integerdata',[imin imax],[m,n,...],j) возвращает несколько m- n-... массивы AB..., содержа различные значения.
A = gallery('integerdata',[imin imax],[m,n,...],j,classname)производит массив класса classnameClassName должен быть 'uint8'uint16uint32int8int16int32единственный или 'double'.
A = gallery('invhess',x,y), где x длина n вектор и y длина n-1 вектор, возвращает матрицу, более низкий треугольник которой соглашается с тем из ones(n,1)*x' и чей строгий верхний треугольник соглашается с тем из [1 y]*ones(1,n).
Матрица несингулярна если x(1) ~= 0 и x(i+1) ~= y(i) для всех i, и его инверсией является верхняя матрица Хессенберга. Аргумент y значения по умолчанию к -x(1:n-1).
Если x скаляр, invhess(x) совпадает с invhess(1:x).
A = gallery('invol',n) возвращает n- n инволютивный (A*A = eye(n)) и плохо обусловленная матрица. Это - по диагонали масштабированная версия hilb(n).
B = (eye(n)-A)/2 и B = (eye(n)+A)/2 идемпотентный (B*B = B).
[A,d] = gallery('ipjfact',n,k) возвращает A, n- n Матрица Ганкеля и d, определитель A, который известен явным образом. Если k = 0 (значение по умолчанию), затем элементы A A(i,j) = (i+j)!. Если k = 1, затем элементы A A(i,j) = 1/(i+j).
Обратите внимание на то, что инверсия A также известен явным образом.
A = gallery('jordbloc',n,lambda) возвращает n- n Иорданский блок с собственным значением lambda. Значение по умолчанию для lambda 1.
A = gallery('kahan',n,theta,pert) возвращает верхнюю трапециевидную матрицу, которая имеет интересные свойства относительно оценки условия и ранга.
Если n двухэлементный вектор, затем A n(1)- n(2); в противном случае, A n- n. Полезная область значений theta 0 < theta < pi, со значением по умолчанию 1.2.
Чтобы гарантировать, что QR-факторизация с поворотом столбца не обменивается столбцами в присутствии погрешностей округления, диагональ встревожена pert*eps*diag([n:-1:1]). pert по умолчанию 25, который не гарантирует обменов для gallery('kahan',n) по крайней мере, до n = 90 в арифметике IEEE®.
A = gallery('kms',n,rho) возвращает n- n Как-Мёрдок-Зего Теплиц матрицирует таким образом что A(i,j) = rho^(abs(i-j)), для действительного rho.
Для комплексного rho, та же формула содержит за исключением того, что элементы ниже диагонали спрягаются. rho значения по умолчанию к 0,5.
Матрица KMS A имеет эти свойства:
LDL-разложение с L = inv(gallery('triw',n,-rho,1))', и D(i,i) = (1-abs(rho)^2)*eye(n), кроме D(1,1) = 1.
Положительный определенный, если и только если 0 < abs(rho) < 1.
Обратный inv(A) трехдиагонально.
B = gallery('krylov',A,x,j) возвращает матрицу Крылова
[x, Ax, A^2x, ..., A^(j-1)x]
где A n- n матрица и x длина n вектор. Значениями по умолчанию является x = ones(n,1), и j = n.
B = gallery('krylov',n) совпадает с gallery('krylov',randn(n)).
A = gallery('lauchli',n,mu) возвращает (n+1)- n матрица
[ones(1,n); mu*eye(n)]
Матрица Lauchli является известным примером в наименьших квадратах и других проблемах, который указывает на опасности сформировать A'*A. Аргумент mu значения по умолчанию к sqrt(eps).
A = gallery('lehmer',n) возвращает симметричный положительный определенный n- n матрицируйте таким образом что A(i,j) = i/j для j >= i.
Матричный A Lehmer имеет эти свойства:
A является полностью неотрицательным.
Обратный inv(A) трехдиагонально и явным образом известный.
Порядок n <= cond(A) <= 4*n*n.
L = gallery('leslie',a,b) n- n матрица из модели населения Лесли со средними числами рождения a(1:n) и коэффициенты выживаемости b(1:n-1). Это - нуль кроме первой строки (который содержит a(i)) и первая поддиагональ (который содержит b(i)). Для допустимой модели, a(i) являются неотрицательными и b(i) положительны и ограничены 1, т.е. 0 < b(i) <= 1.
L = gallery('leslie',n) генерирует матрицу Лесли с a = ones(n,1), b = ones(n-1,1).
A = gallery('lesp',n) возвращает n- n матрица, собственные значения которой действительны и гладко распределенные в интервале приблизительно [-2*N-3.5, -4.5].
Чувствительность собственных значений увеличивается экспоненциально, когда собственные значения становятся более отрицательными. Матрица похожа на симметричную трехдиагональную матрицу с теми же диагональными элементами и с недиагональными записями 1 через преобразование подобия с D = diag(1!,2!,...,n!).
A = gallery('lotkin',n) возвращает Гильбертову матрицу с ее первой строкой, измененной ко всем единицам. Матрица Лоткина A несимметрично, плохо обусловлен, и имеет много отрицательных собственных значений маленькой величины. Его инверсия имеет целочисленные записи и известна явным образом.
A = gallery('minij',n) возвращает n- n симметричная положительная определенная матрица с A(i,j) = min(i,j).
minij матрица имеет эти свойства:
inverse inv(A) трехдиагонально и равен -1 времена вторая матрица различия, кроме ее (n,n) элементом является 1.
Матрица Дживенса, 2*A-ones(size(A)), имеет трехдиагональную инверсию и собственные значения 0.5*sec((2*r-1)*pi/(4*n))^2, где r=1:n.
(n+1)*ones(size(A))-A имеет элементы, которые являются max(i,j) и трехдиагональная инверсия.
A = gallery('moler',n,alpha) возвращает симметричный положительный определенный n- n матричный U'*U, где U = gallery('triw',n,alpha).
Для alpha по умолчанию= -1 , A(i,j) = min(i,j)-2, и A(i,i) = i. Одно из собственных значений A мал.
C = gallery('neumann',n) возвращает разреженный n- n сингулярный, строка по диагонали доминирующая матрица, следующая из дискретизации Неймановой проблемы с обычным оператором с пятью точками на регулярной mesh. Аргумент n целое число полного квадрата n = m 2 или двухэлементный вектор. C разреженно и имеет одномерный пустой пробел с пустым векторным ones(n,1).
A = gallery('normaldata',[m,n,...],j) возвращает m- n-... массив A. Значения A случайная выборка от стандартного нормального распределения. j должно быть целочисленное значение в интервале [0, 2^32-1]. Вызов gallery('normaldata', ...) с различными значениями j возвратит различные массивы. Повторные вызовы gallery('normaldata',...) с тем же вектором размера и j входные параметры будут всегда возвращать тот же массив.
В любом вызове gallery('normaldata', ...) можно занять место, индивидуум вводит mN... для входа [m,n,...] вектора размера. Например, gallery('normaldata',[1,2,3,4],5) эквивалентно gallery('normaldata',1,2,3,4,5).
[A,B,...] = gallery('normaldata',[m,n,...],j) возвращает несколько m- n-... массивы AB..., содержа различные значения.
A = gallery('normaldata',[m,n,...],j, classname) производит матрицу класса classnameClassName должен быть любой 'single' или 'double'.
Сгенерируйте произвольное 6 4 матрица данных из стандартного нормального распределения N(0, 1) соответствие j = 2:.
x = gallery('normaldata', [6, 4], 2);
Сгенерируйте произвольный 1 2 3 едиными массивами данных из стандартного нормального распределения N(0, 1) соответствие j = 17:.
y = gallery('normaldata', 1, 2, 3, 17, 'single');Q = gallery('orthog',n,k) возвращает kth тип матрицы порядка n, где k > 0 выбирает точно ортогональные матрицы и k < 0 выбирает диагональные масштабирования ортогональных матриц. Доступные типы:
|
Симметричная матрица собственного вектора для второй матрицы различия. Это значение по умолчанию. |
|
Симметричный. |
|
Унитарный, матрица Фурье. Q^4 является идентичностью. Это - по существу та же матрица как |
| Матрица Helmert: сочетание более низкой матрицы Хессенберга, первой строкой которой является |
|
Симметрическая матрица, возникающая в Преобразовании Хартли. |
|
Симметрическая матрица, возникающая как дискретное косинусное преобразование. |
|
Чебышевская подобная Вандермонду матрица, на основе экстремального значения |
|
Чебышевская подобная Вандермонду матрица, на основе нулей |
C = gallery('parter',n) возвращает матричный C таким образом, что C(i,j) = 1/(i-j+0.5).
C матрица Коши и матрица Теплица. Большинство сингулярных значений C очень близко к pi.
A = gallery('pei',n,alpha), где alpha скаляр, возвращает симметрическую матрицу alpha*eye(n) + ones(n). Значение по умолчанию для alpha 1. Матрица сингулярна для alpha равняйтесь любому 0 или-n.
A = gallery('poisson',n) возвращает блок трехдиагональная (разреженная) матрица порядка n^2 следуя из дискретизации уравнения Пуассона с оператором с 5 точками на n- n mesh.
A = gallery('prolate',n,w) возвращает n- n вытянутая матрица параметром w. Это - симметричная матрица Теплица.
Если 0 < w < 0.5 затем A положителен определенный
Собственные значения A отличны, лежат в (0,1), и будьте склонны кластеризироваться вокруг 0 и 1.
Значение по умолчанию w 0.25.
A = gallery('randcolu',n) случайный n- n матрица со столбцами модульной 2-нормы, со случайными сингулярными значениями, квадраты которых от равномерного распределения.
A'*A корреляционная матрица формы, произведенной gallery('randcorr',n).
gallery('randcolu',x) где x n- вектор (n > 1), производит случайный n- n матрица, дающая сингулярные значения векторным x. Векторный x должен иметь неотрицательные элементы, суммой квадратов которых является n.
gallery('randcolu',x,m) где m >= n, производит m- n матрица.
gallery('randcolu',x,m,k) предоставляет дальнейшую возможность:
|
|
| Начальное преобразование не использовано. Это намного быстрее, но получившаяся матрица может иметь нулевые записи. |
Для получения дополнительной информации см. [4].
gallery('randcorr',n) случайный n- n корреляционная матрица со случайными собственными значениями от равномерного распределения. Корреляционная матрица является симметричной положительной полуопределенной матрицей с 1s на диагонали (см. corrcoef).
gallery('randcorr',x) производит случайную корреляционную матрицу, дающую собственные значения векторным x, где length(x) > 1. Векторный x должен иметь неотрицательное подведение итогов элементов к length(x).
gallery('randcorr',x,k) предоставляет дальнейшую возможность:
| Диагональная матрица собственных значений первоначально подвергается случайному ортогональному преобразованию подобия, и затем последовательность вращений Givens применяется (значение по умолчанию). |
| Начальное преобразование не использовано. Это намного быстрее, но получившаяся матрица может иметь некоторые нулевые записи. |
H = gallery('randhess',n) возвращает n- n действительная, случайная, ортогональная верхняя матрица Хессенберга.
H = gallery('randhess',x) если x произвольная, действительная, длина n вектор с n > 1, построения H неслучайным образом с помощью элементов x как параметры.
Матричный H создается через продукт n-1 Вращения Givens.
A = gallery('randjorth', n), для положительного целочисленного n, производит случайный n- n J- ортогональный матричный A, где
J = blkdiag(eye(ceil(n/2)),-eye(floor(n/2)))
cond(A) = sqrt(1/eps)
J- ортогональность означает что '*J*A = J. Такие матрицы иногда называются гиперболические.
A = gallery('randjorth', n, m), для положительных целых чисел n и m, производит случайное (n+m) (n+mJ- ортогональный матричный A, где
J = blkdiag(eye(n),-eye(m))
cond(A) = sqrt(1/eps)
A = gallery('randjorth',n,m,c,symm,method)
использует следующие дополнительные входные параметры:
c — Задает cond(A) быть скалярным c.
symm — Осуществляет симметрию если скалярный symm является ненулевым.
method — вызовы qr выполнять базовые ортогональные преобразования если скалярный method является ненулевым. Вызов qr намного быстрее, чем метод по умолчанию для больших размерностей
A = gallery('rando',n,k) возвращает случайный n- n матрица с элементами от одного из следующих дискретных распределений:
| |
| |
| |
Аргумент n может быть двухэлементный вектор, в этом случае матрицей является n(1)- n(2).
A = gallery('randsvd',n,kappa,mode,kl,ku) возвращает полосную (мультидиагональную) случайную матрицу порядка n с cond(A) = kappa и сингулярные значения от режима распределения. Если n двухэлементный вектор, A n(1)- n(2).
Аргументы kl и ku задайте количество более низких и верхних, вне диагоналей, соответственно, в A. Если они не использованы, полная матрица производится. Если только kl присутствует, ku значения по умолчанию к kl.
Распределение mode может быть:
1 | Одно большое сингулярное значение. |
2 | Одно маленькое сингулярное значение. |
3 | Геометрически распределенные сингулярные значения (значение по умолчанию). |
4 | Арифметически распределенные сингулярные значения. |
5 | Случайные сингулярные значения с равномерно распределенным логарифмом. |
< 0 | Если |
Число обусловленности kappa значения по умолчанию к sqrt(1/eps). В особом случае, где kappa < 0A случайная, полная, симметричная, положительная определенная матрица с cond(A) = -kappa и собственные значения распределяются согласно mode. Аргументы kl и kuЕсли есть проигнорированы.
A = gallery('randsvd',n,kappa,mode,kl,ku,method) задает, как расчеты выполняются. method = 0 значение по умолчанию, в то время как method = 1 использует альтернативный метод, который намного быстрее для больших размерностей, даже при том, что он использует больше флопс.
A = gallery('redheff',n) возвращает n- n матрица 0и 1заданный A(i,j) = 1, если j = 1 или если i делит j, и A(i,j) = 0 в противном случае.
Матрица Redheffer имеет эти свойства:
(n-floor(log2(n)))-1 собственные значения равняются 1
Действительное собственное значение (спектральный радиус) приблизительно sqrt(n)
Отрицательное собственное значение приблизительно -sqrt(n)
Остающиеся собственные значения доказуемо малы.
Риманова гипотеза верна если и только если для каждого > 0 ε.
Барретт и Джарвис предугадывают, что “маленькие собственные значения все лежат в модульном кругу abs(Z) = 1,” и доказательство этой догадки, вместе с доказательством, что некоторое собственное значение имеет тенденцию обнулять как n стремится к бесконечности, дал бы к новому доказательству теоремы о простых числах.
A = gallery('riemann',n) возвращает n- n матрица, для которой Риманова гипотеза верна если и только если
для каждого ε> 0.
Риманова матрица задана:
A = B(2:n+1,2:n+1)
где B(i,j) = i-1 если i делит j, и B(i,j) = -1 в противном случае.
Риманова матрица имеет эти свойства:
Каждое собственное значение e(i) удовлетворяет abs(e(i)) <= m-1/m, где m = n+1.
i <= e(i) <= i+1 с в большей части m-sqrt(m) исключения.
Все целые числа в интервале (m/3, m/2] собственные значения.
A = gallery('ris',n) возвращает симметричный n- n Матрица Ганкеля с элементами
A(i,j) = 0.5/(n-i-j+1.5)
Собственные значения of A кластер вокруг π/2 и –π/2. Эта матрица была изобретена Ф.Н. Рисом.
A = gallery('sampling',x), где x n- вектор, n- n матрица с A(i,j) = X(i)/(X(i)-X(j)) для i ~= j и A(j,j) сумма недиагональных элементов в столбце j. Имеет собственные значения 0:n-1. Для собственных значений 0 и n– 1, соответствующими собственными векторами является X и ones(n,1), соответственно.
Собственные значения плохо обусловлены. A имеет свойство что A(i,j) + A(j,i) = 1 for i ~= j.
Явные формулы доступны для левых собственных векторов A. Для скалярного n, gallery('sampling',n) совпадает с gallery('sampling',1:n). Особый случай этой матрицы возникает в теории выборочного метода.
A = gallery('smoke',n) возвращает n- n матрица с 1на супердиагонали, 1 в (n,1) положение и степени корней из единицы по диагонали.
A = gallery('smoke',n,1) возвращает то же самое за исключением того, что элемент A(n,1) нуль.
Собственные значения of gallery('smoke',n,1) nкорни из единицы th; те из gallery('smoke',n) nвремена корней из единицы th 2^(1/n).
A = gallery('toeppd',n,m,w,theta) возвращает n- n симметричная, положительная полуопределенная матрица Теплица (SPD), состоявшая из суммы m займите место 2 (или, для определенного theta, оцените 1) SPD матрицы Теплица. А именно,
T = w(1)*T(theta(1)) + ... + w(m)*T(theta(m))
где T(theta(k)) имеет (i,j) элемент cos(2*pi*theta(k)*(i-j)).
По умолчанию: m = n, w = rand(m,1), и theta = rand(m,1).
P = gallery('toeppen',n,a,b,c,d,e) возвращает n- n разреженный, pentadiagonal матрица Теплица с диагоналями: P(3,1) = a, P(2,1) = b, P(1,1) = c, P(1,2) = d, и P(1,3) = e, где aBCD, и e скаляры.
По умолчанию, (a,b,c,d,e)= (1,-10,0,10,1) , получение матрицы Rutishauser. Эта матрица имеет собственные значения, лежащие приблизительно на линейном сегменте 2*cos(2*t) + 20*i*sin(t).
A = gallery('tridiag',c,d,e) возвращает трехдиагональную матрицу с поддиагональным c, диагональный d, и супердиагональный e. Векторы c и e должен иметь length(d)-1.
A = gallery('tridiag',n,c,d,e), где cD, и e все скаляры, дает к Теплицу трехдиагональная матрица порядка n с поддиагональными элементами c, диагональные элементы d, и супердиагональные элементы e. Эта матрица имеет собственные значения
d + 2*sqrt(c*e)*cos(k*pi/(n+1))
где k = 1:n. (см. [1].)
A = gallery('tridiag',n) совпадает с A = gallery('tridiag',n,-1,2,-1), который является симметричной положительной определенной M-матрицей (отрицание второй матрицы различия).
A = gallery('triw',n,alpha,k) возвращает верхнюю треугольную матрицу с единицами на диагонали и alphas на первом k >= 0 супердиагонали.
Закажите n может быть вектор с 2 элементами, в этом случае матрицей является n(1)- n(2) и верхний трапециевидный.
Островский [“На Спектре Однопараметрического Семейства Матриц”, Дж. Рейн Ангью. Математика., 1954] показывает это
cond(gallery('triw',n,2)) = cot(pi/(4*n))^2,и, для большого abs(alpha), cond(gallery('triw',n,alpha)) приблизительно abs(alpha)^n*sin(pi/(4*n-2)).
Добавление -2^(2-n) к (n,1) элемент делает triw(n) сингулярный, как делает добавляющий -2^(1-n) ко всем элементам в первом столбце.
A = gallery('uniformdata',[m,n,...],j) возвращает m- n-... массив A. Значения A случайная выборка от стандартного равномерного распределения. j должен быть целочисленным значением в интервале [0, 2^32-1]. Вызов gallery('uniformdata', ...) с различными значениями j возвратит различные массивы. Повторные вызовы gallery('uniformdata',...) с тем же вектором размера и j входные параметры будут всегда возвращать тот же массив.
В любом вызове gallery('uniformdata', ...) можно занять место, индивидуум вводит mN... для входа [m,n,...] вектора размера. Например, gallery('uniformdata',[1,2,3,4],5) эквивалентно gallery('uniformdata',1,2,3,4,5).
[A,B,...] = gallery('uniformdata',[m,n,...],j) возвращает несколько m- n-... массивы AB..., содержа различные значения.
A = gallery('uniformdata',[m,n,...],j, classname) производит матрицу класса classnameClassName должен быть любой 'single' или 'double'.
Сгенерируйте произвольное 6 4 матрица данных из равномерного распределения на [0, 1] соответствие j = 2.
x = gallery('uniformdata', [6, 4], 2);Сгенерируйте произвольный 1 2 3 едиными массивами данных из равномерного распределения на [0, 1] соответствие j = 17.
y = gallery('uniformdata', 1, 2, 3, 17, 'single');A = gallery('wathen',nx,ny) возвращает разреженное, случайное, n- n матрица конечного элемента, где n = 3*nx*ny + 2*nx + 2*ny + 1.
Матричный A точно “сопоставимая большая матрица” для регулярного nx- ny сетка с 8 узлами (интуитивная прозорливость) элементы в двух измерениях. A симметрично, положительный определенный для любых (положительных) значений “плотности”, rho(nx,ny), который выбран случайным образом в этой стандартной программе.
A = gallery('wathen',nx,ny,1) возвращает по диагонали масштабированную матрицу, таким образом что
0.25 <= eig(inv(D)*A) <= 4.5
где D = diag(diag(A)) для любых положительных целых чисел nx и ny и любая плотность rho(nx,ny).
gallery('wilk',n) возвращает различную матричную или линейную систему в зависимости от значения n.
| Система Верхней треугольной |
| Система Нижней треугольной |
|
|
|
|
[1] Галерея MATLAB® тестовых матриц основана на работе Николаса Дж. Хигема в Отделе Математики, Манчестерском университете, Манчестер, Англия. Дальнейший фон может быть найден в книгах Руководством MATLAB, Вторым Выпуском, Десмондом Дж. Хигемом и Николасом Дж. Хигемом, SIAM, 2005, и Точность и Устойчивость Числовых Алгоритмов, Николаса Дж. Хигема, SIAM, 1996.
[2] Уилкинсон, J. H. Алгебраическая Задача о собственных значениях, издательство Оксфордского университета, Лондон, 1965, p.308.
[3] Bendel, R. B. и М. Р. Микки, “Корреляционные матрицы населения для Выборки Экспериментов”, Commun. Статистик. Симуляция Comput., B7, 1978, стр 163-182.
[4] Дэвис, P. I. и Н. Дж. Хигем, “Численно Устойчивая Генерация Корреляционных матриц и Их Факторов”, BIT, Издание 40, 2000, стр 640-651.