галерея

Тестирование матриц

Синтаксис

[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', 'int16', 'int32', 'uint8', 'uint16', и 'uint32' также позволен). Если classname не задан, то класс матрицы определяется от тех аргументов среди P1,P2,..., которые не задают размерности или выбирают опцию. Если какой-либо из этих аргументов имеет класс single затем, матрицей является single; в противном случае матрицей является double.

gallery(3) плохо обусловленная 3х3 матрица и gallery(5) интересная задача о собственных значениях.

Галерея держит над пятьюдесятью различными тестовыми матричными функциями, полезными для тестирования алгоритмов и других целей.

бином - Кратное инволютивная матрица

A = gallery('binomial',n) возвращает n-by-n матрица с целочисленными записями, таким образом что A^2 = 2^(n-1)*eye(n).

Таким образом B = A*2^((1-n)/2) инволютивен, то есть, B^2 = eye(n).

коши Матрица Коши

C = gallery('cauchy',x,y) возвращает n-by-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).

chebspec Чебышевская спектральная матрица дифференцирования

C = gallery('chebspec',n,switch) возвращает Чебышевскую спектральную матрицу дифференцирования порядка n. Аргумент switch является переменной, которая определяет символ выходной матрицы. По умолчанию, switch = 0.

Для switch = 0 (“никакие граничные условия”), C является нильпотентным (C^n = 0) и имеет пустой векторный ones(n,1). Матричный C подобен Иорданскому блоку размера n с нулем собственного значения.

Для switch = 1, C несингулярен и хорошо подготовлен, и его собственные значения имеют отрицательные действительные части.

Матрица собственного вектора Чебышевской спектральной матрицы дифференцирования плохо обусловлена.

chebvand Подобная Вандермонду матрица для Полиномов Чебышева

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 (α) = α (ij + 1) и аргумент n является порядком матрицы Чоу. Значением по умолчанию для скаляров alpha и delta является 1 и 0, соответственно.

H(alpha) имеет собственные значения p = floor(n/2), которые равны нулю. Остальная часть собственных значений равна 4*alpha*cos(k*pi/(n+2))^2, k=1:n-p.

circul Циркулянтная матрица

C = gallery('circul',v) возвращает циркулянтную матрицу, первой строкой которой является векторный v.

Циркулянтная матрица имеет свойство, что каждая строка получена из предыдущей путем цикличной перестановки записей один шаг вперед. Это - специальная матрица Теплица, в которой “повторяются” диагонали.

Если v является скаляром, то C = gallery('circul',1:v).

eigensystem C (n-by-n) известен явным образом: Если t является n th корень из единицы, то скалярное произведение v и w = [1 t t 2... t (n – 1)] является собственным значением C, и w(n:-1:1) является собственным вектором.

мягкий - Трехдиагональная матрица с нулевыми диагональными элементами

A = gallery('clement',n,k) возвращает n-by-n трехдиагональная матрица с нулями на ее основных диагональных и известных собственных значениях. Это сингулярно, если n нечетен. Приблизительно 64 процента записей инверсии являются нулем. Собственные значения включают плюс и минус числа n-1, n-3, n-5, ..., (1 или 0).

Для k=0 (значение по умолчанию), A несимметричен. Для k=1 A симметричен.

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). Собственные значения все еще входят плюс/минус пары, но они не известны явным образом.

compar Матрицы сравнения

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).

condex Контрпримеры к матричным средствам оценки номера условия

A = gallery('condex',n,k,theta) возвращает матрицу “контрпримера” в средство оценки условия. Это имеет, заказывают n и скалярному параметру theta (значение по умолчанию 100).

Матрица, ее естественный размер и средство оценки, к которому это применяется, заданы k:

k = 1

4 на 4

LINPACK

k = 2

3х3

LINPACK

k = 3

произвольный

LINPACK (rcond) (независимый от theta)

k = 4

n >= 4

LAPACK (RCOND) (значение по умолчанию). Это - инверсия этой матрицы, которая является контрпримером.

Если n не равен естественному размеру матрицы, то матрица увеличена с единичной матрицей, чтобы заказать n.

cycol Матрица, столбцы которой повторяются циклически

A = gallery('cycol',[m n],k) возвращает m-by-n матрица с циклически повторяющимися столбцами, где один “цикл” состоит из randn(m,k). Таким образом ранг матричного A не может превысить k, и k должен быть скаляром.

Аргумент значения по умолчанию k к round(n/4), и не должен равномерно делить n.

A = gallery('cycol',n,k), где n является скаляром, совпадает с gallery('cycol',[n n],k).

dorr По диагонали доминирующая, плохо обусловленная, трехдиагональная матрица

[c,d,e] = gallery('dorr',n,theta) возвращает векторы, задающие n-by-n, строку по диагонали доминирующая, трехдиагональная матрица, которая плохо обусловлена для маленьких неотрицательных значений theta. Значением по умолчанию theta является 0.01. Сама матрица Dorr совпадает с gallery('tridiag',c,d,e).

A = gallery('dorr',n,theta) возвращает саму матрицу, а не векторы определения.

dramadah Матрица нулей и единиц, инверсия которых имеет большие целочисленные записи

A = gallery('dramadah',n,k) возвращает n-by-n матрица 0 и 1, для которого mu(A) = norm(inv(A),'fro') является относительно большим, несмотря на то, что не обязательно максимальный. Матричный A анти-Адамара является матрицей с элементами 0 или 1, для которого mu(A) максимален.

n и k должны оба быть скалярами. Аргумент k определяет символ выходной матрицы:

k = 1

Значение по умолчанию. A является Теплиц с abs(det(A)) = 1 и mu(A) > c(1.75)^n, где c является константой. Инверсия A имеет целочисленные записи.

k = 2

A верхний треугольный и Теплиц. Инверсия A имеет целочисленные записи.

k = 3

A имеет максимальный детерминант среди более низкого Hessenberg (0,1) матрицы. det(A) = n th Число Фибоначчи. A является Теплиц. Собственные значения имеют интересное распределение в комплексной плоскости.

полевой игрок - Симметрическая матрица

A = gallery('fiedler',c), где c является длиной вектор n, возвращает n-by-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).

forsythe Встревоженный Иорданский блок

A = gallery('forsythe',n,alpha,lambda) возвращает n-by-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) плохо обусловленные собственные значения — меньшие единицы.

gcdmat Матрица наибольшего общего делителя

A = gallery('gcdmat',n) возвращает n-by-n матрица с записью (i,j) gcd(i,j). MatrixA симметричен положительный определенный, and A.^r симметричен положительный полуопределенный для всего неотрицательного r.

gearmat Матрица механизма

A = gallery('gearmat',n,i,j) еще возвращает n-by-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.

grcar Матрица Теплица с чувствительными собственными значениями

A = gallery('grcar',n,k) возвращает n-by-n матрица Теплица с -1 s на поддиагонали, 1 s на диагонали и супердиагоналях k 1 s. Значением по умолчанию является k = 3. Собственные значения чувствительны.

hanowa Матрица, собственные значения которой лежат на вертикальной строке в комплексной плоскости

A = gallery('hanowa',n,d) возвращает n-by-n блок 2-by-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:

k = 0

sign(s) = -sign(x(1)) (значение по умолчанию)

k = 1

sign(s) = sign(x(1))

k = 2

sign(s) = 1 (x должен быть действительным),

Если 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.

integerdata Массив произвольных данных от равномерного распределения на заданной области значений целых чисел

A = gallery('integerdata',imax,[m,n,...],j) возвращает m-by-n-by-... массив A, значения которого являются выборкой от равномерного распределения на целых числах 1:imax. j должен быть целочисленным значением в интервале [0, 2^32-1]. Вызов gallery('integerdata', ...) с различными значениями J возвратит различные массивы. Повторные вызовы gallery('integerdata',...) с тем же imax, вектором размера и входными параметрами j будут всегда возвращать тот же массив.

В любом вызове gallery('integerdata', ...) можно занять место, человек вводит m, n... для входа [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-by-n-by-... массив A, значения которого являются выборкой от равномерного распределения на целых числах imin:imax.

[A,B,...] = gallery('integerdata',[imin imax],[m,n,...],j) возвращает несколько m-by-n-by-... массивы A, B..., содержа различные значения.

A = gallery('integerdata',[imin imax],[m,n,...],j,classname) производит массив класса classname. classname должен быть 'uint8', 'uint16', 'uint32', 'int8', 'int16', int32', 'single' или 'double'.

invhess Инверсия верхней матрицы Хессенберга

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).

invol Инволютивная матрица

A = gallery('invol',n) возвращает n-by-n инволютивный (A*A = eye(n)) и плохо обусловленная матрица. Это - по диагонали масштабированная версия hilb(n).

B = (eye(n)-A)/2 и B = (eye(n)+A)/2 является идемпотентный (B*B = B).

ipjfact Матрица Ганкеля с факториальными элементами

[A,d] = gallery('ipjfact',n,k) возвращает A, n-by-n матрица Ганкеля, и d, детерминант A, который известен явным образом. Если k = 0 (значение по умолчанию), то элементами A является A(i,j) = (i+j)!. Если k = 1, то элементами A является A(i,j) = 1/(i+j).

Обратите внимание на то, что инверсия A также известна явным образом.

jordbloc Иорданский блок

A = gallery('jordbloc',n,lambda) возвращает n-by-n Иорданский блок с собственным значением lambda. Значением по умолчанию для lambda является 1.

kahan Верхняя трапециевидная матрица

A = gallery('kahan',n,theta,pert) возвращает верхнюю трапециевидную матрицу, которая имеет интересные свойства относительно оценки условия и ранга.

Если n является двухэлементным вектором, то A является n(1)-by-n(2); в противном случае A является n-by-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-by-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) трехдиагонален.

krylov Матрица Крылова

B = gallery('krylov',A,x,j) возвращает матрицу Крылова

[x, Ax, A^2x, ..., A^(j-1)x]

где A является n-by-n матрица, и x является длиной вектор n. Значениями по умолчанию является x = ones(n,1) и j = n.

B = gallery('krylov',n) совпадает с gallery('krylov',randn(n)).

lauchli Прямоугольная матрица

A = gallery('lauchli',n,mu) возвращает (n+1)-by-n матрица

[ones(1,n); mu*eye(n)]

Матрица Lauchli является известным примером в наименьших квадратах и других проблемах, который указывает на опасности сформировать A'*A. Аргумент значения по умолчанию mu к sqrt(eps).

lehmer Симметричная положительная определенная матрица

A = gallery('lehmer',n) возвращается, симметричный положительный определенный n-by-n матрицируют таким образом что A(i,j) = i/j для j >= i.

Матричный A Lehmer имеет эти свойства:

  • A является полностью неотрицательным.

  • Обратный inv(A) трехдиагонален и явным образом известный.

  • Порядок n <= cond(A) <= 4*n*n.

leslie Матрица чисел рождения и коэффициентов выживаемости

L = gallery('leslie',a,b) является n-by-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).

lesp Трехдиагональная матрица с действительными, чувствительными собственными значениями

A = gallery('lesp',n) возвращает n-by-n матрица, собственные значения которой действительны и гладко распределенные в интервале приблизительно [-2*N-3.5, -4.5].

Чувствительность собственных значений увеличивается экспоненциально, когда собственные значения становятся более отрицательными. Матрица подобна симметричной трехдиагональной матрице с теми же диагональными элементами и с недиагональными записями 1 через преобразование подобия с D = diag(1!,2!,...,n!).

lotkin Матрица Лоткина

A = gallery('lotkin',n) возвращает Гильбертову матрицу со своей первой строкой, измененной ко всем единицам. Матрица Лоткина A несимметричен, плохо обусловлен, и имеет много отрицательных собственных значений маленького значения. Его инверсия имеет целочисленные записи и известна явным образом.

minij Симметричная положительная определенная матрица

A = gallery('minij',n) возвращает n-by-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-by-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-by-n сингулярный, строка по диагонали доминирующая матрица, следующая из дискретизации Неймановой проблемы с обычным оператором с пятью точками на регулярной mesh. Аргумент n является целым числом полного квадрата n = m 2 или двухэлементный вектор. C разрежен и имеет одномерный пустой пробел с пустым векторным ones(n,1).

normaldata Массив произвольных данных от стандартного нормального распределения

A = gallery('normaldata',[m,n,...],j) возвращает m-by-n-by-... массив A. Значения A являются случайной выборкой от стандартного нормального распределения. j должен быть целочисленным значением в интервале [0, 2^32-1]. Вызов gallery('normaldata', ...) с различными значениями j возвратит различные массивы. Повторные вызовы gallery('normaldata',...) с тем же вектором размера и входными параметрами j будут всегда возвращать тот же массив.

В любом вызове gallery('normaldata', ...) можно занять место, человек вводит m, n... для входа [m,n,...] вектора размера. Например, gallery('normaldata',[1,2,3,4],5) эквивалентен gallery('normaldata',1,2,3,4,5).

[A,B,...] = gallery('normaldata',[m,n,...],j) возвращает несколько m-by-n-by-... массивы A, B..., содержа различные значения.

A = gallery('normaldata',[m,n,...],j, classname) производит матрицу класса classname. classname должен быть или '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');

orthog Ортогональные и почти ортогональные матрицы

Q = gallery('orthog',n,k) возвращает kth тип матрицы порядка n, где k > 0 выбирает точно ортогональные матрицы, и k < 0 выбирает диагональные масштабирования ортогональных матриц. Доступные типы:

k = 1

Q(i,j) = sqrt(2/(n+1)) * sin(i*j*pi/(n+1))

Симметричная матрица собственного вектора для второй матрицы различия. Это значение по умолчанию.

k = 2

Q(i,j) = 2/(sqrt(2*n+1)) * sin(2*i*j*pi/(2*n+1))

Симметричный.

k = 3

Q(r,s) = exp(2*pi*i*(r-1)*(s-1)/n) / sqrt(n)

Унитарный, матрица Фурье. Q^4 является идентичностью. Это - по существу та же матрица как fft(eye(n))/sqrt(n)!

k = 4

Матрица Helmert: перестановка более низкой матрицы Хессенберга, первой строкой которой является ones(1:n)/sqrt(n).

k = 5

Q(i,j) = sin(2*pi*(i-1)*(j-1)/n) + cos(2*pi*(i-1)*(j-1)/n)

Симметрическая матрица, возникающая в Преобразовании Хартли.

k = 6

Q(i,j) = sqrt(2/n)*cos((i-1/2)*(j-1/2)*pi/n)

Симметрическая матрица, возникающая как дискретное косинусное преобразование.

k = -1

Q(i,j) = cos((i-1)*(j-1)*pi/(n-1))

Чебышевская подобная Вандермонду матрица, на основе экстремального значения T(n-1).

k = -2

Q(i,j) = cos((i-1)*(j-1/2)*pi/n)

Чебышевская подобная Вандермонду матрица, на основе нулей T(n).

более дерзкий - матрица Теплица с сингулярными значениями около пи

C = gallery('parter',n) возвращает матричный C, таким образом что C(i,j) = 1/(i-j+0.5).

C является матрицей Коши и матрицей Теплица. Большинство сингулярных значений C очень близко к pi.

pei Матрица Пэя

A = gallery('pei',n,alpha), где alpha является скаляром, возвращает симметрическую матрицу alpha*eye(n) + ones(n). Значение по умолчанию для alpha равняется 1. Матрица сингулярна для alpha, равного или 0 или-n.

пуассон - Блок трехдиагональная матрица от (разреженного) уравнения Пуассона

A = gallery('poisson',n) возвращает блок трехдиагональная (разреженная) матрица порядка n^2, следующий из дискретизации уравнения Пуассона с оператором с 5 точками на n-by-n mesh.

вытянутый - Симметричная, плохо обусловленная матрица Теплица

A = gallery('prolate',n,w) возвращает n-by-n вытянутая матрица с параметром w. Это - симметричная матрица Теплица.

Если 0 < w < 0.5 затем A положителен определенный

  • Собственные значения A отличны, лежат в (0,1) и имеют тенденцию кластеризироваться вокруг 0 и 1.

  • Значение по умолчанию w 0.25.

randcolu Случайная матрица с нормализованными седлами и заданными сингулярными значениями

A = gallery('randcolu',n) является случайный n-by-n матрица со столбцами модульной 2-нормы со случайными сингулярными значениями, квадраты которых от равномерного распределения.

A'*A является корреляционной матрицей формы, произведенной gallery('randcorr',n).

gallery('randcolu',x), где x является n - вектор (n> 1), производит случайный n-by-n матрица, дающая сингулярные значения векторным x. Векторный x должен иметь неотрицательные элементы, суммой квадратов которых является n.

gallery('randcolu',x,m), где m >= n, производит m-by-n матрица.

gallery('randcolu',x,m,k) предоставляет дальнейшую возможность:

k = 0

diag(x) первоначально подвергается случайному двухстороннему ортогональному преобразованию, и затем последовательность вращений Givens применяется (значение по умолчанию).

k = 1

Начальное преобразование не использовано. Это намного быстрее, но получившаяся матрица может иметь нулевые записи.

Для получения дополнительной информации см. [4].

randcorr Случайная корреляционная матрица с заданными собственными значениями

gallery('randcorr',n) является случайный n-by-n корреляционная матрица со случайными собственными значениями от равномерного распределения. Корреляционная матрица является симметричной положительной полуопределенной матрицей с 1 s на диагонали (см. corrcoef).

gallery('randcorr',x) производит случайную корреляционную матрицу, дающую собственные значения векторным x, где length(x) > 1. Векторный x должен иметь неотрицательное подведение итогов элементов к length(x).

gallery('randcorr',x,k) предоставляет дальнейшую возможность:

k = 0

Диагональная матрица собственных значений первоначально подвергается случайному ортогональному преобразованию подобия, и затем последовательность вращений Givens применяется (значение по умолчанию).

k = 1

Начальное преобразование не использовано. Это намного быстрее, но получившаяся матрица может иметь некоторые нулевые записи.

Для получения дополнительной информации см. [3] и [4].

randhess Случайная, ортогональная верхняя матрица Хессенберга

H = gallery('randhess',n) возвращает n-by-n действительная, случайная, ортогональная верхняя матрица Хессенберга.

H = gallery('randhess',x) , если x является произвольной, действительной, длиной вектор n с n > 1, создает H неслучайным образом с помощью элементов x как параметры.

Матричный H создается через продукт n-1 вращения Givens.

randjorth Случайная матрица J-orthogonal

A = gallery('randjorth', n), для положительного целочисленного n, производит случайный n-by-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+m) J - ортогональный матричный 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 является ненулевым.

  • methodqr вызовов, чтобы выполнить базовые ортогональные преобразования, если скалярный method является ненулевым. Вызов qr намного быстрее, чем метод по умолчанию для больших размерностей

rando Случайная матрица, состоявшая из элементов-1, 0 или 1

A = gallery('rando',n,k) возвращает случайный n-by-n матрица с элементами от одного из следующих дискретных распределений:

k = 1

A(i,j) = 0 или 1 с равной вероятностью (значение по умолчанию).

k = 2

A(i,j) = -1 или 1 с равной вероятностью.

k = 3

A(i,j) = -1, 0 или 1 с равной вероятностью.

Аргумент n может быть двухэлементным вектором, в этом случае матрицей является n(1)-by-n(2).

randsvd Случайная матрица с предписанными сингулярными значениями

A = gallery('randsvd',n,kappa,mode,kl,ku) возвращает полосную (мультидиагональную) случайную матрицу порядка n с cond(A) = kappa и сингулярными значениями от режима распределения. Если n является двухэлементным вектором, A является n(1)-by-n(2).

Аргументы kl и ku задают количество более низких и верхних, вне диагоналей, соответственно, в A. Если они не использованы, полная матрица производится. Если только kl присутствует, значения по умолчанию ku к kl.

Распределение mode может быть:

1

Одно большое сингулярное значение.

2

Одно маленькое сингулярное значение.

3

Геометрически распределенные сингулярные значения (значение по умолчанию).

4

Арифметически распределенные сингулярные значения.

5

Случайные сингулярные значения с равномерно распределенным логарифмом.

< 0

Если mode является -1, -2, -3, -4 или -5, то randsvd обрабатывает mode как abs(mode), за исключением того, что в исходной матрице сингулярных значений порядок диагональных элементов инвертируется: малый и большой вместо большого к маленькому.

Номер условия значения по умолчанию kappa к sqrt(1/eps). В особом случае, где kappa < 0, A является случайной, полной, симметричной, положительной определенной матрицей с cond(A) = -kappa и собственными значениями, распределенными согласно mode. Аргументы kl и ku, если есть проигнорированы.

A = gallery('randsvd',n,kappa,mode,kl,ku,method) задает, как вычисления выполняются. method = 0 является значением по умолчанию, в то время как method = 1 использует альтернативный метод, который намного быстрее для больших размерностей, даже при том, что это использует больше флопс.

redheff Матрица Редхеффера 1 с и 0s

A = gallery('redheff',n) возвращает n-by-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)

  • Остающиеся собственные значения являются доказуемо “маленькими”.

  • Риманова гипотеза верна если и только если det(A)=O(n1/2+ε) для каждого > 0 ε.

Барретт и Джарвис предугадывают, что “маленькие собственные значения все лежат в модульном кругу abs(Z) = 1” и доказательство этой догадки, вместе с доказательством, что некоторое собственное значение имеет тенденцию обнулять, как n склоняется к бесконечности, привел бы к новому доказательству теоремы о простых числах.

риман Матрица сопоставлена с Римановой гипотезой

A = gallery('riemann',n) возвращает n-by-n матрица, для которой Риманова гипотеза верна если и только если

det(A)=O(n!n 1/2+ε)

для каждого ε> 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] являются собственными значениями.

ris Симметричная матрица Ганкеля

A = gallery('ris',n) возвращает симметричный n-by-n матрица Ганкеля с элементами

A(i,j) = 0.5/(n-i-j+1.5) 

Собственные значения of A кластер вокруг π/2 и –π/2. Эта матрица была изобретена Ф.Н. Рисом.

выборка - Несимметричная матрица с плохо обусловленными целочисленными собственными значениями.

A = gallery('sampling',x), где x является n - вектор, является n-by-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-by-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).

toeppd Симметричная положительная определенная матрица Теплица

A = gallery('toeppd',n,m,w,theta) возвращает n-by-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).

toeppen (Разреженная) матрица Пентадиагоналя Теплица

P = gallery('toeppen',n,a,b,c,d,e) возвращает n-by-n разреженный, pentadiagonal матрица Теплица с диагоналями: P(3,1) = a, P(2,1) = b, P(1,1) = c, P(1,2) = d и P(1,3) = e, где a, b, c, d и e являются скалярами.

По умолчанию, (a,b,c,d,e) = (1,-10,0,10,1), приводя к матрице Rutishauser. Эта матрица имеет собственные значения, лежащие приблизительно на линейном сегменте 2*cos(2*t) + 20*i*sin(t).

tridiag Трехдиагональная (разреженная) матрица

A = gallery('tridiag',c,d,e) возвращает трехдиагональную матрицу с поддиагональным c, диагональным d и супердиагональным e. Векторы c и e должны иметь length(d)-1.

A = gallery('tridiag',n,c,d,e), где c, d и 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-матрицей (отрицание второй матрицы различия).

triw Матрица Верхней треугольной обсуждена Уилкинсоном и другими

A = gallery('triw',n,alpha,k) возвращает верхнюю треугольную матрицу с единицами на диагонали и alpha s на первых супердиагоналях k >= 0.

Прикажите, чтобы n мог быть вектором с 2 элементами, в этом случае матрицей является n(1)-by-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) ко всем элементам в первом столбце.

uniformdata Массив произвольных данных от стандартного равномерного распределения

A = gallery('uniformdata',[m,n,...],j) возвращает m-by-n-by-... массив A. Значения A являются случайной выборкой от стандартного равномерного распределения. j должен быть целочисленным значением в интервале [0, 2^32-1]. Вызов gallery('uniformdata', ...) с различными значениями j возвратит различные массивы. Повторные вызовы gallery('uniformdata',...) с тем же вектором размера и входными параметрами j будут всегда возвращать тот же массив.

В любом вызове gallery('uniformdata', ...) можно занять место, человек вводит m, n... для входа [m,n,...] вектора размера. Например, gallery('uniformdata',[1,2,3,4],5) эквивалентен gallery('uniformdata',1,2,3,4,5).

[A,B,...] = gallery('uniformdata',[m,n,...],j) возвращает несколько m-by-n-by-... массивы A, B..., содержа различные значения.

A = gallery('uniformdata',[m,n,...],j, classname) производит матрицу класса classname. classname должен быть или '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');

wathen Матрица конечного элемента (разреженные, случайные записи)

A = gallery('wathen',nx,ny) возвращает разреженное, случайное, n-by-n матрица конечного элемента где n = 3*nx*ny + 2*nx + 2*ny + 1.

Матричный A является точно “сопоставимой большой матрицей” для регулярного nx-by-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).

wilk Различные матрицы разработаны или обсуждены Уилкинсоном

gallery('wilk',n) возвращает различную матричную или линейную систему в зависимости от значения n.

n = 3

Система Верхней треугольной Ux=b, иллюстрирующий неточное решение.

n = 4

Система Нижней треугольной Lx=b, плохо обусловленный.

n = 5

hilb(6)(1:5,2:6)*1.8144. Симметричная положительная определенная матрица.

n = 21

W21+, трехдиагональная матрица. задача о собственных значениях. Для большего количества детали см. [2].

Ссылки

[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.

Смотрите также

| | | |

Представлено до R2006a