ishermitian
确定矩阵是 Hermitian 矩阵还是斜 Hermitian 矩阵
说明
如果方阵 A
是 Hermitian 矩阵,则 tf = ishermitian(
返回逻辑值 A
)1
(true
);否则返回逻辑值 0
(false
)。
tf = ishermitian(
指定测试的类型。将 A
,skewOption
)skewOption
指定为 'skew'
以确定 A
是否为斜 Hermitian 矩阵。
示例
测试对称矩阵是否为 Hermitian 矩阵
创建一个 3×3 矩阵。
A = [1 0 1i; 0 1 0; 1i 0 1]
A = 3×3 complex
1.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 1.0000i
0.0000 + 0.0000i 1.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 1.0000i 0.0000 + 0.0000i 1.0000 + 0.0000i
该矩阵相对于其实数值对角线是对称的。
测试该矩阵是否为 Hermitian 矩阵。
tf = ishermitian(A)
tf = logical
0
结果为逻辑值 0
(false
),这是因为 A
不是 Hermitian 矩阵。在本例中,A
等于其转置 A.'
,但不等于其复共轭转置 A'
。
将 A(3,1)
中的元素更改为 -1i
。
A(3,1) = -1i;
确定修改后的矩阵是否为 Hermitian 矩阵。
tf = ishermitian(A)
tf = logical
1
矩阵 A
现在是 Hermitian 矩阵,因为它等于其复共轭转置 A'
。
测试矩阵是否为斜 Hermitian 矩阵
创建一个 3×3 矩阵。
A = [-1i -1 1-i;1 -1i -1;-1-i 1 -1i]
A = 3×3 complex
0.0000 - 1.0000i -1.0000 + 0.0000i 1.0000 - 1.0000i
1.0000 + 0.0000i 0.0000 - 1.0000i -1.0000 + 0.0000i
-1.0000 - 1.0000i 1.0000 + 0.0000i 0.0000 - 1.0000i
该矩阵的主对角线上为纯虚数。
将 skewOption
指定为 'skew'
以确定该矩阵是否为斜 Hermitian 矩阵。
tf = ishermitian(A,'skew')
tf = logical
1
矩阵 A
为斜 Hermitian 矩阵,因为它等于其复共轭转置的相反数 -A'
。
输入参数
A
— 输入矩阵
数值矩阵
输入矩阵,指定为数值矩阵。如果 A
不是方阵,则 ishermitian
返回逻辑值 0
(false
)。
数据类型: single
| double
| logical
复数支持: 是
skewOption
— 测试类型
'nonskew'
(默认) | 'skew'
测试类型,指定为 'nonskew'
或 'skew'
。指定为 'skew'
可以测试 A
是否为斜 Hermitian 矩阵。
详细信息
Hermitian 矩阵
如果某个方阵
A = A'
等于其复共轭转置A
,则该方阵为 Hermitian 矩阵。就矩阵元素而言,这意味着
Hermitian 矩阵的对角线上的项始终为实数。因为实矩阵不受复共轭影响,所以对称实矩阵也是 Hermitian 矩阵。例如,矩阵
既是对称矩阵又是 Hermitian 矩阵。
Hermitian 矩阵的特征值是实数。
斜 Hermitian 矩阵
如果某个方阵
A
等于其复共轭转置的相反数(即A = -A'
),则该方阵为斜 Hermitian 矩阵。就矩阵元素而言,这意味着
斜 Hermitian 矩阵的对角线上的项始终为纯虚数或零。因为实矩阵不受复共轭影响,所以斜对称的实矩阵也是斜 Hermitian 矩阵。例如,矩阵
既是斜 Hermitian 矩阵又是斜对称矩阵。
斜 Hermitian 矩阵的特征值是纯虚数或零。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
代码生成不支持对此函数使用稀疏矩阵输入。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2014a 中推出
另请参阅
issymmetric
| isreal
| eig
| transpose
| ctranspose
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)