不完整的 Cholesky 分解值得研究,它有多种变体,但通常要么只计算输入中非零的三角因子中的条目,要么使用分解的低秩近似。从您的问题中不清楚您为什么对渐近复杂性感兴趣,但是使用高斯过程标签我可以猜到您正在分解协方差核矩阵并在推理过程中反复求解线性系统。在这类应用程序中,不完全分解最常用作预处理器——虽然它不精确,但它非常有效,易于增量更新,并且可以大大加快求解器的速度。
但是,在应用程序中,您的问题的答案很可能与最适合您的目的的方法无关。不完全分解有 $O(n log(n)^k)$ 时间算法,由于与具有最低指数的矩阵乘法算法相同的原因,这些算法没有实际用途。知道您的应用程序究竟需要什么将告知您的选择,但您已经拥有了最好的工具来找到 - 花几分钟时间编写一些代码来生成合成数据或对不同大小的真实数据进行采样并在与您对应用程序感兴趣的方式相同。如果您要进行一次分解并求解多个系统,则进行分解的时间可能会因求解而相形见绌。如果您要进行许多分解,尤其是每次从头开始,运行时间的常数和线性因素会产生更大的影响。另外,稀疏模式和内核本身可以对相同算法的性能产生巨大影响。构造具有完全密集的协方差矩阵、三对角精度矩阵和 Cholesky 分解的核并不困难,该分解只是矩阵的下三角部分,正好可以按对角矩阵进行缩放(1d 中的指数核同时具有所有 3 个) . 首先配置文件,最后优化。s 构造具有完全密集的协方差矩阵、三对角精度矩阵和 Cholesky 分解的核并不困难,该分解正好是矩阵的下三角部分,正好可以按对角矩阵进行缩放(1d 中的指数核同时具有所有 3 个) . 首先配置文件,最后优化。s 构造具有完全密集的协方差矩阵、三对角精度矩阵和 Cholesky 分解的核并不困难,该分解正好是矩阵的下三角部分,正好可以按对角矩阵进行缩放(1d 中的指数核同时具有所有 3 个) . 首先配置文件,最后优化。