solve_chol {gear}R Documentation

Solve using cholesky decomposition

Description

solve_chol solves a system of equations using the cholesky decomposition of a positive definite matrix A, i.e., using a = chol(A).

Usage

solve_chol(a, b, ...)

## S3 method for class 'chol'
solve(a, b, ...)

Arguments

a

The cholesky decomposition of a positive definite matrix.

b

A numeric or complex vector or matrix giving the right-hand side(s) of the linear system. If missing, b is taken to be an identity matrix and solve will return the inverse of a.

...

Currently unused.

Details

Note: Unless you have good reason to suspect that the cholesky decomposition of your matrix will be stable, it is recommended that you use solve or perform the solve using the qr decomposition.

Author(s)

Joshua French

See Also

solve, chol, qr, solve.qr

Examples

set.seed(10)
# create positive definite matrix a
a = crossprod(matrix(rnorm(25^2), nrow = 25))
# create vector x and matrix b
# x can be used to check the stability of the solution
x = matrix(rnorm(25))
b = a %*% x

# standard solve
x1 = solve(a, b)
all.equal(x, x1)

# solve using cholesky decomposition
chola = chol(a)
x2 = solve_chol(chola, b)
all.equal(x, x2)

# solve using qr decomposition
qra = qr(a)
x3 = solve.qr(qra, b)
all.equal(x, x3)

# compare direct inversion
ai1 = solve(a)
ai2 = solve_chol(chola) #using cholesky decomposition
all.equal(ai1, ai2) # should be TRUE

[Package gear version 0.3.4 Index]