галерея

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

Синтаксис

A, B, C ,...] = галерея (matname, P1, P2...)
A, B, C ,...] = галерея (matname, P1, P2... ClassName
галерея (3)
галерея (5)

Описание

A, B, C ,...] = галерея (matname, P1, P2...) возвращает тестовые матрицы, заданные matname. Входной параметр matname является именем матричного семейства, выбранного из приведенной ниже таблицы. P1, P2... являются входными параметрами, требуемыми отдельным матричным семейством. Количество дополнительных параметров P1, P2... используемый в синтаксисе вызова, отличается от матрицы до матрицы. Точные синтаксисы вызова детализированы в отдельных матричных описаниях ниже.

A, B, C ,...] = галерея (matname, P1, P2..., classname) производит матрицу classname класса. Входной параметр classname должен быть или 'single' или 'дважды' (если matname не является 'integerdata', в этом случае 'int8', 'int16', 'int32', 'uint8', 'uint16', и 'uint32' также позволены). Если classname не задан, то класс матрицы определяется от тех аргументов среди P1, P2... которые не задают размерности или выбирают опцию. Если какой-либо из этих аргументов имеет класс, единственный затем, матрица является единственной; в противном случае матрица является двойной.

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 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) = Ti – 1 (p (j)), где Ti – 1 является Полином Чебышева градуса i – 1. Если p является скаляром, то p равномерно распределенные точки на интервале [0,1] используется, чтобы вычислить C.

еда - Сингулярный Теплиц понижает матрицу Хессенберга

A = gallery('chow',n,alpha,delta) возвращает A, таким образом, что A = H(alpha) + delta*eye(n), где Привет, 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) v.

eigensystem C (n-by-n) известен явным образом: Если t является n th корень из единицы, то скалярное произведение v и w = [1 т t2... 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 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) 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 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 iMAX .

A, B ,...] = галерея ('integerdata', [имин 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) 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, i. e., 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.

  • (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 = m2 или двухэлементный вектор. 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 ,...] = галерея ('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. Эта матрица была изобретена F.N. Ris .

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

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) 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 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 ,...] = галерея ('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. и М. R. Микки, “Корреляционные матрицы населения для Выборки Экспериментов”, Commun. Статистик. Моделирование Comput., B7, 1978, стр 163-182.

[4] Дэвис, P. I. и Н. J. Хигем, “Численно Стабильная Генерация Корреляционных матриц и Их Факторов”, BIT, Издание 40, 2000, стр 640-651.

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

| | | |

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

Была ли эта тема полезной?