[Eigen中文文档] 稠密分解方法目录

文档总目录

英文原文(Catalogue of dense decompositions)

本文介绍了 Eigen 提供的处理稠密矩阵分解方法的目录。有关线性求解器和分解的介绍,请查看 [线性代数和分解](# 4.1 线性代数和分解) 。要大致了解不同分解的真实相对速度,请查看 基准测试

Eigen 提供的分解方法目录

描述对矩阵的要求速度算法可靠性和准确性计算秩允许的计算(除了线性求解)Eigen提供线性求解器Eigen的成熟度优化
PartialPivLU可逆取决于条件数不支持-成熟按块处理,隐式多线程
FullPivLU-Proven支持-成熟-
HouseholderQR-取决于条件数不支持正交化成熟按块处理
ColPivHouseholderQR-支持正交化成熟-
FullPivHouseholderQR-Proven支持正交化一般-
CompleteOrthogonalDecomposition-支持正交化成熟-
LLT正定非常快取决于条件数不支持-成熟按块处理
LDLT半正定或半负定非常快不支持-成熟按块处理(暂时未支持)

奇异值和特征值分解

BDCSVD (divide & conquer)最快的 SVD 算法之一很好支持奇异值/向量、最小二乘法是(并且做最小二乘法)成熟按块处理,隐式多线程
JacobiSVD (two-sided)慢(但对于小矩阵来说很快)Proven支持奇异值/向量、最小二乘法是(并且做最小二乘法)成熟R-SVD
SelfAdjointEigenSolver自伴随平均很块支持特征值/向量-成熟-
ComplexEigenSolver方阵非常慢取决于条件数支持特征值/向量-一般2x2 和 3x3 的封闭形式
EigenSolver实方阵平均很慢取决于条件数支持特征值/向量-一般-
GeneralizedSelfAdjointEigenSolver方阵平均很块取决于条件数不支持广义特征值/向量--

辅助分解

RealSchur实方阵平均很慢取决于条件数支持--一般-
ComplexSchur方阵非常慢取决于条件数支持--一般-
Tridiagonalization自伴随---按块处理(暂时未支持)
HessenbergDecomposition实方阵一般---按块处理(暂时未支持)

注意:

  • LDLT 算法存在两种变体。Eigen 产生一个纯对角矩阵,因此它不能处理不定矩阵,这与 Lapack 的产生块对角矩阵不同。
  • 特征值、SVD 和 Schur 分解依赖于迭代算法。它们的收敛速度取决于特征值的分离程度。
  • JacobiSVD 是双边的,可以为方阵提供经过验证的最佳精度。对于非方阵,必须先使用 QR 预处理器。默认选择的 ColPivHouseholderQR 已经非常可靠,但如果希望长期测试它,请改用 FullPivHouseholderQR

术语

  • 自伴随(Selfadjoint)

    对于实数矩阵,selfadjoint 是对称的同义词。对于复数矩阵,selfadjoint 是 hermitian 的同义词。更一般地,矩阵 A 是自伴随的当且仅当它等于它的伴随 A ∗ A^* A。伴随也称为共轭转置。

  • 正/负定(Positive/negative definite)

    如果对于任何非零向量 v v v,有 v ∗ A v > 0 v^∗Av>0 vAv>0 ,则自伴矩阵 A A A 是正定的。同样,如果对于任何非零向量 v v v,有 v ∗ A v < 0 v^∗Av<0 vAv<0 ,则它是负定的。

  • 正/负半定(Positive/negative semidefinite)

    对于任何非零向量 v v v,如果 v ∗ A v ≥ 0 v^∗Av≥0 vAv0,则自伴矩阵 A A A 是半正定矩阵。同理,对于任何非零向量 v v v,若 v ∗ A v ≤ 0 v^∗Av≤0 vAv0 则为负半定。

  • 按块处理(Blocking)

    意味着该算法可以按块处理矩阵,从而保证了大型矩阵的性能良好扩展。

  • 隐式多线程(Implicit Multi Threading (MT))

    意味着该算法可以通过 OpenMP 利用多核处理器。“隐式”意味着算法本身不是并行的,而是依赖于并行化的矩阵-矩阵乘积例程。

  • 显式多线程(Explicit Multi Threading (MT))

    意味着该算法明确并行化以通过 OpenMP 利用多核处理器。

  • 元展开器(Meta-unroller)

    意味着该算法会针对非常小的固定大小矩阵自动且显式展开。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万俟淋曦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值