16.4 Известные матрицы
Следующие функции возвращают известные формы матриц.
- gallery (name)
- gallery (name, args)
-
Создать интересные матрицы для тестирования.
- c = gallery ("cauchy", x)
- c = gallery ("cauchy", x, y)
-
Создать матрицу Коши.
- c = gallery ("chebspec", n)
- c = gallery ("chebspec", n, k)
-
Создать матрицу Чебышева для спектрального дифференцирования.
- c = gallery ("chebvand", p)
- c = gallery ("chebvand", m, p)
-
Создать матрицу типа Вандермонда для полиномов Чебышева.
- a = gallery ("chow", n)
- a = gallery ("chow", n, alpha)
- a = gallery ("chow", n, alpha, delta)
-
Создать матрицу Чоу – сингулярную нижнетреугольную матрицу Тоepлица.
- c = gallery ("circul", v)
-
Создать циркулянтную матрицу.
- a = gallery ("clement", n)
- a = gallery ("clement", n, k)
-
Создать трёхдиагональную матрицу с нулевыми диагональными элементами.
- c = gallery ("compar", a)
- c = gallery ("compar", a, k)
-
Создать сравнительную матрицу.
- a = gallery ("condex", n)
- a = gallery ("condex", n, k)
- a = gallery ("condex", n, k, theta)
-
Создать матрицу «контрпримера» для оценивания условия.
- a = gallery ("cycol", [m n])
- a = gallery ("cycol", n)
- a = gallery (…, k)
-
Создать матрицу, столбцы которой циклически повторяются.
- [c, d, e] = gallery ("dorr", n)
- [c, d, e] = gallery ("dorr", n, theta)
- a = gallery ("dorr", …)
-
Создать диагонально-доминирующую, плохо обусловленную трёхдиагональную матрицу.
- a = gallery ("dramadah", n)
- a = gallery ("dramadah", n, k)
-
Создать матрицу (0, 1), обратная которой имеет большие целые элементы.
- a = gallery ("fiedler", c)
-
Создать симметричную матрицу Фидлера.
- a = gallery ("forsythe", n)
- a = gallery ("forsythe", n, alpha)
- a = gallery ("forsythe", n, alpha, lambda)
-
Создать матрицу Форсайта (возмущённый блок Жордана).
- f = gallery ("frank", n)
- f = gallery ("frank", n, k)
-
Создать матрицу Франка (плохо обусловленные собственные значения).
- c = gallery ("gcdmat", n)
-
Создать матрицу наибольшего общего делителя.
c — матрица n×n, значения которой соответствуют наибольшему общему делителю координат, т. е. c(i,j) соответствуют
gcd (i, j).
- a = gallery ("gearmat", n)
- a = gallery ("gearmat", n, i)
- a = gallery ("gearmat", n, i, j)
-
Создать матрицу Гира.
- g = gallery ("grcar", n)
- g = gallery ("grcar", n, k)
-
Создать матрицу Тоepлица со чувствительными собственными значениями.
- a = gallery ("hanowa", n)
- a = gallery ("hanowa", n, d)
-
Создать матрицу, собственные значения которой лежат на вертикальной прямой в комплексной плоскости.
- v = gallery ("house", x)
- [v, beta] = gallery ("house", x)
-
Создать матрицу Хаусхолдера.
- a = gallery ("integerdata", imax, [M N …], j)
- a = gallery ("integerdata", imax, M, N, …, j)
- a = gallery ("integerdata", [imin, imax], [M N …], j)
- a = gallery ("integerdata", [imin, imax], M, N, …, j)
- a = gallery ("integerdata", …, "class")
-
Создать матрицу со случайными целыми числами в диапазоне [1, imax]. Если задано imin, то целые числа находятся в диапазоне [imin, imax].
Вторым вводом является матрица размеров, описывающая размер выходных данных. Размеры также могут быть введены как разделенные запятыми аргументы.
Ввод j — целочисленный индекс в диапазоне [0, 232-1]. Значения выходной матрицы всегда точно совпадают (воспроизводимость) для заданных входных размеров и индекса j.
Последний необязательный аргумент определяет класс полученной матрицы. Возможные значения для class:
"uint8","uint16","uint32","int8","int16", int32","single","double". По умолчанию"double".
- a = gallery ("invhess", x)
- a = gallery ("invhess", x, y)
-
Создать обратную верхнетреугольную матрицу.
- a = gallery ("invol", n)
-
Создать инволютивную матрицу.
- a = gallery ("ipjfact", n)
- a = gallery ("ipjfact", n, k)
-
Создать матрицу Ханкеля с факториальными элементами.
- a = gallery ("jordbloc", n)
- a = gallery ("jordbloc", n, lambda)
-
Создать блок Жордана.
- u = gallery ("kahan", n)
- u = gallery ("kahan", n, theta)
- u = gallery ("kahan", n, theta, pert)
-
Создать матрицу Кахана (верхняя трапециевидная).
- a = gallery ("kms", n)
- a = gallery ("kms", n, rho)
-
Создать матрицу Каца-Мёрдока-Зего Тоepлица.
- b = gallery ("krylov", a)
- b = gallery ("krylov", a, x)
- b = gallery ("krylov", a, x, j)
-
Создать матрицу Крывлова.
- a = gallery ("lauchli", n)
- a = gallery ("lauchli", n, mu)
-
Создать матрицу Лаукли (прямоугольную).
- a = gallery ("lehmer", n)
-
Создать матрицу Лемера (симметричная положительно определённая).
- t = gallery ("lesp", n)
-
Создать трёхдиагональную матрицу с действительными, чувствительными собственными значениями.
- a = gallery ("lotkin", n)
-
Создать матрицу Лоткина.
- a = gallery ("minij", n)
-
Создать симметричную положительно определённую матрицу MIN(i,j).
- a = gallery ("moler", n)
- a = gallery ("moler", n, alpha)
-
Создать матрицу Молера (симметричная положительно определённая).
- [a, t] = gallery ("neumann", n)
-
Создать сингулярную матрицу из дискретного уравнения Неймана (разреженная).
- a = gallery ("normaldata", [M N …], j)
- a = gallery ("normaldata", M, N, …, j)
- a = gallery ("normaldata", …, "class")
-
Создать матрицу со случайными выборками из стандартного нормального распределения (среднее = 0, стандартное отклонение = 1).
Первый ввод — матрица размеров, описывающая размер выходных данных. Размеры также могут быть введены как разделенные запятыми аргументы.
Ввод j — целочисленный индекс в диапазоне [0, 232-1]. Значения выходной матрицы всегда точно совпадают (воспроизводимость) для заданных входных размеров и индекса j.
Последний необязательный аргумент определяет класс полученной матрицы. Возможные значения для class:
"single","double". По умолчанию"double".
- q = gallery ("orthog", n)
- q = gallery ("orthog", n, k)
-
Создать ортогональные и почти ортогональные матрицы.
- a = gallery ("parter", n)
-
Создать матрицу Партера (матрица Тоepлица с сингулярными значениями, близкими к π).
- p = gallery ("pei", n)
- p = gallery ("pei", n, alpha)
-
Создать матрицу Пей.
- a = gallery ("poisson", n)
-
Создать блочно-трёхдиагональную матрицу из уравнения Пуассона (разреженная).
- a = gallery ("prolate", n)
- a = gallery ("prolate", n, w)
-
Создать пролатную матрицу (симметричная, плохо обусловленная матрица Тоepлица).
- h = gallery ("randhess", x)
-
Создать случайную ортогональную верхнетреугольную матрицу.
- a = gallery ("rando", n)
- a = gallery ("rando", n, k)
-
Создать случайную матрицу с элементами -1, 0 или 1.
- a = gallery ("randsvd", n)
- a = gallery ("randsvd", n, kappa)
- a = gallery ("randsvd", n, kappa, mode)
- a = gallery ("randsvd", n, kappa, mode, kl)
- a = gallery ("randsvd", n, kappa, mode, kl, ku)
-
Создать случайную матрицу с предварительно заданными сингулярными значениями.
- a = gallery ("redheff", n)
-
Создать матрицу нулей и единиц Редхеффера, связанную с гипотезой Римана.
- a = gallery ("riemann", n)
-
Создать матрицу, связанную с гипотезой Римана.
- a = gallery ("ris", n)
-
Создать симметричную матрицу Ханкеля.
- a = gallery ("smoke", n)
- a = gallery ("smoke", n, k)
-
Создать комплексную матрицу с псевдоспектром «кольца дыма».
- t = gallery ("toeppd", n)
- t = gallery ("toeppd", n, m)
- t = gallery ("toeppd", n, m, w)
- t = gallery ("toeppd", n, m, w, theta)
-
Создать симметричную положительно определённую матрицу Тоepлица.
- p = gallery ("toeppen", n)
- p = gallery ("toeppen", n, a)
- p = gallery ("toeppen", n, a, b)
- p = gallery ("toeppen", n, a, b, c)
- p = gallery ("toeppen", n, a, b, c, d)
- p = gallery ("toeppen", n, a, b, c, d, e)
-
Создать пентадиагональную матрицу Топлица (разреженную).
- a = gallery ("tridiag", x, y, z)
- a = gallery ("tridiag", n)
- a = gallery ("tridiag", n, c, d, e)
-
Создать треугольную матрицу (разреженную).
- t = gallery ("triw", n)
- t = gallery ("triw", n, alpha)
- t = gallery ("triw", n, alpha, k)
-
Создать верхнетреугольную матрицу, обсуждаемую Каханом, Голубом и Уилкинсоном.
- a = gallery ("uniformdata", [M N …], j)
- a = gallery ("uniformdata", M, N, …, j)
- a = gallery ("uniformdata", …, "class")
-
Создать матрицу с случайными выборками из стандартного равномерного распределения (диапазон [0,1]).
Первый вход — матрица размерностей, описывающая размер выходных данных. Размерности также могут быть введены как аргументы, разделённые запятыми.
Входной параметр j — целое числовой индекс в диапазоне [0, 2^32-1]. Значения матрицы выходных данных всегда точно одинаковы (воспроизводимость) для заданного размера входных данных и индекса j.
Последний необязательный аргумент определяет класс результирующей матрицы. Возможные значения для class:
"single","double". По умолчанию"double".
- a = gallery ("wathen", nx, ny)
- a = gallery ("wathen", nx, ny, k)
-
Создать матрицу Уотена.
- [a, b] = gallery ("wilk", n)
-
Создать различные специфические матрицы, разработанные/обсуждаемые Уилкинсоном.
- hadamard (n)
-
Построить матрицу Адамара (Hn) размера n-на-n.
Размер n должен иметь вид 2^k * p, где p — одно из 1, 12, 20 или 28. Возвращаемая матрица нормализована, что означает
Hn(:,1) == 1иHn(1,:) == 1.Некоторые свойства матриц Адамара:
-
kron (Hm, Hn)— это матрица Адамара размера m-на-n. -
Hn * Hn' = n * eye (n). - Строки Hn ортогональны.
-
det (A) <= abs (det (Hn))для всех A сabs (A(i, j)) <= 1. - Умножение любой строки или столбца на -1 сохранит матрицу Адамара.
-
- hankel (c)
- hankel (c, r)
-
Возвращает матрицу Ханкеля, построенную из первого столбца c и (необязательно) последней строки r.
Если последний элемент c не совпадает с первым элементом r, используется последний элемент c. Если второй аргумент опущен, он предполагается вектором нулей того же размера, что и c.
Матрица Ханкеля, сформированная из m-вектора c и n-вектора r, имеет элементы
H(i,j) = c(i+j-1), i+j-1 <= m; H(i,j) = r(i+j-m), otherwise
- hilb (n)
-
Возвращает матрицу Гильберта порядка n.
Элемент i,j матрицы Гильберта определяется как
H(i, j) = 1 / (i + j - 1)
Матрицы Гильберта близки к вырожденным, что затрудняет их обращение с помощью численных методов. Сравнение числа обусловленности случайной матрицы 5x5 с матрицей Гильберта 5-го порядка показывает, насколько сложной является эта проблема.
cond (rand (5)) ⇒ 14.392 cond (hilb (5)) ⇒ 4.7661e+05
См. также: invhilb.
- invhilb (n)
-
Возвращает обратную матрицу Гильберта порядка n.
Это можно вычислить точно, используя
(i+j) /n+i-1\ /n+j-1\ /i+j-2\ 2 A(i,j) = -1 (i+j-1)( )( ) ( ) \ n-j / \ n-i / \ i-2 / = p(i) p(j) / (i+j-1)где
k /k+n-1\ /n\ p(k) = -1 ( ) ( ) \ k-1 / \k/Корректность этой формулы легко проверить, раскрыв биномиальные коэффициенты в обеих формулах через факториалы. Её можно вывести более непосредственно через теорию матриц Коши. См. Дж. У. Деммель, Прикладная численные линейная алгебра, стр. 92.
Сравните это с численным вычислением
inv (hilb (n)), которое страдает от плохо обусловленности матрицы Гильберта и конечной точности плавающей точки арифметики вашего компьютера.См. также: hilb.
- magic (n)
-
Создать n-на-n магический квадрат.
Магический квадрат — это расположение целых чисел
1:n^2таким образом, что суммы строк, столбцов и диагоналей равны одному и тому же значению.Примечание: n должен быть скаляром, большим или равным 3. Если вы укажете n меньше 3, magic вернёт либо не-магический квадрат, либо вырожденные магические квадраты 1 и [].
- pascal (n)
- pascal (n, t)
-
Возвратить матрицу Паскаля порядка n, если
t = 0.Значение по умолчанию для t равно 0.
Когда
t = 1, возвращает псевдонижнюю треугольную факторизацию Холецкого матрицы Паскаля (знак некоторых столбцов может быть отрицательным). Эта матрица является своей собственной обратной, то естьpascal (n, 1) ^ 2 == eye (n).Если
t = -1, возвращает истинную факторизацию Холецкого со строго положительными значениями на главной диагонали.Если
t = 2, возвращает транспонированную и перестановленную версиюpascal (n, 1), которая является кубическим корнем единичной матрицы. То естьpascal (n, 2) ^ 3 == eye (n).См. также: chol.
- rosser ()
-
Возвратить матрицу Россера.
Это сложный тестовый случай, используемый для оценки алгоритмов нахождения собственных значений.
- toeplitz (c)
- toeplitz (c, r)
-
Возвращает матрицу Топлица, построенную из первого столбца c, и (необязательно) первой строки r.
Если второй аргумент опущен, первая строка принимается равной первому столбцу. Если первый элемент r не равен первому элементу c, используется первый элемент c.
Матрица Топлица, или матрица с постоянной диагональю, имеет одинаковые значения по каждой диагонали. Хотя она и не обязана быть квадратной, часто она таковой является. Матрица Топлица MxN имеет вид:
c(1) r(2) r(3) … r(n) c(2) c(1) r(2) … r(n-1) c(3) c(2) c(1) … r(n-2) . . . . . . . . . . . . . . . c(m) c(m-1) c(m-2) … c(m-n+1)
См. также: hankel.
- vander (c)
- vander (c, n)
-
Возвращает матрицу Вандермонда, у которого предпоследний столбец — c.
Если n указан, он определяет количество столбцов; в противном случае n принимается равным длине c.
Матрица Вандермонда имеет вид:
c(1)^(n-1) … c(1)^2 c(1) 1 c(2)^(n-1) … c(2)^2 c(2) 1 . . . . . . . . . . . . . . . c(n)^(n-1) … c(n)^2 c(n) 1См. также: polyfit.
- wilkinson (n)
-
Возвращает матрицу Уилкинсона порядка n.
Матрицы Уилкинсона симметричные и треугольные с парами почти, но не точно, равных собственных значений. Они полезны при тестировании поведения и производительности решателей собственных значений.
© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v5.2.0/Famous-Matrices.html