Spec-Zone.ru › Octave 7

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лицa.

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

Создать матрицу Форсайтa (возмущённый блок Жордана).

: 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 с чувствительными собственными значениями.

: a = gallery ("hanowa", n) ¶
: a = gallery ("hanowa", n, d) ¶

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

: v = gallery ("house", x) ¶
: [v, beta] = gallery ("house", x) ¶

Создать матрицу Гаусса.

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

Создать матрицу Каца-Мёрдока-Зеге (матрица Тоepлицa).

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

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

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

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

: a = gallery ("parter", n) ¶

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

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

: 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/v7.2.0/Famous-Matrices.html

Spec-Zone.ru

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