linalg: Do linear algebra operation

linalgR Documentation

Do linear algebra operation

Description

Performs various linear algebra operations like finding the inverse, the QR decomposition, the eigenvectors and the eigenvalues.

Usage

columnspace(x)

nullspace(x)

rowspace(x)

singular_values(x)

inv(x, method = c("lu", "gauss", "cf", "yac"))

inv2fl(x)

eigenval(x)

eigenvec(x)

GramSchmidt(x)

pinv(x)

rref(x)

QRdecomposition(x)

det(x, ...)

Arguments

x

A matrix for which a property is requested

method

The default works by $LU$ decomposition. The alternatives are Gaussian elimination (gauss), the cofactor method (cf), and Ryacas (yac).

...

Auxillary arguments

Value

Returns the requested property of a matrix.

See Also

do_la()

Examples

if (has_sympy()) {
  A <- matrix(c("a", "0", "0", "1"), 2, 2) %>% as_sym()
  
  QRdecomposition(A)
  eigenval(A)
  eigenvec(A)
  inv(A)
  inv2fl(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)


}


caracas documentation built on Feb. 16, 2023, 8:32 p.m.