Symmetric类型在Julia中有什么作用?

10
JuliaLinearAlgebra包中的Symmetric类型有什么用处?它似乎对于实矩阵等价于Hermitian类型(虽然:这是真的吗?)。如果是这样的话,那么唯一Symmetric不与Hermitian重复的情况是针对复杂矩阵。但是这种情况下想要有一个对称而不是Hermitian的复杂矩阵是很奇怪的(也许我在这方面是错的)。
我提出这个问题部分原因是因为有时我会像这样进行分类:如果我有一个实矩阵,则使用Symmetric;如果是复杂矩阵,则使用Hermitian。然而,看起来我可以通过始终使用Hermitian来省去工作量。如果我这么做会错过性能或其他方面的优势吗?
(此外,可能相关的奖励问题是:为什么除了SymTridiagonal之外没有HermTridiagonal类型?我可以使用前者。另外,在考虑上述情况时,它似乎比SymTridiagonal更有用。)

2
考虑到这是一个有点开放性的问题,最好在https://discourse.julialang.org/上提问。 - Simon Byrne
3
根据@SimonByrne的建议,我在https://discourse.julialang.org/t/what-is-the-point-of-the-symmetric-type/40773/2上发了这个问题的交叉帖子,那里有有用的讨论。 - Grayscale
1个回答

1

从链接的讨论主题中复制答案(通过 @stevengj):

总是使用Hermitian。对于实数元素,与Symmetric相比没有惩罚。

我不知道是否有任何针对复杂Symmetric矩阵的专门例程。我的感觉是,在LinearAlgebra中有一个单独的Symmetric类型可能是一个错误,但在这一点上很难移除。


2
正确的答案可能是将Symmetric别名为Hermitian{<:Real} - Oscar Smith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接