WOLFRAM

Copy to clipboard.

如果 m 是显式半正定矩阵,给出 True,否则给出 False.

更多信息和选项

  • 如果对于所有向量 xRe[Conjugate[x].m.x]0 成立,则矩阵 m 是半正定的. »
  • PositiveSemidefiniteMatrixQ 适用于符号以及数值矩阵.
  • 对于近似矩阵,选项 Tolerance->t 可用于表明将所有满足 λt λmax 的特征值 λ 视为零,其中 λmax 是幅值最大的特征值.
  • 选项 Tolerance 具有默认值 Automatic.

范例

打开所有单元关闭所有单元

基本范例  (2)常见实例总结

测试 2×2 的实矩阵是否为显式半正定矩阵:

Out[2]=2

这意味着对于所有向量 ,二次型 成立:

Out[3]=3

可视化二次型的值:

Out[4]=4

测试 3×3 Hermitian 矩阵是否为半正定矩阵:

Out[1]=1

范围  (10)标准用法实例范围调查

基本用法  (6)

测试一个实机器精度矩阵是否为显式半正定矩阵:

Out[1]=1

测试一个复矩阵否为半正定矩阵:

Out[1]=1

测试一个精确矩阵否为半正定矩阵:

Out[1]=1

PositiveSemidefiniteMatrixQ 测试任意精度的矩阵:

Out[1]=1

随机矩阵通常不是半正定矩阵:

Out[2]=2

PositiveSemidefiniteMatrixQ 测试符号矩阵:

Out[1]=1

b=-TemplateBox[{a}, Conjugate] 时矩阵为半正定矩阵:

Out[2]=2

PositiveSemidefiniteMatrixQ 可高效处理大型数值矩阵:

Out[2]=2
Out[3]=3

特殊矩阵  (4)

PositiveSemidefiniteMatrixQ 测试稀疏矩阵:

Out[1]=1
Out[2]=2

PositiveSemidefiniteMatrixQ 测试结构矩阵:

Out[1]=1
Out[2]=2

单位矩阵是半正定矩阵:

Out[1]=1

HilbertMatrix 是半正定矩阵:

Out[1]=1

选项  (1)各选项的常用值和功能

Tolerance  (1)

产生具有阶数为 10-12 的随机扰动的实数对角矩阵:

Out[1]=1
Out[2]=2

调整选项 Tolerance 接受矩阵作为半正定矩阵:

Out[3]=3

应用  (13)用该函数可以解决的问题范例

半正定矩阵的几何与代数性质  (5)

考虑一个 2×2 的实半正定矩阵及其相关的实二次型 q=TemplateBox[{x}, Transpose].m.x

Out[2]=2

因为 是正定矩阵,所以水平集是椭圆:

Out[4]=4

的图则是向上的椭圆抛物面:

Out[5]=5

但是,椭圆可以退化,变成线:

Out[6]=6
Out[7]=7

的图则变为抛物线上的圆柱体:i

Out[9]=9

在更极端的情况下,由于 ,水平集可以是整个平面:

Out[9]=9
Out[10]=10

对于 的实半正定矩阵,水平集是 -椭圆体:

Out[2]=2
Out[3]=3

在三维空间中,可以退化为椭圆上的圆柱体:

Out[4]=4
Out[5]=5

以及平面:

Out[6]=6
Out[7]=7

通过 q=TemplateBox[{x}, ConjugateTranspose].m.x,Hermitian 矩阵定义了一个实二次型:

Out[1]=1

如果 是半正定矩阵,对于所有输入, 非负:

Out[2]=2

输入为实数的情况下可视化

Out[3]=3

对于实值矩阵 ,只有对称的部分决定 是否为半正定矩阵. 写为 为对称部分, 为非对称部分:

Out[3]=3

由于 为实对称矩阵,TemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], ., s, ., x}, )}}, Conjugate]=TemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], ., s, ., x}, )}}, ConjugateTranspose]=TemplateBox[{x}, ConjugateTranspose].TemplateBox[{s}, ConjugateTranspose].TemplateBox[{{(, TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], )}}, ConjugateTranspose]=TemplateBox[{x}, ConjugateTranspose].s.x,意味着 TemplateBox[{x}, ConjugateTranspose].s.x 是实矩阵:

Out[4]=4

同样,由于 为实非对称矩阵,有 TemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], ., a, ., x}, )}}, Conjugate]=-TemplateBox[{x}, ConjugateTranspose].a.xTemplateBox[{x}, ConjugateTranspose].a.x 为虚矩阵:

Out[5]=5

因此,Re(TemplateBox[{x}, ConjugateTranspose].m.x)=TemplateBox[{x}, ConjugateTranspose].s.x,当且仅当 为半正定矩阵, 才是半正定矩阵:

Out[6]=6

对于复矩阵 ,只有 Hermitian 部分决定 是否为半正定矩阵. 写为 是 Hermitian 矩阵, 为反埃尔米特矩阵:

Out[3]=3

由于 是 Hermitian 矩阵,TemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose], ., h, ., x}, )}}, Conjugate]=TemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose], ., h, ., x}, )}}, ConjugateTranspose]=TemplateBox[{x}, ConjugateTranspose].TemplateBox[{h}, ConjugateTranspose].TemplateBox[{{(, TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], )}}, ConjugateTranspose]=TemplateBox[{x}, ConjugateTranspose].h.x,意味着 TemplateBox[{x}, ConjugateTranspose].h.x 是实矩阵:

Out[4]=4

同样,由于 为反埃尔米特矩阵,有 TemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], ., a, ., x}, )}}, Conjugate]=-TemplateBox[{x}, ConjugateTranspose].a.xTemplateBox[{x}, ConjugateTranspose].a.x 是虚矩阵:

Out[5]=5

因此,Re(TemplateBox[{x}, ConjugateTranspose].m.x)=TemplateBox[{x}, ConjugateTranspose].h.x,当且仅当 为半正定矩阵, 才是半正定矩阵:

Out[6]=6

半正定矩阵的来源  (8)

Covariance 矩阵总是对称的和半正定的:

Out[1]=1

复矩阵是 Hermitian 矩阵:

Out[2]=2

为方阵,计算 SingularValueDecomposition[m]

矩阵式半正定矩阵:

Out[2]=2

Gram 矩阵是 个向量的点积组成的 对称矩阵:

Gram 矩阵一定是半正定矩阵:

Out[2]=2

WishartMatrixDistribution 得到的矩阵是实对称半正定矩阵:

Out[1]=1

Hermitian 矩阵的平方是半正定矩阵:

Out[2]=2
Out[3]=3

每个反厄米特矩阵都是半正定矩阵:

Out[2]=2

Lehmer 矩阵是对称半正定矩阵:

Out[1]=1

它的逆矩阵是三对角矩阵,同时也是对称半正定矩阵:

Out[2]=2
Out[3]=3

矩阵 Min[i,j] 一定是对称半正定矩阵:

Out[1]=1

它的逆矩阵是三对角矩阵,同时也是对称半正定矩阵:

Out[2]=2
Out[3]=3

属性和关系  (13)函数的属性及与其他函数的关联

对于任何不是矩阵的 xPositiveSemidefiniteMatrixQ[x] 返回 False

Out[1]=1

如果对于所有向量 Re(TemplateBox[{x}, ConjugateTranspose].m.x)>=0,则矩阵 是半正定矩阵:

Out[1]=1
Out[2]=2

Im(TemplateBox[{x}, ConjugateTranspose].m.x) 的正负无关:

Out[3]=3
Out[4]=4

当且仅当实矩阵的对称部分是半正定的,实矩阵 才是半正定矩阵:

Out[2]=2

一般情况下,当且仅当矩阵的 Hermitian 部分是半正定的,矩阵 才是半正定矩阵:

Out[4]=4

当且仅当实对称矩阵的特征值都是非负的,实对称矩阵才是半正定矩阵:

Out[2]=2
Out[3]=3

该陈述更普遍适用于 Hermitian 矩阵:

Out[5]=5

普通矩阵的所有特征值可以非负而不是半正定矩阵:

Out[1]=1
Out[2]=2

同样,一个矩阵可以是半正定的,但没有非负特征值:

Out[3]=3
Out[4]=4

失败是特征值为复数造成的:

Out[5]=5

半正定矩阵的特征值的实部必须非负:

Out[6]=6

当且仅当对角元素有非负实部,对角矩阵才是半正定矩阵:

Out[1]=1
Out[2]=2

半正定矩阵的通用形式为 u.d.TemplateBox[{u}, ConjugateTranspose]+a,其中, 为对角半正定矩阵:

Out[1]=1

划分为 Hermitian 和反厄米特部分:

根据谱定理,可用 JordanDecomposition 酉对角化:

矩阵 是对角矩阵,且对角元素非负:

矩阵 是酉矩阵:

Out[6]=6

验证 m=u.d.TemplateBox[{u}, ConjugateTranspose]+a

Out[7]=7

当且仅当 是半负定矩阵,矩阵 才是半正定矩阵:

Out[2]=2

正定矩阵一定是半正定矩阵:

Out[2]=2

有非正定的半正定矩阵:

Out[4]=4

半正定矩阵不可能是不定或半负定矩阵:

Out[5]=5

实对称半正定矩阵的行列式和迹非负:

Out[2]=2
Out[3]=3

这同样适用于半正定 Hermitian 矩阵:

Out[5]=5
Out[6]=6

实对称半正定矩阵 有唯一定义的平方根 ,使得 成立:

Out[2]=2
Out[3]=3
Out[4]=4

平方根 是半正定实对称矩阵:

Out[5]=5

半正定厄米特矩阵 有唯一定义的平方根 ,使得 成立:

Out[2]=2
Out[3]=3
Out[4]=4

平方根 是半正定厄米特矩阵:

Out[5]=5

两个对称半正定矩阵的 Kronecker 积是对称半正定矩阵:

Out[2]=2
Out[3]=3

用一个负定矩阵替换其中的一个矩阵,将得到一个半负定矩阵:

Out[4]=4
Out[5]=5

可能存在的问题  (2)常见隐患和异常行为

CholeskyDecomposition 不用于对称或者奇异的 Hermitian 半正定矩阵:

Out[2]=2
Out[3]=3

PositiveSemidefiniteMatrixQ 将给出 False,除非它可以证明一个符号矩阵是半正定的:

Out[1]=1

同时使用 EigenvaluesReduce 可给出更精确的结果:

Out[2]=2
Out[3]=3
Wolfram Research (2014),PositiveSemidefiniteMatrixQ,Wolfram 语言函数,https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html.
Copy to clipboard.
Wolfram Research (2014),PositiveSemidefiniteMatrixQ,Wolfram 语言函数,https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html.

文本

Wolfram Research (2014),PositiveSemidefiniteMatrixQ,Wolfram 语言函数,https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html.

Copy to clipboard.
Wolfram Research (2014),PositiveSemidefiniteMatrixQ,Wolfram 语言函数,https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html.

CMS

Wolfram 语言. 2014. "PositiveSemidefiniteMatrixQ." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html.

Copy to clipboard.
Wolfram 语言. 2014. "PositiveSemidefiniteMatrixQ." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html.

APA

Wolfram 语言. (2014). PositiveSemidefiniteMatrixQ. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html 年

Copy to clipboard.
Wolfram 语言. (2014). PositiveSemidefiniteMatrixQ. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html 年

BibTeX

@misc{reference.wolfram_2025_positivesemidefinitematrixq, author="Wolfram Research", title="{PositiveSemidefiniteMatrixQ}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html}", note=[Accessed: 30-March-2025 ]}

Copy to clipboard.
@misc{reference.wolfram_2025_positivesemidefinitematrixq, author="Wolfram Research", title="{PositiveSemidefiniteMatrixQ}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html}", note=[Accessed: 30-March-2025 ]}

BibLaTeX

@online{reference.wolfram_2025_positivesemidefinitematrixq, organization={Wolfram Research}, title={PositiveSemidefiniteMatrixQ}, year={2014}, url={https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html}, note=[Accessed: 30-March-2025 ]}

Copy to clipboard.
@online{reference.wolfram_2025_positivesemidefinitematrixq, organization={Wolfram Research}, title={PositiveSemidefiniteMatrixQ}, year={2014}, url={https://reference.wolfram.com/language/ref/PositiveSemidefiniteMatrixQ.html}, note=[Accessed: 30-March-2025 ]}