arXivDaily arXiv每日学术速递 周一至周五更新
arXiv physics/0610206physics.comp-phcs.NAhep-phmath.NA
收藏

厄米3x3矩阵的高效数值对角化

Efficient numerical diagonalization of hermitian 3x3 matrices

Joachim Kopp

AI总结:

针对大量厄米3x3矩阵的对角化问题,比较了Jacobi、QL、Cuppen算法和基于Cardano公式的解析方法,提出混合方法以平衡精度与效率。

摘要:

科学中一个非常常见的问题是对称或厄米3x3矩阵的数值对角化。由于标准的“黑箱”包在矩阵数量很大时可能效率过低,我们研究了若干替代方案。我们考虑了Jacobi、QL和Cuppen算法的优化实现,并将它们与一种解析方法进行比较,该方法依赖于Cardano公式求特征值,并利用向量叉积求特征向量。Jacobi最准确,但也是最慢的方法,而QL和Cuppen是良好的通用算法。解析算法的性能优于其他算法两倍以上,但如果矩阵元素数量级相差很大,则可能变得不准确甚至完全失败。这可以通过使用混合方法在很大程度上避免,如果条件使得解析计算可能变得太不准确,则回退到QL。对于所有算法,我们概述了其背后的数学思想,并给出了详细的基准测试结果。我们的C和Fortran实现代码可从http://www.mpi-hd.mpg.de/~globes/3x3/ 下载。

英文摘要:

A very common problem in science is the numerical diagonalization of symmetric or hermitian 3x3 matrices. Since standard "black box" packages may be too inefficient if the number of matrices is large, we study several alternatives. We consider optimized implementations of the Jacobi, QL, and Cuppen algorithms and compare them with an analytical method relying on Cardano's formula for the eigenvalues and on vector cross products for the eigenvectors. Jacobi is the most accurate, but also the slowest method, while QL and Cuppen are good general purpose algorithms. The analytical algorithm outperforms the others by more than a factor of 2, but becomes inaccurate or may even fail completely if the matrix entries differ greatly in magnitude. This can mostly be circumvented by using a hybrid method, which falls back to QL if conditions are such that the analytical calculation might become too inaccurate. For all algorithms, we give an overview of the underlying mathematical ideas, and present detailed benchmark results. C and Fortran implementations of our code are available for download from http://www.mpi-hd.mpg.de/~globes/3x3/ .

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑