Package: eigencore 1.0.0

Bradley Buchsbaum

eigencore: Certified Partial Eigenvalue and Singular Value Computation

Computes the top-k singular triplets or eigenpairs of large sparse and structured matrices: the computation behind principal component analysis on big sparse data, spectral embeddings, and low-rank approximation. Every result carries a numerical certificate with residuals, a backward-error bound, orthogonality loss, and a pass/fail flag, and bounds that can only be estimated are reported as such rather than passed. Centered, scaled, and composed operators are solved through native 'C++' kernels without forming dense matrices. Drop-in replacements for the 'RSpectra' interface are included.

Authors:Bradley Buchsbaum [aut, cre, cph]

eigencore_1.0.0.tar.gz
eigencore_1.0.0.zip(r-4.7-x86_64)eigencore_1.0.0.zip(r-4.7-arm64)
eigencore_1.0.0.tar.gz(r-4.7-arm64)eigencore_1.0.0.tar.gz(r-4.7-x86_64)eigencore_1.0.0.tar.gz(r-4.6-arm64)eigencore_1.0.0.tar.gz(r-4.6-x86_64)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
eigencore/json (API)

# Install 'eigencore' in R:
install.packages('eigencore', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/bbuchsbaum/eigencore/issues

Pkgdown/docs site:https://bbuchsbaum.github.io

Uses libs:
  • openblas– Optimized BLAS
  • c++– GNU Standard C++ Library v3

On CRAN:

Conda:

openblascpp

3.30 score 51 exports 2 dependencies

Last updated from:9cc2662e60. Checks:7 OK, 1 FAIL. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK158
linux-devel-x86_64OK183
source / vignettesOK244
linux-release-arm64OK153
linux-release-x86_64OK185
windows-devel-arm64OK245
windows-devel-x86_64OK175
wasm-releaseFAIL159

Exports:adjointalpha_betaas_operatorautobackward_errorboth_endscentercertificatecheck_adjointcomposecrossprod_operatordiagnosticseig_fulleig_partialeigen_problemeigseigs_symeuclideangeneralgeneralized_schurgeneralized_svdgolub_kahanhermitianlanczoslargestlargest_imaginarylargest_magnitudelargest_realleft_vectorslinear_operatorlobpcgnearestplan_solverrandomizedright_vectorsscale_colsscale_rowsshift_invertshifted_cholesky_preconditionershifted_diagonal_preconditionershifted_tridiagonal_preconditionersmallestsmallest_imaginarysmallest_magnitudesmallest_realsvd_partialsvd_problemsvdssymmetric_operatorvaluesvectors

Dependencies:latticeMatrix

Certificates: reading the numerical evidence
Anatomy of a certificate | Clean: every box ticked | Failed: backward error too large | Withheld: stochastic norm in the denominator | Generalized SPD: B-orthogonality matters | Comparing eigencore certificates to RSpectra diagnostics | Cheat sheet | Where to go next

Last update: 2026-07-23
Started: 2026-07-23

Generalized eigenvalue problems with eigencore
Start with a positive-definite metric | Compute only part of the spectrum | Handle a dense general pencil | Use QZ when you need the Schur form | Keep sparse partial problems sparse | A note for older code | Where to go next

Last update: 2026-07-23
Started: 2026-07-23

Get started with eigencore
Compute a certified partial eigendecomposition | Generalized SPD eigenproblem (A v = lambda B v) | Partial SVD | RSpectra-compatible workflow | Under the hood: operators, problems, and plans | Where to go next

Last update: 2026-07-23
Started: 2026-07-23

PCA on sparse data without densifying
Build a sparse dataset with a low-rank signal | Center without densifying | Read the certificate on a composed operator | Does it match what you'd get by densifying? | Scale columns too | What did the planner actually do? | Going fully matrix-free | Why this matters at scale | Where to go next

Last update: 2026-07-23
Started: 2026-07-23

Readme and manuals

Help Manual

Help pageTopics
Return the adjoint operator.adjoint
Extract homogeneous generalized coordinates.alpha_beta
Convert an object to an eigencore operator.as_operator
Automatic solver choice.auto
Extract backward-error diagnostics.backward_error
Target both algebraic ends.both_ends
Center an operator by rows or columns.center
Extract a result certificate.certificate
Check an operator adjoint identity.check_adjoint
Compose two operators.compose
Create A^* A as an operator.crossprod_operator
Extract diagnostics.diagnostics
Compute a full dense eigendecompositioneig_full
Compute a partial eigendecomposition.eig_partial
Define an eigenproblem.eigen_problem
RSpectra-compatible eigen shim.eigs
RSpectra-compatible symmetric eigen shim.eigs_sym
Euclidean vector space descriptor.euclidean
General operator structure descriptor.general
Compute a dense generalized Schur decompositiongeneralized_schur
Compute a dense generalized singular value decompositiongeneralized_svd
Golub-Kahan bidiagonalization method descriptor.golub_kahan
Hermitian/symmetric operator structure descriptor.hermitian
Hermitian Lanczos method descriptor.lanczos
Target the largest algebraic values.largest
Target the largest imaginary part.largest_imaginary
Target the largest values by magnitude.largest_magnitude
Target the largest real part.largest_real
Extract left singular vectors or left eigenvectors.left_vectors
Create a block-native linear operator.linear_operator
LOBPCG method descriptor.lobpcg
Target values nearest a shift.nearest
Plan a solver for a problem.plan_solver
Randomized SVD method descriptor.randomized
Extract residual diagnostics.residuals residuals.eigencore_certificate residuals.eigencore_eigen_result residuals.eigencore_svd_result
Extract right singular vectors.right_vectors
Scale operator columns.scale_cols
Scale operator rows.scale_rows
Shift-invert method descriptor.shift_invert
Shifted Cholesky preconditioner.shifted_cholesky_preconditioner
Shifted diagonal preconditioner.shifted_diagonal_preconditioner
Shifted tridiagonal preconditioner.shifted_tridiagonal_preconditioner
Target the smallest algebraic values.smallest
Target the smallest imaginary part.smallest_imaginary
Target the smallest values by magnitude.smallest_magnitude
Target the smallest real part.smallest_real
Solve a planned eigenproblem.solve.eigencore_eigen_problem
Solve a planned SVD problem.solve.eigencore_svd_problem
Compute a partial singular-value decomposition.svd_partial
Define an SVD problem.svd_problem
RSpectra-compatible SVD shim.svds
Mark an operator as symmetric/Hermitian.symmetric_operator
Extract computed values.values
Extract eigenvectors.vectors