Тестирование матриц
[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)
.
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
-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)
. Собственные значения все еще входят плюс/минус пары, но они не известны явным образом.
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
-by-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
-by-n
, строку по диагонали доминирующая, трехдиагональная матрица, которая плохо обусловлена для маленьких неотрицательных значений theta
. Значением по умолчанию theta
является 0.01
. Сама матрица Dorr совпадает с gallery('tridiag',c,d,e)
.
A = gallery('dorr',n,theta)
возвращает саму матрицу, а не векторы определения.
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 | Значение по умолчанию. |
k = 2 |
|
k = 3 |
|
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)
.
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)
плохо обусловленные собственные значения — меньшие единицы.
A = gallery('gcdmat',n)
возвращает n
-by-n
матрица с записью (i,j)
gcd(i,j)
. MatrixA
симметричен положительный определенный, and A.^r
симметричен положительный полуопределенный для всего неотрицательного r
.
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.
A = gallery('grcar',n,k)
возвращает n
-by-n
матрица Теплица с -1
s на поддиагонали, 1
s на диагонали и супердиагоналях k
1
s. Значением по умолчанию является k = 3
. Собственные значения чувствительны.
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
:
|
|
|
|
|
|
Если 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
-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'
.
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
-by-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
-by-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
-by-n
Иорданский блок с собственным значением lambda
. Значением по умолчанию для lambda
является 1
.
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)
трехдиагонален.
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))
.
A = gallery('lauchli',n,mu)
возвращает (n+1)
-by-n
матрица
[ones(1,n); mu*eye(n)]
Матрица Lauchli является известным примером в наименьших квадратах и других проблемах, который указывает на опасности сформировать A'*A
. Аргумент значения по умолчанию mu
к sqrt(eps)
.
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
.
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)
.
A = gallery('lesp',n)
возвращает n
-by-n
матрица, собственные значения которой действительны и гладко распределенные в интервале приблизительно [-2*N-3.5, -4.5]
.
Чувствительность собственных значений увеличивается экспоненциально, когда собственные значения становятся более отрицательными. Матрица подобна симметричной трехдиагональной матрице с теми же диагональными элементами и с недиагональными записями 1 через преобразование подобия с D = diag(1!,2!,...,n!)
.
A = gallery('lotkin',n)
возвращает Гильбертову матрицу со своей первой строкой, измененной ко всем единицам. Матрица Лоткина A
несимметричен, плохо обусловлен, и имеет много отрицательных собственных значений маленького значения. Его инверсия имеет целочисленные записи и известна явным образом.
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)
.
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');
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
-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.
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)
предоставляет дальнейшую возможность:
|
|
| Начальное преобразование не использовано. Это намного быстрее, но получившаяся матрица может иметь нулевые записи. |
Для получения дополнительной информации см. [4].
gallery('randcorr',n)
является случайный n
-by-n
корреляционная матрица со случайными собственными значениями от равномерного распределения. Корреляционная матрица является симметричной положительной полуопределенной матрицей с 1
s на диагонали (см. corrcoef
).
gallery('randcorr',x)
производит случайную корреляционную матрицу, дающую собственные значения векторным x
, где length(x) > 1
. Векторный x
должен иметь неотрицательное подведение итогов элементов к length(x)
.
gallery('randcorr',x,k)
предоставляет дальнейшую возможность:
| Диагональная матрица собственных значений первоначально подвергается случайному ортогональному преобразованию подобия, и затем последовательность вращений Givens применяется (значение по умолчанию). |
| Начальное преобразование не использовано. Это намного быстрее, но получившаяся матрица может иметь некоторые нулевые записи. |
H = gallery('randhess',n)
возвращает n
-by-n
действительная, случайная, ортогональная верхняя матрица Хессенберга.
H = gallery('randhess',x)
, если x
является произвольной, действительной, длиной вектор n
с n > 1
, создает H
неслучайным образом с помощью элементов x
как параметры.
Матричный H
создается через продукт n-1
вращения Givens.
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
является ненулевым.
method
— qr
вызовов, чтобы выполнить базовые ортогональные преобразования, если скалярный method
является ненулевым. Вызов qr
намного быстрее, чем метод по умолчанию для больших размерностей
A = gallery('rando',n,k)
возвращает случайный n
-by-n
матрица с элементами от одного из следующих дискретных распределений:
| |
| |
| |
Аргумент n
может быть двухэлементным вектором, в этом случае матрицей является n(1)
-by-n(2)
.
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 | Если |
Номер условия значения по умолчанию 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
использует альтернативный метод, который намного быстрее для больших размерностей, даже при том, что это использует больше флопс.
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)
Остающиеся собственные значения являются доказуемо “маленькими”.
Риманова гипотеза верна если и только если для каждого > 0
ε.
Барретт и Джарвис предугадывают, что “маленькие собственные значения все лежат в модульном кругу abs(Z) = 1
” и доказательство этой догадки, вместе с доказательством, что некоторое собственное значение имеет тенденцию обнулять, как n
склоняется к бесконечности, привел бы к новому доказательству теоремы о простых числах.
A = gallery('riemann',n)
возвращает n
-by-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
-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)
.
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)
.
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)
.
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-матрицей (отрицание второй матрицы различия).
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)
ко всем элементам в первом столбце.
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');
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)
.
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.