Skip to contents

User entry points

High-level functions for partial eigenvalue and SVD computation.

eig_partial()
Compute a partial eigendecomposition.
eig_full()
Compute a full dense eigendecomposition
svd_partial()
Compute a partial singular-value decomposition.
generalized_schur()
Compute a dense generalized Schur decomposition
generalized_svd()
Compute a dense generalized singular value decomposition

RSpectra-compatible shims

Drop-in replacements for RSpectra::eigs(), eigs_sym(), and svds().

eigs()
RSpectra-compatible eigen shim.
eigs_sym()
RSpectra-compatible symmetric eigen shim.
svds()
RSpectra-compatible SVD shim.

Problems and planning

Build problem descriptors and inspect the solver plan.

eigen_problem()
Define an eigenproblem.
svd_problem()
Define an SVD problem.
plan_solver()
Plan a solver for a problem.
solve(<eigencore_eigen_problem>)
Solve a planned eigenproblem.
solve(<eigencore_svd_problem>)
Solve a planned SVD problem.

Operators

Block-native linear operators and operator algebra.

linear_operator()
Create a block-native linear operator.
as_operator()
Convert an object to an eigencore operator.
adjoint()
Return the adjoint operator.
check_adjoint()
Check an operator adjoint identity.
compose()
Compose two operators.
crossprod_operator()
Create A^* A as an operator.
symmetric_operator()
Mark an operator as symmetric/Hermitian.
scale_cols()
Scale operator columns.
scale_rows()
Scale operator rows.
center()
Center an operator by rows or columns.

Targets

Selectors describing which part of the spectrum you want.

largest()
Target the largest algebraic values.
smallest()
Target the smallest algebraic values.
largest_magnitude()
Target the largest values by magnitude.
smallest_magnitude()
Target the smallest values by magnitude.
largest_real()
Target the largest real part.
smallest_real()
Target the smallest real part.
largest_imaginary()
Target the largest imaginary part.
smallest_imaginary()
Target the smallest imaginary part.
both_ends()
Target both algebraic ends.
nearest()
Target values nearest a shift.

Methods

Solver families and method descriptors.

auto()
Automatic solver choice.
lanczos()
Hermitian Lanczos method descriptor.
lobpcg()
LOBPCG method descriptor.
golub_kahan()
Golub-Kahan bidiagonalization method descriptor.
randomized()
Randomized SVD method descriptor.
shift_invert()
Shift-invert method descriptor.

Preconditioners

Preconditioner factories for iterative solvers.

shifted_cholesky_preconditioner()
Shifted Cholesky preconditioner.
shifted_diagonal_preconditioner()
Shifted diagonal preconditioner.
shifted_tridiagonal_preconditioner()
Shifted tridiagonal preconditioner.

Spaces and structure tags

euclidean()
Euclidean vector space descriptor.
hermitian()
Hermitian/symmetric operator structure descriptor.
general()
General operator structure descriptor.

Results, certificates, diagnostics

Inspecting solver output and the numerical evidence.

certificate()
Extract a result certificate.
residuals(<eigencore_eigen_result>) residuals(<eigencore_svd_result>) residuals(<eigencore_certificate>)
Extract residual diagnostics.
backward_error()
Extract backward-error diagnostics.
values()
Extract computed values.
alpha_beta()
Extract homogeneous generalized coordinates.
vectors()
Extract eigenvectors.
left_vectors()
Extract left singular vectors or left eigenvectors.
right_vectors()
Extract right singular vectors.
diagnostics()
Extract diagnostics.