16.4 著名矩阵

以下函数返回著名的矩阵形式。

 

创建用于测试的有趣矩阵。

创建一个柯西矩阵。

创建一个切比雪夫谱微分矩阵。

为切比雪夫多项式创建一个类范德蒙矩阵。

创建一个 Chow 矩阵——一个奇异的 Toeplitz 下 Hessenberg 矩阵。

创建一个循环矩阵。

创建一个对角元为零的三对角矩阵。

创建一个比较矩阵。

为条件估计器创建一个"反例"矩阵。

创建一个列循环重复的矩阵。

创建一个对角占优、病态的三对角矩阵。

创建一个 (0,1) 矩阵,其逆矩阵具有大的整数元素。

创建一个对称的 Fiedler 矩阵。

创建一个 Forsythe 矩阵(一个扰动的 Jordan 块)。

创建一个 Frank 矩阵(病态特征值)。

创建最大公约数矩阵。

c 是一个 n×n 的矩阵,其值为坐标的最大公约数,即 c(i,j) 对应 gcd (i, j)

创建一个 Gear 矩阵。

创建一个特征值敏感的 Toeplitz 矩阵。

创建一个特征值位于复平面垂直线上矩阵。

创建一个 Householder 矩阵。

创建一个包含范围 [1, imax] 内的随机整数的矩阵。如果给出了 imin,则整数范围在 [imin, imax] 之间。

第二个输入是描述输出大小的维度矩阵。维度也可以作为逗号分隔的参数输入。

输入 j 是范围 [0, 2^32-1] 内的整数索引。对于给定的尺寸输入和 j 索引,输出矩阵的值始终完全相同(可重复性)。

最后一个可选参数确定结果矩阵的类型。class 的可能值:"uint8""uint16""uint32""int8""int16""int32""single""double"。默认为 "double"

创建一个上 Hessenberg 矩阵的逆。

创建一个对合矩阵。

创建一个包含阶乘元素的 Hankel 矩阵。

创建一个 Jordan 块。

创建一个 Kahan 矩阵(上梯形)。

创建一个 Kac-Murdock-Szego Toeplitz 矩阵。

创建一个 Krylov 矩阵。

创建一个 Lauchli 矩阵(矩形)。

创建一个 Lehmer 矩阵(对称正定)。

创建一个具有实数值敏感特征值的三对角矩阵。

创建一个 Lotkin 矩阵。

创建一个对称正定矩阵 MIN(i,j)。

创建一个 Moler 矩阵(对称正定)。

从离散 Neumann 问题创建一个奇异矩阵(稀疏)。

创建一个包含标准正态分布随机样本的矩阵(均值 = 0,标准差 = 1)。

第一个输入是描述输出大小的维度矩阵。维度也可以作为逗号分隔的参数输入。

输入 j 是范围 [0, 2^32-1] 内的整数索引。对于给定的尺寸输入和 j 索引,输出矩阵的值始终完全相同(可重复性)。

最后一个可选参数确定结果矩阵的类型。class 的可能值:"single""double"。默认为 "double"

创建正交和近似正交矩阵。

创建一个 Parter 矩阵(奇异值接近 pi 的 Toeplitz 矩阵)。

创建一个 Pei 矩阵。

从泊松方程创建一个块三对角矩阵(稀疏)。

创建一个长球矩阵(对称、病态的 Toeplitz 矩阵)。

创建一个随机的正交上 Hessenberg 矩阵。

创建一个元素为 -1、0 或 1 的随机矩阵。

创建一个具有预设奇异值的随机矩阵。

创建一个与黎曼猜想相关的 Redheffer 0-1 矩阵。

创建一个与黎曼猜想相关的矩阵。

创建一个对称的 Hankel 矩阵。

创建一个具有"烟环"伪谱的复矩阵。

创建一个对称正定的 Toeplitz 矩阵。

创建一个五对角 Toeplitz 矩阵(稀疏)。

创建一个三对角矩阵(稀疏)。

创建一个由 Kahan、Golub 和 Wilkinson 讨论过的上三角矩阵。

创建一个包含标准均匀分布随机样本的矩阵(范围 [0,1])。

第一个输入是描述输出大小的维度矩阵。维度也可以作为逗号分隔的参数输入。

输入 j 是范围 [0, 2^32-1] 内的整数索引。对于给定的尺寸输入和 j 索引,输出矩阵的值始终完全相同(可重复性)。

最后一个可选参数确定结果矩阵的类型。class 的可能值:"single""double"。默认为 "double"

创建 Wathen 矩阵。

创建由 Wilkinson 设计/讨论的各种特定矩阵。

 
h = hadamard (n)

构造一个 n×n 的 Hadamard 矩阵 (Hn)。

尺寸 n 必须为 2^k * p 的形式,其中 p 是 1、12、20 或 28 之一。返回的矩阵是归一化的,即 Hn(:,1) == 1Hn(1,:) == 1

Hadamard 矩阵的一些性质:

  • kron (Hm, Hn) 是一个大小为 m×n 的 Hadamard 矩阵。
  • Hn * Hn' = n * eye (n)
  • Hn 的行是正交的。
  • det (A) <= abs (det (Hn)) 对于所有 abs (A(i, j)) <= 1A 成立。
  • 将任一行或列乘以 -1,该矩阵仍然保持为 Hadamard 矩阵。

另请参阅: companhankeltoeplitz

 
h = hankel (c)
h = hankel (c, r)

返回从第一列 c 和(可选)最后一行 r 构造的 Hankel 矩阵。

如果 c 的最后一个元素与 r 的第一个元素不同,则使用 c 的最后一个元素。如果省略第二个参数,则假设其为一个与 c 大小相同的零向量。

由 m 向量 c 和 n 向量 r 形成的 Hankel 矩阵具有以下元素:

H(i,j) = c(i+j-1),  i+j-1 <= m;
H(i,j) = r(i+j-m),  otherwise

另请参阅: hadamardtoeplitz

 
h = hilb (n)

返回 n 阶 Hilbert 矩阵。

Hilbert 矩阵的 i,j 元素定义为

H(i, j) = 1 / (i + j - 1)

Hilbert 矩阵接近奇异,这使得它们很难用数值方法求逆。将 5x5 随机矩阵的条件数与 5 阶 Hilbert 矩阵的条件数进行比较,可以看出问题的难度。

cond (rand (5))
   ⇒    14.392
cond (hilb (5))
   ⇒    4.7661e+05

另请参阅: invhilb

 
hinv = invhilb (n)

返回 n 阶 Hilbert 矩阵的逆矩阵。

这可以使用如下公式精确计算:


           (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/

此公式的有效性可以通过将两个公式中的二项式系数展开为阶乘来轻松验证。它也可以通过 Cauchy 矩阵理论更直接地推导得出。参见 J. W. Demmel, Applied Numerical Linear Algebra,第 92 页。

将此与 inv (hilb (n)) 的数值计算进行对比,后者受 Hilbert 矩阵的病态性和计算机浮点运算有限精度的影响。

另请参阅: hilb

 
M = magic (n)

创建一个 n×n 的幻方矩阵。

幻方是整数 1:n^2 的一个排列,使得行和、列和以及对角线和都等于同一个值。

注意:n 必须是大于或等于 3 的标量。如果您提供的 n 小于 3,magic 将返回一个非幻方矩阵,或者返回退化的幻方矩阵 1 和 []。

 
P = pascal (n)
P = pascal (n, t)

如果 t = 0,返回 n 阶 Pascal 矩阵。

t 的默认值为 0。

t = 1 时,返回 Pascal 矩阵的伪下三角 Cholesky 因子(某些列的符号可能为负)。该矩阵是其自身的逆矩阵,即 pascal (n, 1) ^ 2 == eye (n)

如果 t = -1,返回对角线上具有严格正值的真实 Cholesky 因子。

如果 t = 2,返回 pascal (n, 1) 的转置和排列版本,它是单位矩阵的立方根。即 pascal (n, 2) ^ 3 == eye (n)

另请参阅: chol

 
R = rosser ()

返回 Rosser 矩阵。

这是一个用于评估特征值算法的困难测试案例。

另请参阅: wilkinsoneig

 
T = toeplitz (c)
T = toeplitz (c, r)

返回从第一列 c 以及可选的第一行 r 构造的 Toeplitz 矩阵。

如果省略第二个参数,第一行将被视为与第一列相同。如果 r 的第一个元素与 c 的第一个元素不同,则使用 c 的第一个元素。

Toeplitz(即对角常数)矩阵沿每条对角线具有相同的值。虽然它不一定是方阵,但通常是方阵。一个 M×N 的 Toeplitz 矩阵形式如下:

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

 
V = vander (c)
V = vander (c, n)

返回 Vandermonde 矩阵,其倒数第二列为 c

如果指定了 n,则它决定列数;否则 n 取为 c 的长度。

Vandermonde 矩阵的形式如下:

c(1)^(n-1) ... c(1)  1
c(2)^(n-1) ... c(2)  1
 .     .      .    .
 .     .       .   .
 .     .        .  .
c(m)^(n-1) ... c(m)  1

另请参阅: polyval

 
W = wilkinson (n)

返回 n 阶 Wilkinson 矩阵。

Wilkinson 矩阵是对称三对角矩阵,具有几乎相等但不完全相等的特征值对。它们可用于测试特征值求解器的行为和性能。

另请参阅: rossereig