linalg | R Documentation |
Performs various linear algebra operations like finding the inverse, the QR decomposition, the eigenvectors and the eigenvalues.
columnspace(x, matrix = TRUE)
nullspace(x, matrix = TRUE)
rowspace(x, matrix = TRUE)
singular_values(x)
inv(x, method = c("gauss", "lu", "cf", "yac"))
eigenval(x)
eigenvec(x)
GramSchmidt(x)
pinv(x)
rref(x)
QRdecomposition(x)
LUdecomposition(x)
## S3 method for class 'caracas_symbol'
chol(x, ...)
svd_(x, ...)
det(x, ...)
trace_(x)
x |
A matrix for which a property is requested. |
matrix |
When relevant should a matrix be returned. |
method |
The default works by Gaussian elimination. The
alternatives are $LU$ decomposition ( |
... |
Auxillary arguments. |
Returns the requested property of a matrix.
do_la()
if (has_sympy()) {
A <- matrix(c("a", "0", "0", "1"), 2, 2) |> as_sym()
QRdecomposition(A)
LUdecomposition(A)
#chol(A) # error
chol(A, hermitian = FALSE)
eigenval(A)
eigenvec(A)
inv(A)
det(A)
## Matrix inversion:
d <- 3
m <- matrix_sym(d, d)
print(system.time(inv(m))) ## Gauss elimination
print(system.time(inv(m, method="cf"))) ## Cofactor
print(system.time(inv(m, method="lu"))) ## LU decomposition
if (requireNamespace("Ryacas")){
print(system.time(inv(m, method="yac"))) ## Use Ryacas
}
A <- matrix(c("a", "b", "c", "d"), 2, 2) %>% as_sym()
evec <- eigenvec(A)
evec
evec1 <- evec[[1]]$eigvec
evec1
simplify(evec1)
lapply(evec, function(l) simplify(l$eigvec))
A <- as_sym("[[1, 2, 3], [4, 5, 6]]")
pinv(A)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.