gallery

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

Описание

пример

[A1,A2,...,Am] = gallery(matrixname,P1,P2,...,Pn) генерирует семейство тестовых матриц, заданных matrixname. P1,P2,...,Pn входные параметры, требуемые отдельным матричным семейством. Количество входных параметров P1,P2,...,Pn используемый в синтаксисе вызова варьируется от матрицы до матрицы. Точные синтаксисы вызова для каждого матричного семейства описаны в matrixname раздел.

[A1,A2,...,Am] = gallery(matrixname,P1,P2,...,Pn,typename) дополнительно задает тип данных сгенерированных тестовых матриц.

пример

A = gallery(3) генерирует плохо обусловленную 3х3 матрицу, которая чувствительна к возмущению.

пример

A = gallery(5) генерирует матрицу 5 на 5 с интересной задачей о собственных значениях, которая чувствительна к ошибкам округления.

Примеры

свернуть все

Отобразите элементы матрицы нескольких тестовых матриц как масштабируемые цвета.

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

C = gallery('circul',11);

Отобразите изображение элементов матрицы в C. Добавьте шкалу палитры в график, чтобы показать текущую палитру.

imagesc(C)
axis square
colorbar

Figure contains an axes. The axes contains an object of type image.

Создайте grcar матрицу размера 11 11. grcar матрица является несимметричной матрицей Теплица с -1на поддиагонали, 1на основной диагонали и 1на первых нескольких диагоналях выше основной диагонали.

G = gallery('grcar',11);

Отобразите изображение элементов матрицы в G.

imagesc(G)
axis square
colorbar

Figure contains an axes. The axes contains an object of type image.

Создайте minij матрицу размера 11 11. minij матричный M симметричная положительная определенная матрица с элементами M(i,j) = min(i,j).

M = gallery('minij',11);

Отобразите изображение элементов матрицы в M.

imagesc(M)
axis square
colorbar

Figure contains an axes. The axes contains an object of type image.

Целочисленная матрица имеет инверсию, которая является также целочисленной матрицей, если и только если ее определитель равняется точно 1 или –1. Квадратная целочисленная матрица с определителем 1 или –1 также называется унимодулярной матрицей. Примером такой матрицы является gallery('dramadah',n), который является n- n матрица 0 и 1's с определителем 1 или –1.

Создайте 6 6 dramadah матрица. Вычислите его определитель и инверсию.

A = gallery('dramadah',6)
A = 6×6

     1     1     0     1     0     0
     0     1     1     0     1     0
     0     0     1     1     0     1
     1     0     0     1     1     0
     1     1     0     0     1     1
     0     1     1     0     0     1

detA = det(A)
detA = -1
invA = inv(A)
invA = 6×6

    -1    -2    -3     4    -2     5
     1     1     1    -2     1    -2
    -1    -1    -2     3    -2     4
     1     1     2    -2     1    -3
     0     1     1    -1     1    -2
     0     0     1    -1     1    -1

Инверсия матрицы имеет только целочисленные записи, потому что определитель исходной матрицы –1.

В этом примере показано, как использовать преобразования Домовладельца, чтобы вычислить разложение QR матрицы A=QR, где Q ортогональная матрица и R верхняя треугольная матрица.

Во-первых, установите генератор случайных чисел на значение по умолчанию и создайте 6 3 прямоугольную матрицу случайных чисел от стандартного нормального распределения.

rng('default')
A = randn(6,3)
A = 6×3

    0.5377   -0.4336    0.7254
    1.8339    0.3426   -0.0631
   -2.2588    3.5784    0.7147
    0.8622    2.7694   -0.2050
    0.3188   -1.3499   -0.1241
   -1.3077    3.0349    1.4897

Чтобы создать матрицу Домовладельца, используйте функциональный [v,beta] = gallery('house',x). Эта функция берет вектор-столбец x, и возвращается v и β таким образом, что H=I-βvvT матрица Домовладельца. Преобразования Домовладельца используются, чтобы обнулить всех кроме первого элемента вектора x.

Вычислите матрицу Домовладельца P1 и выполните преобразование A1=P1A. Матрица A1 имеет только нули ниже диагонали в первом столбце.

[v1,beta1] = gallery('house',A(:,1));
P1 = eye(6) - beta1*(v1*v1');
A1 = P1*A
A1 = 6×3

   -3.3630    2.8841    1.0421
         0    1.9024    0.0858
    0.0000    1.6571    0.5314
   -0.0000    3.5028   -0.1350
   -0.0000   -1.0788   -0.0983
    0.0000    1.9227    1.3835

Затем вычислите матрицу Домовладельца P2 таким образом, что A2=P2A1 имеет только нули ниже диагонали в первых и вторых столбцах.

[v2,beta2] = gallery('house',A1(2:end,2));
v2 = [0;v2];
P2 = eye(6) - beta2*(v2*v2');
A2 = P2*A1
A2 = 6×3

   -3.3630    2.8841    1.0421
   -0.0000   -4.8472   -0.6885
    0.0000   -0.0000    0.3413
   -0.0000   -0.0000   -0.5368
   -0.0000    0.0000    0.0255
    0.0000   -0.0000    1.1630

Наконец, вычислите матрицу Домовладельца P3 таким образом, что A3=P3A2 имеет только нули в поддиагональных элементах.

[v3,beta3] = gallery('house',A2(3:end,3));
v3 = [0;0;v3];
P3 = eye(6) - beta3*(v3*v3');
R = P3*A2
R = 6×3

   -3.3630    2.8841    1.0421
   -0.0000   -4.8472   -0.6885
   -0.0000    0.0000   -1.3258
   -0.0000   -0.0000    0.0000
   -0.0000    0.0000    0.0000
   -0.0000    0.0000    0.0000

Матрица R=P3P2P1A верхняя треугольная матрица. Поскольку матрицы Домовладельца инволютивны (матрицы равны своим собственным инверсиям), разложение QR A становится A=QR с Q=P1P2P3.

Q = P1*P2*P3
Q = 6×6

   -0.1599   -0.0057   -0.6699    0.4983   -0.2036   -0.4857
   -0.5453   -0.3952   -0.1759   -0.6432    0.1342   -0.2895
    0.6717   -0.3386    0.1647   -0.0991    0.1551   -0.6109
   -0.2564   -0.7239    0.3290    0.5244    0.0805    0.1434
   -0.0948    0.2221   -0.0962    0.1872    0.9463   -0.0433
    0.3888   -0.3948   -0.6130   -0.1346    0.1203    0.5335

Сравните этот результат с расчетом с помощью qr функция.

[Qa,Ra] = qr(A)
Qa = 6×6

   -0.1599   -0.0057   -0.6699    0.4983   -0.2036   -0.4857
   -0.5453   -0.3952   -0.1759   -0.6432    0.1342   -0.2895
    0.6717   -0.3386    0.1647   -0.0991    0.1551   -0.6109
   -0.2564   -0.7239    0.3290    0.5244    0.0805    0.1434
   -0.0948    0.2221   -0.0962    0.1872    0.9463   -0.0433
    0.3888   -0.3948   -0.6130   -0.1346    0.1203    0.5335

Ra = 6×3

   -3.3630    2.8841    1.0421
         0   -4.8472   -0.6885
         0         0   -1.3258
         0         0         0
         0         0         0
         0         0         0

VerifyThat A=QR, в точности машины.

norm(A - Q*R)
ans = 8.2109e-16

Этот пример строит распределение собственных значений от выборки 20 000 случайных матриц циркулянта размера 18 18 в комплексной плоскости. Элементы матрицы однородно производятся от набора {-0.4 0.4}.

Создайте массив E из размера 18 20,000, чтобы сохранить собственные значения.

E = zeros(18,20000);

Установите генератор случайных чисел на значение по умолчанию. Выполните итерации следующих операций 20,000 раз в операторе цикла for:

  • Создайте 1 18 вектор-строку x со случайными элементами или –0.4 или 0.4.

  • Используйте векторный x как вход, чтобы создать случайную циркулянтную матрицу A.

  • Найдите собственные значения A и сохраните их в E.

rng('default')
for i = 1:20000
  x = -0.4 + 0.8*randi([0 1],1,18);
  A = gallery('circul',x);
  E(:,i) = eig(A);
end

Создайте график рассеивания, чтобы отобразить собственные значения E в комплексной плоскости. Установите x- и y- пределы по осям, чтобы лежать в диапазоне от –3 до 3.

scatter(real(E(:)),imag(E(:)),'b.')
xlabel('Re(E)')
ylabel('Im(E)')
xlim([-3 3])
ylim([-3 3])
axis square

Figure contains an axes. The axes contains an object of type scatter.

Создайте тестовую матрицу gallery(3). Тестовая матрица плохо обусловливается с собственными значениями, которые чувствительны к возмущениям.

A = gallery(3)
A = 3×3

  -149   -50  -154
   537   180   546
   -27    -9   -25

Вычислите собственные значения A при помощи eig.

e = eig(A)
e = 3×1

    1.0000
    2.0000
    3.0000

Вычислите числа обусловленности собственного значения при помощи condeig.

c = condeig(A)
c = 3×1

  603.6390
  395.2366
  219.2920

Числа обусловленности указывают что возмущения в элементах матрицы A может привести к возмущениям в его собственных значениях с верхними границами, которые приблизительно в 200 - 600 раз больше.

Затем сделайте небольшое возмущение к A путем добавления матрицы равномерно распределенных случайных чисел. Установите seed генератора случайных чисел к его значению по умолчанию. Добавьте случайную матрицу с элементами в интервале от 0 до 0,001, исключительный, к A.

rng('default')
Ap = A + 1e-3*rand(3)
Ap = 3×3

 -148.9992  -49.9991 -153.9997
  537.0009  180.0006  546.0005
  -26.9999   -8.9999  -24.9990

Вычислите собственные значения встревоженного матричного Ap.

ep = eig(Ap)
ep = 3×1

    0.7399
    2.1437
    3.1188

Покажите различие между встревоженным и исходными собственными значениями.

delta = ep - e
delta = 3×1

   -0.2601
    0.1437
    0.1188

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

delta_upper = 1e-3*c
delta_upper = 3×1

    0.6036
    0.3952
    0.2193

Создайте тестовую матрицу A = gallery(5). Тестовая матрица имеет собственные значения, которые чувствительны к ошибкам округления.

A = gallery(5)
A = 5×5

          -9          11         -21          63        -252
          70         -69         141        -421        1684
        -575         575       -1149        3451      -13801
        3891       -3891        7782      -23345       93365
        1024       -1024        2048       -6144       24572

В точной арифметике, матричном A имеет пятикратные собственные значения λ=0 (строго говоря, A имеет собственное значение 0 из алгебраической кратности 5 и геометрической кратности 1). Это означает что точный характеристический полином A λ5=0. Проверьте тот A^5 нулевая матрица.

Afifth = A^5
Afifth = 5×5

     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0

Сравните эти результаты с численным расчетом собственных значений с помощью eig. eig функция возвращает пять собственных значений A это мало.

e = eig(A)
e = 5×1 complex

  -0.0370 + 0.0275i
  -0.0370 - 0.0275i
   0.0147 + 0.0427i
   0.0147 - 0.0427i
   0.0445 + 0.0000i

Это предполагает что численный расчет собственных значений A чрезвычайно чувствительно к ошибкам округления из-за точности с плавающей точкой, используемой в расчете.

Численные расчеты собственных значений очень отличаются от своих дубликатов в точной арифметике. Вместо того, чтобы найти собственные значения, которые являются близко к точным собственным значениям A, eig функция находит собственные значения матрицы, которая является близко к A. Чтобы проиллюстрировать это, постройте точные и числовые собственные значения A в комплексной плоскости.

plot(0,0,'bo',real(e),imag(e),'r*')
axis([-0.1 0.1 -0.1 0.1])
axis square

Figure contains an axes. The axes contains 2 objects of type line.

Рисунок показывает, что числовые собственные значения лежат на вершинах правильного пятиугольника в комплексной плоскости, строившей в начале координат. Радиус пятиугольника - приблизительно 0,04.

Затем вычислите собственные значения 20 матриц, которые являются близко к A. Установите генератор случайных чисел на значение по умолчанию и встревожьте A случайными числами, чертившими от стандартного нормального распределения, умноженного на eps. Постройте числовые собственные значения 20 встревоженных матриц.

E = zeros(20,5);
rng('default')
for i = 1:20
  E(i,:) = eig(A + eps*randn(5).*A);
end
plot(0,0,'bo',real(e),imag(e),'r*',real(E),imag(E),'k.')
axis([-0.1 0.1 -0.1 0.1])
axis square

Figure contains an axes. The axes contains 7 objects of type line.

Рисунок показывает, что исходный пятиугольник, который представляет собственные значения A, может инвертировать ориентацию когда A встревожен. Собственные значения 20 встревоженных матриц лежат на вершинах пятиугольников с радиусами в области значений 0,01 к 0,07. Вычисленные собственные значения встревоженных матриц ведут себя так же к вычисленным собственным значениям исходной матрицы. Погрешность вычисленных собственных значений вызывается чувствительностью gallery(5).

Входные параметры

свернуть все

Имя матричного семейства в виде вектора символов или строкового скаляра. Аргумент matrixname определяет семейство сгенерированных тестовых матриц, как описано ниже.

'binomial'

Описание: Биномиальная матрица, которая является кратной инволютивной матрице

Синтаксис:

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

Свойства:

  • Матричный B = A*2^((1-n)/2) инволютивно (матрица, которая является ее собственной инверсией).

'cauchy'

Описание: Матрица Коши

Синтаксис:

  • A = gallery('cauchy',x,y) возвращает n- n матрица с записями A(i,j) = 1/(x(i)+y(j)). Аргументы x и y векторы из длины n. Если вы передаете в скалярах для x и y, они интерпретированы как векторы 1:x и 1:y.

  • A = gallery('cauchy',x) возвращает то же самое как выше с y = x. Другими словами, A(i,j) = 1/(x(i)+x(j)).

Свойства:

  • Явные формулы известны инверсией и определителем матрицы Коши.

  • Определитель det(C) является ненулевым если x и y у обоих есть отличные элементы.

  • C полностью положительно если 0 < x(1) < ... < x(n) и 0 < y(1) < ... < y(n).

'chebspec'

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

Синтаксис:

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

    Для k = 0 (никакие граничные условия), A является нильпотентным, означать там существует положительный целочисленный c таким образом, что A^c = 0. Матричный A имеет пустой векторный ones(n,1).

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

Свойства:

  • Для k = 0, матричный A похоже на матрицу Жордана размера n с нулем собственного значения. Две матрицы A и B называются подобными, если существует обратимая матрица P одного размера, такой, что B = inv(P)*A*P.

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

'chebvand'

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

Синтаксис:

  • A = gallery('chebvand',x) производит основную матрицу Чебышева Вандермонда на основе вектора из точек x, который задает, где Полином Чебышева вычисляется. Аргумент x вектор из длины n, и размер A n- n. Записи A областьiJ) = T i – 1 (xJ)), где T i – 1 Полином Чебышева первого вида степени i – 1. Если x скаляр, затем x равномерно распределенные точки на интервале [0,1] используются, чтобы вычислить A.

  • A = gallery('chebvand',m,x) производит прямоугольную версию вышеупомянутого с m строки, где m скаляр.

'chow'

Описание: Сингулярный Теплиц более низкая матрица Хессенберга

Синтаксис:

  • A = gallery('chow',n,alpha,delta) возвращает матрицу Чоу порядка n, который является n- n более низкая матрица Хессенберга. Матричный A задан как

    A=Hα+δI

    где элементы матрицы H, α является H α (i, j) = α (ij + 1) для (ij + 1) ≥ 0, δ, являются коэффициентом, и I является n- n единичная матрица.

  • A = gallery('chow',n) использует значения по умолчанию 1 и 0 для alpha и delta, соответственно.

Свойства:

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

'circul'

Описание: Циркулянтная матрица

Синтаксис:

  • A = gallery('circul',v) возвращает n- n циркулянтная матрица, первой строкой которой является векторный v из длины n. Циркулянтная матрица является специальным видом матрицы Теплица, где каждая строка получена из предыдущей путем цикличного перемещения записей одно место направо. Если v скаляр, затем A = gallery('circul',1:v).

Свойства:

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

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

'clement'

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

Синтаксис:

  • A = gallery('clement',n,k) возвращает n- n трехдиагональная матрица с нулями на ее основной диагонали. Для k = 0 (значение по умолчанию), A несимметрично. Для k = 1A issymmetric.

Свойства:

  • A = gallery('clement',n,1) по диагонали похоже на B = gallery('clement',n,0), где там существует диагональный матричный D одного размера таким образом, что B = inv(D)*A*D.

  • Если n является нечетным, затем A сингулярная матрица.

  • Собственные значения A явным образом известны, которые включают плюс и минус числа n-1, n-3, n-5, ..., 1 или 0.

  • Два предыдущих свойства также содержат для gallery('tridiag',x,y,z), где y = zeros(n,1). Если длина входного вектора y или n является нечетным, затем gallery('tridiag',x,y,z) сингулярно. Собственные значения все еще входят плюс и минус пары, но они не известны явным образом.

  • Для нечетного n = 2*m+1 и k = 0, gallery('clement',n,0) имеет m+1 сингулярные значения, которые равны sqrt((2*m+1)^2 - (2*t+1).^2) для t = 0:m.

'compar'

Описание: матрица Сравнения

Синтаксис:

  • A = gallery('compar',B,k) возвращает матрицу сравнения B.

    Для k = 0 (значение по умолчанию), A(i,j) = abs(B(i,j)) если i == j и A(i,j) = -abs(B(i,j)) в противном случае.

    Для k = 1, A = gallery('compar',B,1) замены каждый диагональный элемент B с ее абсолютным значением и заменами каждый недиагональный элемент с отрицанием самого большого абсолютного значения недиагональных элементов в той же строке.

Свойства:

  • Если B является треугольным, затем A = gallery('compar',B,1) является треугольным также.

'condex'

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

Синтаксис:

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

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

    k = 1

    4 на 4

    Контрпример к RCOND LINPACK

    k = 2

    3х3

    Контрпример к RCOND LINPACK

    k = 3

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

    Контрпример к RCOND LINPACK (независимый от alpha)

    k = 4 (значение по умолчанию)

    n >= 4

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

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

'cycol'

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

Синтаксис:

  • A = gallery('cycol',n,k) возвращает n- n матрица с циклически повторяющимися столбцами, где один цикл состоит из столбцов, заданных randn(n,k). Таким образом, ранг матричного A не может превысить k, и k должен быть скаляр. Аргумент k скаляр со значением по умолчанию round(n/4), и это не должно равномерно делить n.

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

'dorr'

Описание: По диагонали доминирующая, плохо обусловленная, трехдиагональная матрица (разреженная матрица)

Синтаксис:

  • A = gallery('dorr',n,theta) возвращает матрицу Dorr, которая является n- n, расположите в ряд по диагонали доминирующую, трехдиагональную матрицу, которая плохо обусловливается для маленьких неотрицательных значений theta. Значение по умолчанию theta 0.01.

  • [v1,v2,v3] = gallery('dorr',n,alpha) возвращает векторы, которые задают матрицу Dorr. Сама матрица Dorr совпадает с gallery('tridiag',v1,v2,v3).

'dramadah'

Описание: Матрица нулей и единиц

Синтаксис:

  • A = gallery('dramadah',n,k) возвращает n- n матрица 0и 1SN и k должны оба быть скаляры. Для k = 0 и 1, mu(A) = norm(inv(A),'fro') является относительно большим, несмотря на то, что не обязательно максимальный [2]. Аргумент k определяет символ выходной матрицы, как описано ниже.

    k = 1 (значение по умолчанию)

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

    k = 2

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

    k = 3

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

'fiedler'

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

Синтаксис:

  • A = gallery('fiedler',x), где x длина n вектор, возвращает n- n симметрическая матрица с элементами A(i,j) = abs(x(i)-x(j)). Для скалярного x, A = gallery('fiedler',1:x).

Свойства:

  • Матричный A имеет доминирующее положительное собственное значение, и все другие собственные значения отрицательны.

  • Явные формулы для inv(A) и det(A) даны в [3] и приписаны Fiedler. Эти формулы указывают на тот inv(A) трехдиагонально за исключением ненулевого (1,n) и (n,1) элементы.

'forsythe'

Описание: матрица Форсайта или встревоженная матрица Жордана

Синтаксис:

  • A = gallery('forsythe',n,alpha,lambda) возвращает n- n матрица равняется матрице Жордана с собственным значением lambda, за исключением того, что A(n,1) = alpha. Значения по умолчанию скаляров alpha и lambda sqrt(eps) и 0, соответственно.

Свойства:

  • Характеристический полином A дан det(A-t*I) = (lambda-t)^n - alpha*(-1)^n.

'frank'

Описание: Откровенный - Матрица с плохо обусловленными собственными значениями

Синтаксис:

  • A = gallery('frank',n,k) возвращает откровенную матрицу размера n- n для значения по умолчанию k = 0. Откровенной матрицей является верхняя матрица Хессенберга с определителем 1. Если k = 1, элементы отражаются об антидиагонали, (1,n), (2,n-1), …, (n,1).

Свойства:

  • Собственные значения A может быть получен в терминах нулей Многочленов Эрмита. Они положительны и происходят во взаимных парах.

  • Если n является нечетным, затем 1 собственное значение.

  • Самая маленькая половина собственных значений или самый маленький floor(n/2) собственные значения, плохо обусловливаются.

'gcdmat'

Описание: Матрица наибольшего общего делителя

Синтаксис:

  • A = gallery('gcdmat',n) возвращает n- n матрица с A(i,j) равно gcd(i,j).

Свойства:

  • Матричный A симметричен положительный определенный, и A.^r симметричен положительный полуопределенный для всего неотрицательного r.

'gearmat'

Описание: Матрица механизма

Синтаксис:

  • A = gallery('gearmat',n,i,j) возвращает n- n матрица с 1на поддиагонали и супердиагонали, sign(i) в (1,abs(i)) положение, sign(j) в (n,n+1-abs(j)) положение и 0везде еще. Аргументы i и j значение по умолчанию к n и -n, соответственно. Они должны быть целыми числами в области значений -n к n.

Свойства:

  • Матричный A является сингулярным, может иметь двойные и тройные собственные значения и может быть дефектным.

  • Все собственные значения имеют форму 2*cos (a), и собственные вектора имеют форму [sin (w +a), sin (w +2a), …, sin (w +na)], где a и w даны в [4].

'grcar'

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

Синтаксис:

  • A = gallery('grcar',n,k) возвращает n- n Матрица Теплица с -1на поддиагонали, 1на основной диагонали и 1на k диагонали выше основной диагонали. k должно быть целое число, и значением по умолчанию является k = 3A имеет собственные значения, которые чувствительны к возмущению.

'hanowa'

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

Синтаксис:

  • A = gallery('hanowa',n,alpha) возвращает 2- 2 блочная матрица с четырьмя n/2- n/2 блоки формы:

    [alpha*eye(n/2) -diag(1:n/2)
    diag(1:n/2)     alpha*eye(n/2)]

    Аргумент n должно быть ровное целое число. Значение по умолчанию alpha -1A имеет комплексные собственные значения формы alpha ± k*i, для 1 <= k <= n/2.

'house'

Описание: Матрица домовладельца

Синтаксис:

  • [v,beta] = gallery('house',x) берет x, скаляр или n- вектор-столбец элемента, и возвращает v и beta таким образом, что H = eye(n) - beta*v*v' матрица Домовладельца. Матрица Домовладельца H удовлетворяет свойству

    H*x = -sign(x(1))*norm(x)*e1 

    где e1 первый столбец eye(n).

    Обратите внимание на то, что, если x является комплексным, затем sign(x) = exp(i*arg(x)), который равен x./abs(x) когда x является ненулевым. Если x нуль, затем v нуль и beta = 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 mustBeReal,

    Если x нуль, или если x = alpha*e1 (alpha >= 0) и любой k = 1 или k = 2, затем v нуль, beta = 1, и s = x(1). В этом случае, H = eye(n) единичная матрица, которая не является строго матрицей Домовладельца.

'integerdata'

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

Синтаксис:

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

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

  • [A1,A2,...,Am] = gallery('integerdata',[imin imax],[m,n,...],k) возвращает несколько m- n-... массивы A1, A2..., Am содержа различные значения.

  • [A1,A2,...,Am] = gallery('integerdata',[imin imax],[m,n,...],k,typename) производит массивы с элементами типа typename. typename должен быть 'double' (значение по умолчанию), 'single'uint8uint16uint32int8int16, или int32'.

Смотрите также: randi | rng

'invhess'

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

Синтаксис:

  • A = gallery('invhess',x,y), где x длина n вектор и y длина n-1 вектор, возвращает матрицу с элементами A(i,j) = x(j) если i <= j, и A(i,j) = y(i) в противном случае. Более низкий треугольник A основан на векторном x, и строгий верхний треугольник основан на y. Аргумент y значения по умолчанию к -x(1:n-1).

    Для скалярного n, gallery('invhess',n) совпадает с gallery('invhess',1:n).

Свойства:

  • Матричный A несингулярно если x(1) ~= 0 и x(i+1) ~= y(i) для всех i.

  • Инверсия A верхняя матрица Хессенберга.

'invol'

Описание: Инволютивная матрица (матрица, которая является ее собственной инверсией),

Синтаксис:

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

Свойства:

  • Матрицы B = (eye(n)-A)/2 и B = (eye(n)+A)/2 идемпотент, где B*B = B.

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

'ipjfact'

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

Синтаксис:

  • [A,beta] = gallery('ipjfact',n,k) возвращает n- n Матричный A Ганкеля и его определитель beta, который известен явным образом. Инверсия A также известен явным образом.

    Если k = 0 (значение по умолчанию), затем элементы A A(i,j) = factorial(i+j). Если k = 1, затем элементы A A(i,j) = 1/factorial(i+j).

Смотрите также: hankel | toeplitz

'jordbloc'

Описание: матрица Матрицы Жордана

Синтаксис:

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

'kahan'

Описание: Верхняя трапециевидная матрица Kahan

Синтаксис:

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

    Если n двухэлементный вектор, затем A n(1)- n(2); в противном случае, A n- n. Полезная область значений theta 0 < theta < pi, со значением по умолчанию 1.2.

    Чтобы гарантировать, что QR-факторизация с поворотом столбца не обменивается столбцами в присутствии погрешностей округления, основная диагональ встревожена pert*eps*diag([n:-1:1]). Значение по умолчанию pert 1e3, который не гарантирует обменов для gallery('kahan',n) по крайней мере, до n = 100 в арифметике IEEE® (для значения по умолчанию theta = 1.2).

'kms'

Описание: матрица Как-Мёрдок-Зегеа Теплица

Синтаксис:

  • A = gallery('kms',n,rho) возвращает n- n Как-Мёрдок-Зеге Теплиц матрицирует таким образом что A(i,j) = rho^(abs(i-j)) для действительного rho. Для комплексного rho, та же формула содержит за исключением того, что элементы ниже диагонали спрягаются. rho значения по умолчанию к 0,5.

Свойства:

  • Там существует LDL-разложение A с L = inv(gallery('triw',n,-rho,1))', и D = (1-abs(rho)^2)*eye(n), кроме первого элемента D D(1,1) = 1.

  • A положителен определенный если и только если 0 < abs(rho) < 1.

  • Обратный inv(A) трехдиагонально.

'krylov'

Описание: Матрица Крылова

Синтаксис:

  • A = gallery('krylov',B,x,k) возвращает матрицу Крылова, где B n- n матрица, x вектор с длиной n, и k должно быть целое число. Матрица Крылова равна

    [x, B*x, B^2*x, ..., B^(k-1)*x]

    для вектор-столбца x. Если вы не задаете аргументы x и k, они берут значения по умолчанию x = ones(n,1) и k = n.

  • A = gallery('krylov',n) для скалярного n совпадает с gallery('krylov',B) с B = randn(n).

'lauchli'

Описание: Lauchli прямоугольная матрица

Синтаксис:

  • A = gallery('lauchli',n,mu) возвращает (n+1)- n матрица формы [ones(1,n); mu*eye(n)]. Аргумент mu значения по умолчанию к sqrt(eps).

Свойства:

  • Матрица Lauchli является известным примером в наименьших квадратах и других проблемах, который показывает опасности сформировать A'*A при решении уравнения ATAx^=ATb. Матричный A'*A в целом более чувствительно к погрешностям округления, чем начальный матричный A.

'lehmer'

Описание: Lehmer симметричная положительная определенная матрица

Синтаксис:

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

Свойства:

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

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

  • Порядок n удовлетворяет n <= cond(A) <= 4*n*n.

'leslie'

Описание: Матрица чисел рождения и коэффициентов выживаемости из модели населения Лесли

Синтаксис:

  • A = gallery('leslie',x,y) n- n матрица из модели населения Лесли со средними числами рождения x(1:n) и коэффициенты выживаемости y(1:n-1). Элементы матрицы являются в основном нулем кроме первой строки, которая содержит x(i) и первая поддиагональ, которая содержит y(i). Для допустимой модели, элементов x являются неотрицательными, и элементы y положительны и ограничены 1, где 0 < y(i) <= 1.

  • A = gallery('leslie',n) генерирует матрицу Лесли с x = ones(n,1) и y = ones(n-1,1).

'lesp'

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

Синтаксис:

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

Свойства:

  • Чувствительность собственных значений увеличивается экспоненциально, когда собственные значения становятся более отрицательными.

  • Матрица похожа на симметричный трехдиагональный матричный B с теми же диагональными элементами и с недиагональными записями 1 через преобразование подобия A = inv(D)*B*D, где D = diag(factorial(1:n)).

'lotkin'

Описание: Матрица Лоткина

Синтаксис:

  • A = gallery('lotkin',n) возвращает Гильбертову матрицу с ее первой строкой, измененной ко всем 1's.

Свойства:

  • Матрица Лоткина A несимметрично, плохо обусловленный и имеет много отрицательных собственных значений маленькой величины.

  • Его инверсия имеет целочисленные записи и известна явным образом [5].

'minij'

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

Синтаксис:

  • A = gallery('minij',n) возвращает n- n симметричная положительная определенная матрица с записями A(i,j) = min(i,j).

Свойства:

  • A имеет собственные значения 0.25*sec(r*pi/(2*n+1)).^2, где r = 1:n.

  • Обратный inv(A) трехдиагонально и равен -1 времена вторая матрица различия, кроме ее (n,n) элементом является 1.

  • Матричный 2*A-ones(size(A)) имеет трехдиагональную инверсию и собственные значения 0.5*sec((2*r-1)*pi/(4*n)).^2, где r = 1:n.

'moler'

Описание: Коренной зуб - Симметричная положительная определенная матрица

Синтаксис:

  • A = gallery('moler',n,alpha) возвращает симметричный положительный определенный n- n матричный U'*U, где U = gallery('triw',n,alpha). Для значения по умолчанию alpha = -1, A(i,j) = min(i,j)-2, и A(i,i) = i.

Свойства:

  • Для alpha = -1, одно из собственных значений A мал, который отличается многими порядками величины по сравнению с остальной частью собственных значений.

'neumann'

Описание: Сингулярная матрица от дискретной Неймановой проблемы (разреженная матрица)

Синтаксис:

  • A = gallery('neumann',n) возвращает разреженный n- n сингулярный, строка по диагонали доминирующая матрица, следующая из дискретизации Неймановой проблемы с обычным оператором с пятью точками на регулярной mesh. Аргумент n должно быть целое число полного квадрата. A разреженно и имеет одномерный пустой пробел с пустым векторным ones(n,1).

  • A = gallery('neumann',[m n]) возвращает идентичную матрицу, но с размером m*n- m*n. Аргументы m и n должны быть положительные целые числа, где m должно быть больше, чем 1.

'normaldata'

Описание: Массив случайным образом произведенных чисел от стандартного нормального (Гауссова) распределения

Синтаксис:

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

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

  • [A1,A2,...,Am] = gallery('normaldata',[m,n,...],k) возвращает несколько m- n-... массивы A1, A2..., Am содержа различные значения.

  • [A1,A2,...,Am] = gallery('normaldata',[m,n,...],k,typename) производит массивы с элементами типа typename. typename должен быть любой 'double'(значение по умолчанию) или 'single'.

Смотрите также: randn | rng

'orthog'

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

Синтаксис:

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

    k = 1 (значение по умолчанию)

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

    Матрица собственных векторов второй матрицы различия gallery('tridiag',n)A является симметричным и ортогональным.

    k = 2

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

    Симметричная и ортогональная матрица.

    k = 3

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

    Комплексная матрица, которая унитарна. A^4 единичная матрица. Это - точно та же матрица как fft(eye(n))/sqrt(n).

    k = 4

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

    k = 5

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

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

    k = 6

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

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

    k = -1

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

    Чебышевская подобная Вандермонду матрица, на основе экстремального значения Полинома Чебышева первого доброго T(n-1). Эта матрица симметрична. Каждый ровный столбец (строка), вектор из матрицы является ортогональным к каждому нечетному столбцу (строка) вектор, который является A(i,:)*A(j,:)' = 0 для любого ровного i и нечетный j.

    k = -2

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

    Чебышевская подобная Вандермонду матрица, на основе нулей T(n). Эта матрица имеет векторы-строки, которые являются ортогональными друг другу, который является A(i,:)*A(j,:)' = 0 для i не равняются j. Матричный A*A' не единичная матрица, но это - диагональная матрица.

'parter'

Описание: матрица Parter

Синтаксис:

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

Свойства:

  • A матрица Коши и Теплица.

  • Большинство сингулярных значений A очень близко к pi.

'pei'

Описание: Матрица Пэя

Синтаксис:

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

'poisson'

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

Синтаксис:

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

'prolate'

Описание: Вытянутая матрица

Синтаксис:

  • A = gallery('prolate',n,alpha) возвращает n- n вытянутая матрица параметром alpha. Это - симметричная, плохо обусловленная матрица Теплица. Если 0 < alpha < 0.5, затем A положителен определенный.

Свойства:

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

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

'randcolu'

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

Синтаксис:

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

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

  • A = gallery('randcolu',x), где x вектор из длины n N > 1), производит случайный n- n матрица с сингулярными значениями, данными векторным x. Векторный x должен иметь неотрицательные элементы, суммой квадратов которых является n. Эта матрица также нормировала столбцы модульной 2-нормы.

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

  • A = gallery('randcolu',__,m,k) предоставляет дополнительные возможности на основе k.

    k = 0 (значение по умолчанию)

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

    k = 1

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

'randcorr'

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

Синтаксис:

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

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

  • A = gallery('randcorr',x,k) предоставляет дополнительные возможности на основе k.

    k = 0 (значение по умолчанию)

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

    k = 1

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

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

'randhess'

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

Синтаксис:

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

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

    В обоих случаях, матричный A создается из продукта n-1 Вращения Givens.

'randjorth'

Описание: Случайная матрица J-orthogonal

Синтаксис:

  • A = gallery('randjorth',n) производит случайный n- n Матрица J-orthogonal A это удовлетворяет отношению A'*J*A = J (такие матрицы также известны гиперболическими). Здесь, J = blkdiag(eye(ceil(n/2)),-eye(floor(n/2))), и cond(A) = sqrt(1/eps).

  • A = gallery('randjorth',n,m), для положительных целых чисел n и m, производит случайное (n+m) (n+m) Матрица J-orthogonal A. Здесь, J = blkdiag(eye(n),-eye(m)), и cond(A) = sqrt(1/eps).

  • A = gallery('randjorth',n,m,alpha,symm,method)

    использует следующие дополнительные входные параметры:

    • alpha — Задайте cond(A) = alpha, где alpha должно быть равным или больше, чем 1.

    • symm — Примите решение осуществить симметрию или нет. A несимметрично если скалярный symm 0. A симметрично если скалярный symm 1 или ненулевой.

    • method — Примите решение вызвать qr выполнять базовые ортогональные преобразования или нет. qr не называется если скалярный method 0. qr называется если скалярный method 1 или ненулевой. Вызов qr намного быстрее, чем метод по умолчанию, чтобы создать матрицу J-orthogonal для больших размерностей.

'rando'

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

Синтаксис:

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

    k = 1 (значение по умолчанию)

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

    k = 2

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

    k = 3

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

  • A = gallery('rando',[n m],k) возвращает случайный n- m матрица.

'randsvd'

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

Синтаксис:

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

    Значение по умолчанию kappa sqrt(1/eps). Режим mode распределения определяет сингулярные значения матрицы.

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

    Доступные значения mode описаны ниже.

    mode = 1

    Одно большое сингулярное значение, которое равно 1 (и остальная часть сингулярных значений равна 1/abs(kappa)).

    mode = 2

    Одно маленькое сингулярное значение, которое равно 1/abs(kappa) (и остальная часть сингулярных значений равна 1).

    mode = 3 (значение по умолчанию)

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

    mode = 4

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

    mode = 5

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

    mode < 0

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

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

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

'redheff'

Описание: матрица Redheffer единиц и нулей

Синтаксис:

  • A = gallery('redheff',n) возвращает n- n матрица 0и 1заданный A(i,j) = 1, если j = 1 или если i делит j, и A(i,j) = 0 в противном случае.

Свойства:

  • A имеет n-floor(log2(n))-1 собственные значения, которые равны 1.

  • A имеет действительное собственное значение (и его спектральный радиус), который является приблизительно sqrt(n).

  • A имеет отрицательное собственное значение, которое является приблизительно -sqrt(n).

  • Остающийся floor(log2(n))-1 собственные значения имеют относительно маленькие модули, которые лежат в кругу log2εn, для ε > 0 и достаточно большой n.

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

  • Барретт и Джарвис предугадывают тот floor(log2(n)) из маленьких собственных значений лежат в модульном кругу abs(z) = 1. Доказательство этой догадки, вместе с доказательством, что некоторые собственные значения имеют тенденцию обнулять как n стремится к бесконечности, дал бы к новому доказательству теоремы о простых числах [7].

'riemann'

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

Синтаксис:

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

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

    для каждого ε> 0 [8].

    Риманова матрица задана 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'

Описание: матрица Ris

Синтаксис:

  • A = gallery('ris',n) возвращает симметричный n- n Матрица Ганкеля с элементами A(i,j) = 0.5/(n-i-j+1.5). Собственные значения A кластер вокруг π/2 и –π/2.

'sampling'

Описание: несимметричная матрица с плохо обусловленными целочисленными собственными значениями

Синтаксис:

  • A = gallery('sampling',x), где x вектор из длины n, возвращает n- n несимметричная матрица. Элементами матрицы является A(i,j) = x(i)/(x(i)-x(j)) для i ~= j и A(j,j) равняется сумме недиагональных элементов в столбце j. Если x скаляр, затем A = gallery('sampling',1:x).

Свойства:

  • A имеет целочисленные собственные значения 0:n-1 это плохо обусловливается.

  • Для собственных значений 0 и n-1, соответствующими собственными векторами является x и ones(n,1), соответственно.

  • A имеет свойство что A(i,j) + A(j,i) = 1 для i ~= j.

  • Явные формулы доступны для левых собственных векторов A.

  • Особый случай этой матрицы появился в теории выборочного метода, где ее правые собственные вектора, если правильно нормировано, дают вероятности включения условного выражения Пуассон, производящий проект [9].

'smoke'

Описание: Комплексная матрица с "дымом звонит" псевдоспектр

Синтаксис:

  • A = gallery('smoke',n) возвращает n- n матрица с 1на супердиагонали и 1 в (n,1) положение. Диагональ состоит из набора всего nкорни из единицы th.

  • A = gallery('smoke',n,1) возвращает то же самое как выше за исключением того, что элемент A(n,1) нуль.

Свойства:

  • Собственные значения gallery('smoke',n,1) nкорни из единицы th.

  • Собственные значения gallery('smoke',n) nвремена корней из единицы th 2^(1/n).

  • Псевдоспектр матричного A может быть вычислен путем нахождения минимального сингулярного значения матричного zI-A в комплексной плоскости. Здесь, z представляет точки в комплексной плоскости, и I является единичной матрицей. Псевдоспектры gallery('smoke',n) и gallery('smoke',n,1) имейте "кольцевые шаблоны" дыма около их собственных значений.

'toeppd'

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

Синтаксис:

  • A = gallery('toeppd',n,m,x,theta) возвращает n- n симметричная матрица Теплица, состоявшая из суммы m Матрицы Теплица (с рангом 1 или 2). x и theta векторы из длины m. Матричный A положителен определенный если все элементы x положительны. А именно, A сгенерирован

    A = x(1)*T1 + ... + x(k)*Tk + ... + x(m)*Tm

    где Tk n- n матрица, которая зависит от theta(k). Элементы Tk Tk(i,j) = cos(2*pi*theta(k)*(i-j)).

    По умолчанию, m = n, x = rand(m,1), и theta = rand(m,1).

'toeppen'

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

Синтаксис:

  • A = gallery('toeppen',n,a,b,c,d,e) возвращает n- n разреженная pentadiagonal матрица Теплица с элементами: a на второй диагонали ниже основной диагонали, b на поддиагонали, c на основной диагонали, d на супердиагонали и e на второй диагонали выше основной диагонали, где aBCD, и e скаляры.

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

'tridiag'

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

Синтаксис:

  • A = gallery('tridiag',n) возвращает разреженную трехдиагональную матрицу размера n- n с поддиагональными элементами -1, диагональные элементы 2, и супердиагональные элементы -1. Эта матрица имеет собственные значения 2 + 2*cos(k*pi/(n+1)), где k = 1:n.

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

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

  • A = gallery('tridiag',n,c,d,e), где cD, и e все скаляры, дает к Теплицу трехдиагональная матрица размера n- n с поддиагональными элементами c, диагональные элементы d, и супердиагональные элементы e. Эта матрица имеет собственные значения d + 2*sqrt(c*e)*cos(k*pi/(n+1)), где k = 1:n.

'triw'

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

Синтаксис:

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

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

Свойства:

  • Для alpha = 2, число обусловленности матрицы удовлетворяет:

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

  • Матричный A = gallery('triw',n) становится сингулярным, когда вы добавляете -2^(2-n) к его (n,1) элемент. Матрица также становится сингулярной, когда вы добавляете -2^(1-n) к его элементам в первом столбце.

'uniformdata'

Описание: Массив случайным образом произведенных чисел от стандартного равномерного распределения

Синтаксис:

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

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

  • [A1,A2,...,Am] = gallery('uniformdata',[m,n,...],k) возвращает несколько m- n-... массивы A1, A2..., Am содержа различные значения.

  • [A1,A2,...,Am] = gallery('uniformdata',[m,n,...],k,typename) производит массивы с элементами типа typename. typename должен быть любой 'double' (значение по умолчанию) или 'single'.

Смотрите также: rand | rng

'wathen'

Описание: матрица Wathen (разреженная матрица)

Синтаксис:

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

    Матричный A точно “сопоставимая большая матрица” для регулярного nx- ny сетка с 8 узлами (интуитивная прозорливость) элементы в двух измерениях. A симметрично, положительный определенный для любых (положительных) значений “плотности” rho(nx,ny), который выбран случайным образом.

  • B = gallery('wathen',nx,ny,1) возвращает по диагонали масштабированную матрицу на основе предыдущего синтаксиса, где B = diag(diag(A))\A. Собственные значения этой матрицы удовлетворяют

    0.25 <= eig(B) <= 4.5

    для любых положительных целых чисел nx и ny и любая плотность rho(nx,ny).

'wilk'

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

Синтаксис:

  • [U,b] = gallery('wilk',3) возвращает верхнюю треугольную систему U*x = b иллюстрирование неточного решения.

  • [L,b] = gallery('wilk',4) возвращает нижнюю треугольную систему L*x = b, который плохо обусловливается.

  • A = gallery('wilk',5) возвращает симметричный положительный определенный матричный A = B(1:5,2:6)*1.8144, где B = hilb(6).

  • A = gallery('wilk',21) возвращает W21+, трехдиагональная матрица с парами почти равняется собственным значениям. Для получения дополнительной информации см. [11].

Введите параметры в виде скаляров, векторов или матриц. Параметры P1,P2,...,Pn используемый в синтаксисе вызова зависят от матричного семейства, как обсуждено в таблице в matrixname.

Тип данных сгенерированных тестовых матриц в виде вектора символов или строкового скаляра.

  • Если typename не задан, затем тип данных выходных матриц определяется из тех аргументов среди P1,P2,...,Pn это не задает матричные размерности или выбирает опцию, чтобы определить символ выходных матриц. Если какой-либо из этих аргументов имеет тип данных single, затем типом выходных данных является single. В противном случае типом выходных данных является double.

  • typename должен быть любой 'double' или 'single' для всех тестовых матриц, если matrixname 'integerdata'. Если matrixname 'integerdata', затем typename может быть 'double'единственныйint8int16int32uint8uint16, или 'uint32'.

Выходные аргументы

свернуть все

Выведите коэффициенты, векторы, матрицы или многомерные массивы. Выходные параметры A1,A2,...,Am это сгенерировано синтаксисом вызова, зависят от матричного семейства, как обсуждено в таблице в matrixname. В большинстве случаев, gallery функционируйте только возвращает одну матрицу как выходной аргумент.

Выходная матрица или многомерный массив.

Ссылки

[1] Галерея MATLAB® тестовых матриц основана на работе Николаса Дж. Хигема в Отделе Математики, Манчестерском университете, Манчестер, Англия. Дальнейший фон может быть найден в книгах Руководством MATLAB, 2-м редактором, Десмондом Дж. Хигемом и Николасом Дж. Хигемом, Филадельфией: SIAM, 2005, и Точность и Устойчивость Числовых Алгоритмов, Николасом Дж. Хигемом, Филадельфии: SIAM, 1996.

[2] Грэм, Р.Л. и Н. Дж. А. Слоан. “Матрицы анти-Адамара “. Линейная алгебра и ее приложения 62 (1984): 113-137.

[3] Lippold, G. “Тодд, J., Базовая Числовая Математика. Издание 2: Числовая Алгебра. ISNM 22. Базель-Штутгарт, Birkhäuser-Verlag 1977. 216 S. DM 48, – “. ZAMM - Angewandte Mathematik und Mechanik 59 Zeitschrift für, № 10 (1979): 589–589.

[4] Механизм, C. W. “Простой Набор Тестовых Матриц для Программ Собственного значения “. Математика Расчета 23, № 105 (1969): 119-125.

[5] Лоткин, M. “Набор Тестовых Матриц “. Математические Таблицы и Другие Средства к Расчету 9, № 52 (1955): 153.

[6] Дэвис, P. I. и Н. Дж. Хигем. “Численно устойчивая генерация корреляционных матриц и их факторов”. BIT числовая математика 40 (2000): 640-651.

[7] Барретт, W. W. и Т. Дж. Джарвис. “Спектральные свойства матрицы Redheffer “. Линейная алгебра и ее приложения 162-164 (1992): 673-83.

[8] Roesler, F. “Гипотеза Римана как задача о собственных значениях “. Линейная алгебра и ее приложения 81 (1986): 153-98.

[9] Бондессон, L. и я. Traat. “Несимметричная Матрица с Целочисленными Собственными значениями “. Линейная и Полилинейная Алгебра 55, № 3 (2007): 239-47.

[10] Rutishauser, H. “На Тестовых Матрицах “. Programmation en Mathematiques Numeriques, Центр Выпусков Туземная Наука Исследования, Париж, 165 (1966): 349-65.

[11] Уилкинсон, J. H. Алгебраическая задача о собственных значениях. Монографии согласно числовому анализу. Оксфорд: Оксфорд; Нью-Йорк: нажатие Clarendon; издательство Оксфордского университета, 1988.

[12] Moler, C. B. Числовое вычисление с MATLAB. Филадельфия: общество промышленной и прикладной математики, 2004.

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

| | | | | | | | |

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