CompanionMatrix[cvec]
返回与系数向量 cvec 对应的伴随矩阵.
CompanionMatrix[poly,x]
返回一个与关于变量 x 的多项式 poly 相对应的伴随矩阵.
CompanionMatrix[…,dir]
返回一个方向参数 dir 指定的伴随矩阵.
CompanionMatrix
CompanionMatrix[cvec]
返回与系数向量 cvec 对应的伴随矩阵.
CompanionMatrix[poly,x]
返回一个与关于变量 x 的多项式 poly 相对应的伴随矩阵.
CompanionMatrix[…,dir]
返回一个方向参数 dir 指定的伴随矩阵.
更多信息和选项
- 伴随矩阵为矩阵的 Frobenius 分解提供了构造块.
- CompanionMatrix[c] 默认情况下返回一个矩阵,其次对角线元素等于 1,最后一列由首一特征多项式的负系数组成.
-
C=
- CharacteristicPolynomial[CompanionMatrix[C],x] 为
(正负不同). MatrixMinimalPolynomial[CompanionMatrix[C],x] 则正好是该多项式. » - 伴随矩阵
在循环子空间中自然出现: »
, …,
, 
- 其中
是单位向量 UnitVector[n,i]. FrobeniusDecomposition 会返回这种形式的分块伴随矩阵. - 当利用状态变量
将单个微分方程
状态空间形式时,转置伴随矩阵会自然出现:
,
以及
⟹
. - StateSpaceModel[TransferFunctionModel[…]] 返回这种形式的系统模型.
- CompanionMatrix[cvec] 假定存在一个隐式的首一项,其次数等于列表的长度. 具体而言,它将列表 cvec={c0,c1,…,cn-1} 视为多项式
的系数. » - CompanionMatrix[{poly,x}] 不假定存在一个隐式的最高阶项. 它要求 poly 必须明确是关于变量 x 的多项式(且多项式的次数为正).
- CompanionMatrix[c,dir] 使用 dir 以确定所得到的矩阵布局. 它必须是 Right(默认),Bottom,Left 或 Top 之一. c 的系数将按照此指令进行放置.
- 对于 Right 或 Left,系数分别沿最后一列或第一列排列;而对于 Bottom 或 Top,则分别沿最后一行或第一行排列. 在 Right 和 Bottom 的情况下,常数项系数位于首位;而对于 Left 和 Top,最高次项系数则排在首位. 由 1 组成的带状区域将位于次对角线,对于 Right 和 Top;对于 Bottom 和 Left,则位于主对角线上方.
- 最常用的方向是 Right 和 Bottom,它们是彼此的转置. 同时,Top 和 Left 也是彼此的转置. »
- 伴随矩阵的特征值是 poly 的根,无论选择什么方向. »
- 可给出以下选项:
-
TargetStructure Automatic 返回的矩阵的结构 - TargetStructure 可取的设置包括:
-
Automatic 自动选择返回的表示 "Dense" 用稠密矩阵表示矩阵 "Sparse" 用稀疏矩阵表示矩阵
范例
打开所有单元 关闭所有单元基本范例 (1)
范围 (3)
CompanionMatrix 采用显示多项式:
CompanionMatrix[3 + x - 2x ^ 2 + 4x ^ 3, x]CompanionMatrix 采用符号式输入:
CompanionMatrix[{a, b, c}]coeffs = {1, 3, 5, 7};
CompanionMatrix[coeffs]CompanionMatrix 默认使用 Right 规范:
cr = CompanionMatrix[coeffs, Right]cb = CompanionMatrix[coeffs, Bottom]cb == Transpose[cr]ct = CompanionMatrix[coeffs, Top]cl = CompanionMatrix[coeffs, Left]cl == Transpose[ct]Table[Labeled[MatrixForm[CompanionMatrix[coeffs, pl]], pl], {pl, {Right, Left, Bottom, Top}}]选项 (1)
TargetStructure (1)
默认情况下,CompanionMatrix 返回一个密集矩阵:
coeffs = {1.5, 3.8, -4.2, 5.1, -2.3};
dm = CompanionMatrix[coeffs]取而代之,返回一个稀疏数组 SparseArray:
sa = CompanionMatrix[coeffs, TargetStructure -> "Sparse"]dm == sa属性和关系 (6)
CompanionMatrix[{a0+a1x+…+an-1 xn-1+xn,x}] 和CompanionMatrix[{a0,…,an-1}] 是一样的:
CompanionMatrix[2 + 3x + 4x ^ 2 + x ^ 3, x] == CompanionMatrix[{2, 3, 4}]对于
,MatrixMinimalPolynomial[CompanionMatrix[c],x] 是
的关联多项式
:
c = CompanionMatrix[{c0, c1, c2}];
μ = MatrixMinimalPolynomial[c, x]CharacteristicPolynomial[c,x] 是
乘以最小多项式:
CharacteristicPolynomial[c, x] == (-1)^Length[c]μpoly = 1 + 2 x + 3 x^2 + x^3;Eigenvalues[CompanionMatrix[{poly, x}]]Roots[poly == 0, x, Cubics -> False]Eigenvalues[CompanionMatrix[poly, x, #]]& /@ {Right, Bottom, Left, Top}CompanionMatrix[{c0,c1,…}] 的行列式是 c0:
Det[CompanionMatrix[{c0, c1, c2, c3}]]Det[CompanionMatrix[c0 + c1 x + c2 x ^ 2 + c3 x ^ 3 + x ^ 4, x]]Inverse[CompanionMatrix[{c0, c1, c2, c3}]]m = {{1, -3, 4}, {3, -7, 6}, {-2, -2, 19}};
cp = CharacteristicPolynomial[m, x]CompanionMatrix[cp, x]FrobeniusDecomposition[m][[2]]对于 c==CompanionMatrix[{c0,c1,…}],向量
、
、
、
是
的标准基:
c = CompanionMatrix[{c0, c1, c2, c3}];Table[MatrixPower[c, i - 1].UnitVector[4, 1] == UnitVector[4, i], {i, 4}]c.UnitVector[4, 4]相关指南
-
▪
- 矩阵分解
文本
Wolfram Research (2025),CompanionMatrix,Wolfram 语言函数,https://reference.wolfram.com/language/ref/CompanionMatrix.html (更新于 2026 年).
CMS
Wolfram 语言. 2025. "CompanionMatrix." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2026. https://reference.wolfram.com/language/ref/CompanionMatrix.html.
APA
Wolfram 语言. (2025). CompanionMatrix. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/CompanionMatrix.html 年
BibTeX
@misc{reference.wolfram_2026_companionmatrix, author="Wolfram Research", title="{CompanionMatrix}", year="2026", howpublished="\url{https://reference.wolfram.com/language/ref/CompanionMatrix.html}", note=[Accessed: 04-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_companionmatrix, organization={Wolfram Research}, title={CompanionMatrix}, year={2026}, url={https://reference.wolfram.com/language/ref/CompanionMatrix.html}, note=[Accessed: 04-September-2026]}