First CRAN release.
svd_partial() and eig_partial() compute the top-k singular triplets or
eigenpairs of large dense, sparse (CSC), diagonal, banded/tridiagonal, and
matrix-free operators through native C++ kernels.passed flag. Bounds that can only be estimated (for example
stochastic norm estimates on centered sparse operators) are reported as
estimates and never produce an unqualified passed.center(), scale_cols(), compose(),
crossprod_operator(), linear_operator() — solves centered, scaled, and
composed problems without forming dense matrices.plan_solver() reports the chosen kernel
before a solve, and fit$method names the path that actually ran. Problem
classes without a production kernel carry explicit reference labels.eigs(), eigs_sym(), and svds() accept the
same which codes and additionally return certificates.Rscript inst/benchmarks/bench-readme.R.eig_full() for dense SPD and general pencils,
generalized_schur() and generalized_svd() for dense QZ/GSVD, partial
sparse general pencils with nonsingular diagonal B via transformed native
Arnoldi, left eigenvectors and conditioning diagnostics on supported dense
paths, and pencil_norm_scaled alpha/beta classification. Sparse SPD partial
paths remain under eig_partial() / LOBPCG / B-orthogonal Lanczos; general
sparse QZ and non-diagonal sparse B are explicit unsupported boundaries.
The real dense GSVD path currently requires a linked LAPACK that provides the
deprecated dggsvd routine.