MapReduce 架构中高瘦矩阵的直接 QR 分解
分布式、并行与集群计算
2018-01-08 v1 数值分析
摘要
QR 分解和奇异值分解(SVD)是两种基本的矩阵分解方法,广泛应用于科学计算和数据分析中。对于行数远多于列数的矩阵(即所谓的“高瘦矩阵”),存在一种数值稳定、高效且避免通信的算法来计算 QR 分解。该算法已用于传统的高性能计算和网格计算环境。对于 MapReduce 环境,现有的计算 QR 分解的方法采用了一种数值不稳定的方法,依赖于间接计算 Q 因子。在最佳情况下,这些方法仅需对数据进行两次遍历。在本文中,我们描述了如何在 MapReduce 架构上以略多于两次数据遍历的方式计算稳定的高瘦矩阵 QR 分解。我们只需稍作修改即可计算 SVD,且性能无异。我们将新的直接 TSQR 方法与 MapReduce 的标准不稳定实现(Cholesky QR)以及为 MapReduce 实现的经典稳定算法(Householder QR)进行了性能比较。我们发现,新的稳定方法相较于 Householder QR 方法具有显著的性能优势。这一结论在理论性能模型和实际实现中均成立。
引用
@article{arxiv.1301.1071,
title = {Direct QR factorizations for tall-and-skinny matrices in MapReduce architectures},
author = {Austin R. Benson and David F. Gleich and James Demmel},
journal= {arXiv preprint arXiv:1301.1071},
year = {2018}
}