% Generated by roxygen2: do not edit by hand % Please edit documentation in R/eigen.R \name{partial_eigen} \alias{partial_eigen} \title{Find a few approximate largest eigenvalues and corresponding eigenvectors of a symmetric matrix.} \usage{ partial_eigen(x, n = 5, symmetric = TRUE, ...) } \arguments{ \item{x}{numeric real-valued dense or sparse matrix.} \item{n}{number of largest eigenvalues and corresponding eigenvectors to compute.} \item{symmetric}{\code{TRUE} indicates \code{x} is a symmetric matrix (the default); specify \code{symmetric=FALSE} to compute the largest eigenvalues and corresponding eigenvectors of \code{t(x) \%*\% x} instead.} \item{...}{optional additional parameters passed to the \code{irlba} function.} } \value{ Returns a list with entries: \itemize{ \item{values}{ n approximate largest eigenvalues} \item{vectors}{ n approximate corresponding eigenvectors} } } \description{ Use \code{partial_eigen} to estimate a subset of the largest (most positive) eigenvalues and corresponding eigenvectors of a symmetric dense or sparse real-valued matrix. } \note{ Specify \code{symmetric=FALSE} to compute the largest \code{n} eigenvalues and corresponding eigenvectors of the symmetric matrix cross-product \code{t(x) \%*\% x}. This function uses the \code{irlba} function under the hood. See \code{?irlba} for description of additional options, especially the \code{tol} parameter. See the RSpectra package https://cran.r-project.org/package=RSpectra for more comprehensive partial eigenvalue decomposition. } \examples{ set.seed(1) # Construct a symmetric matrix with some positive and negative eigenvalues: V <- qr.Q(qr(matrix(runif(100), nrow=10))) x <- V \%*\% diag(c(10, -9, 8, -7, 6, -5, 4, -3, 2, -1)) \%*\% t(V) partial_eigen(x, 3)$values # Compare with eigen eigen(x)$values[1:3] # Use symmetric=FALSE to compute the eigenvalues of t(x) \%*\% x for general # matrices x: x <- matrix(rnorm(100), 10) partial_eigen(x, 3, symmetric=FALSE)$values eigen(crossprod(x))$values } \references{ Augmented Implicitly Restarted Lanczos Bidiagonalization Methods, J. Baglama and L. Reichel, SIAM J. Sci. Comput. 2005. } \seealso{ \code{\link{eigen}}, \code{\link{irlba}} }