当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R backsolve 求解上三角系统或下三角系统


R语言 backsolve 位于 base 包(package)。

说明

求解三角线性方程组。

用法

   backsolve(r, x, k = ncol(r), upper.tri = TRUE,
             transpose = FALSE)
forwardsolve(l, x, k = ncol(l), upper.tri = FALSE,
             transpose = FALSE)

参数

r, l

给出待求解系统系数的上(或下)三角矩阵。对角线下方(上方)的值将被忽略。

x

一个矩阵,其列给出方程的右侧。

k

要使用的 r 的列数和 x 的行数。

upper.tri

逻辑性;如果TRUE(默认),则使用r的上三角部分。不然就低一号。

transpose

逻辑性;如果 TRUE ,则求解 得到 ,即 t(r) %*% y == x

细节

求解线性方程组,其中系数矩阵为上三角矩阵(或‘right’,‘R’)或下三角矩阵(‘left’,‘L’)。

x <- backsolve (R, b)解决 , 和
x <- forwardsolve(L, b)解决 , 分别。

r /l 必须至少具有 k 行和列,并且 x 必须至少具有 k 行。

这是 3 级 BLAS 例程 dtrsm 的包装器。

三角系统的解。如果 x 是向量,结果将是向量;如果 x 是矩阵,结果将是矩阵。

例子

## upper triangular matrix 'r':
r <- rbind(c(1,2,3),
           c(0,1,1),
           c(0,0,2))
( y <- backsolve(r, x <- c(8,4,2)) ) # -1 3 1
r %*% y # == x = (8,4,2)
backsolve(r, x, transpose = TRUE) # 8 -12 -5

参考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Dongarra, J. J., Bunch, J. R., Moler, C. B. and Stewart, G. W. (1978) LINPACK Users Guide. Philadelphia: SIAM Publications.

也可以看看

cholqrsolve

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Solve an Upper or Lower Triangular System。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。