【发布时间】:2018-09-14 05:10:47
【问题描述】:
我正在尝试使用 R 运行 LU 分解。这是可重现的代码。我不明白为什么我的排列矩阵与解决方案不同。 L 和 U 矩阵是正确的。但是对于置换矩阵,第 1 行和第 2 行以及第 3 和第 4 行是互换的。因此,我没有得到线性方程组的正确解。非常感谢您的帮助。
install.packages("Matrix")
library(Matrix)
(A <- matrix(c(4, 3, -2, 5, 2, -4, 6, 1, -1, 2, -5, 6, 3, 5, -2, -3), nrow = 4))
(B <- matrix(c(16.9, -14, 25, 9.4), nrow = 4))
luA <- lu(A)
elu <- expand(luA)
(L <- elu$L)
(U <- elu$U)
(P <- elu$P)
(Y <- solve(L) %*% P %*% B)
(X <- solve(U) %*% Y)
【问题讨论】:
-
不可重现。您正在使用什么软件包?
library不见了。编辑您的请求。 -
添加了包。抱歉错过了。
-
Stack Overflow BTW 上的 LU 分解 R 问题并不多。作为所有读者的指针,以下两个是相当有教育意义的: 1> LU decomposition with row pivot; 2>Write a trackable R function that mimics LAPACK's dgetrf for LU factorization.
标签: r math matrix linear-algebra