Changelog
Source:NEWS.md
eigencore 1.0.0
First CRAN release.
-
svd_partial()andeig_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. - Every result carries a numerical certificate: residuals for both singular relations, a backward-error bound, orthogonality loss, a labeled norm bound, and a single
passedflag. Bounds that can only be estimated (for example stochastic norm estimates on centered sparse operators) are reported as estimates and never produce an unqualifiedpassed. - Operator algebra —
center(),scale_cols(),compose(),crossprod_operator(),linear_operator()— solves centered, scaled, and composed problems without forming dense matrices. - Transparent method selection:
plan_solver()reports the chosen kernel before a solve, andfit$methodnames the path that actually ran. Problem classes without a production kernel carry explicitreferencelabels. - RSpectra-compatible wrappers
eigs(),eigs_sym(), andsvds()accept the samewhichcodes and additionally return certificates. - Benchmarked against ‘RSpectra’, ‘irlba’, and ‘PRIMME’; reproduce with
Rscript inst/benchmarks/bench-readme.R. - Generalized eigen support:
eig_full()for dense SPD and general pencils,generalized_schur()andgeneralized_svd()for dense QZ/GSVD, partial sparse general pencils with nonsingular diagonalBvia transformed native Arnoldi, left eigenvectors and conditioning diagnostics on supported dense paths, andpencil_norm_scaledalpha/beta classification. Sparse SPD partial paths remain undereig_partial()/ LOBPCG / B-orthogonal Lanczos; general sparse QZ and non-diagonal sparseBare explicit unsupported boundaries. The real dense GSVD path currently requires a linked LAPACK that provides the deprecateddggsvdroutine. - The exported API is stable as of 1.0.0; breaking changes from here follow semantic versioning.