Spec-Zone.ru › Octave 6

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)

Создать матрицу Чоу — сингулярную нижнюю треугольную матрицу Хессенберга.

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

Создать матрицу Тоэплица с чувствительными собственными значениями.

: 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, 2^32-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)

Создать матрицу Тоэплица Каца — Мердока — Сзего.

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

Создать матрицу Лемера (симметричная положительно определённая).

END_OF_DOCUMENT_MARKER
: 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, 2^32-1]. Значения выходной матрицы всегда будут точно одинаковыми (воспроизводимость) для заданных размеров входных данных и индекса j.

Последний необязательный параметр определяет класс полученной матрицы. Возможные значения для class: "single", "double". По умолчанию "double".

: q = gallery ("orthog", n)
: q = gallery ("orthog", n, k)

Создать ортогональные и почти ортогональные матрицы.

: a = gallery ("parter", n)

Создать матрицу Партера (матрица Топлица с сингулярными значениями, близкими к пи).

: p = gallery ("pei", n)
: p = gallery ("pei", n, alpha)

Создать матрицу Пей.

: a = gallery ("poisson", n)

Создать блочно-треугольную матрицу из уравнения Пуассона (разреженная).

: a = gallery ("prolate", n)
: a = gallery ("prolate", n, w)

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

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

Создать симметричную положительно определённую матрицу Топлица.

: 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 оставит матрицу матрицей Адамара.

См. также: compan, hankel, toeplitz.

END_OF_DOCUMENT_MARKER
: 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

См. также: hadamard, toeplitz.

: 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 ()

Возвращает матрицу Россера.

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

См. также: wilkinson, eig.

: toeplitz (c)
: toeplitz (c, r)

Возвращает матрицу Тоepлица, построенную из первого столбца c, и, по желанию, первой строки r.

Если второй аргумент опущен, первая строка принимается такой же, как первый столбец. Если первый элемент r не совпадает с первым элементом c, используется первый элемент c.

Матрица Тоepлица, или матрица с диагональной постоянной, имеет одинаковое значение вдоль каждой диагонали. Хотя она не обязательно должна быть квадратной, часто она таковой является. MxN матрица Тоepлица имеет вид:

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.

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

См. также: rosser, eig.

© 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/v6.4.0/Famous-Matrices.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API