Solves a system of linear equations where the coefficient matrix is upper (or ‘right’, ‘R’) or lower (‘left’, ‘L’) triangular.
x <- backsolve(R, b)
solves \(R x = b\).
backsolve(r, …)
# S4 method for gchol
backsolve(r, x, k=ncol(r), upper.tri=TRUE, …)
# S4 method for gchol.bdsmatrix
backsolve(r, x, k=ncol(r), upper.tri=TRUE, …)
a matrix or matrix-like object
a vector or a matrix whose columns give the right-hand sides for the equations.
The number of columns of r
and rows of x
to use.
logical; if TRUE
(default), the upper
triangular part of r
is used. Otherwise, the lower
one.
further arguments passed to other methods
The solution of the triangular system. The result will be a vector if
x
is a vector and a matrix if x
is a matrix.
Note that forwardsolve(L, b)
is just a wrapper for
backsolve(L, b, upper.tri=FALSE)
.
Use showMethods(backsolve)
to see all the defined methods;
the two created by the bdsmatrix library are described here:
signature=(r= "gchol")
for a generalized
cholesky decomposition
signature=(r= "gchol.bdsmatrix")
for the
generalize cholesky decomposition of a bdsmatrix object
The generalized Cholesky decompostion of a symmetric matrix A is
\(A = LDL'\) where D is diagonal, L is lower triangular,
and \(L'\) is the transpose of L.
These functions solve either \(L\sqrt{D} x =b\)
(when upper.tri=FALSE
) or \(\sqrt{D}L' x=b\).