Procedures

ProcedureLocationProcedure TypeDescription
adjoint LightKrylov_AbstractLinops Interface
apply_givens_rotation LightKrylov_Utils Interface
arnoldi LightKrylov_BaseKrylov Interface

Given a square linear operator , find matrices and such that

Read more…
assert_shape LightKrylov_Utils Interface

This interface provides methods to assert tha thte shape of its input vector or matrix is as expected. It throws an error if not.

axpby_basis LightKrylov_AbstractVectors Interface

In-place addition of two arrays of extended abstract_vector.

Read more…
bidiagonalization LightKrylov_BaseKrylov Interface

Given a general linear operator , find matrices , and such that

Read more…
cg LightKrylov_IterativeSolvers Interface

Given a symmetric (positive definite) matrix , solves the linear system

Read more…
check_info LightKrylov_Logger Subroutine
check_test LightKrylov_Logger Subroutine
comm_close LightKrylov_Logger Subroutine
comm_setup LightKrylov_Logger Subroutine
constant_tol_dp LightKrylov_NewtonKrylov Subroutine

Constant tolerance scheduler for the Newton iteration

constant_tol_sp LightKrylov_NewtonKrylov Subroutine

Constant tolerance scheduler for the Newton iteration

copy LightKrylov_AbstractVectors Interface

This interface provides methods to copy an array X of abstract_vector into another array Y. Note that Y needs to be pre-allocated.

Read more…
dense_linop LightKrylov_AbstractLinops Interface
dense_vector LightKrylov_AbstractVectors Interface
double_gram_schmidt_step LightKrylov_BaseKrylov Interface

Given an array of abstract_vector and an abstract_vector (or array of abstract_vectors) , this subroutine returns a modified vector orthogonal to all columns of , i.e.

Read more…
dynamic_tol_dp LightKrylov_NewtonKrylov Subroutine

Dynamic tolerance scheduler for the Newton iteration setting tol based on the current residual tol

dynamic_tol_sp LightKrylov_NewtonKrylov Subroutine

Dynamic tolerance scheduler for the Newton iteration setting tol based on the current residual tol

eig LightKrylov_Utils Interface

Computes the eigenvalue decomposition of a general square matrix.

Read more…
eighs LightKrylov_IterativeSolvers Interface

Computes the leading eigenpairs of a symmetric operator using the Lanczos iterative process. Given a square linear operator , it finds the leading eigvalues and eigvectors such that:

Read more…
eigs LightKrylov_IterativeSolvers Interface

Computes the leading eigenpairs of a square linear operator using the Arnoldi iterative process. Given a square linear operator , it finds the leading eigvalues and eigvectorss such that:

Read more…
expm LightKrylov_Utils Interface

Evaluate the exponential of a dense matrix using Pade approximations.

Read more…
fgmres LightKrylov_IterativeSolvers Interface

Solve a square linear system of equations

Read more…
get_comm_size LightKrylov_Constants Function

Utility function to get the dimension of the communicator known to LightKrylov.

get_data LightKrylov_TestUtils Interface
get_err_str LightKrylov_TestUtils Interface
get_rank LightKrylov_Constants Function

Utility function to get the rank of the current MPI process.

get_state_rdp LightKrylov_TestUtils Subroutine
get_state_rsp LightKrylov_TestUtils Subroutine
givens_rotation LightKrylov_Utils Interface
gmres LightKrylov_IterativeSolvers Interface

Solve a square linear system of equations

Read more…
Gram LightKrylov_AbstractVectors Interface

Compute the Gram matrix .

Read more…
greetings LightKrylov Subroutine
hermitian_linop_cdp LightKrylov_TestUtils Interface
hermitian_linop_csp LightKrylov_TestUtils Interface
init_rand LightKrylov_TestUtils Interface
initialize_krylov_subspace LightKrylov_BaseKrylov Interface

Utility function to initialize a basis for a Krylov subspace.

Read more…
innerprod LightKrylov_AbstractVectors Interface

Compute the inner product vector or matrix .

Read more…
invperm LightKrylov_BaseKrylov Interface

Given a permutation vector , this function computes the vector representation of the inverse permutation matrix.

Read more…
io_rank LightKrylov_Constants Function

Utility function to determine whether the current MPI process can do I/O.

is_orthonormal LightKrylov_BaseKrylov Interface

Utility function returning a logical .true. if the set of vectors stored in form an orthonormal set of vectors and .false. otherwise.

Read more…
kexpm LightKrylov_ExpmLib Interface

This interface provides methods to evaluate the matrix-vector product based on the Arnoldi method.

Read more…
krylov_exptA LightKrylov_ExpmLib Interface

Utility function to evaluate the matrix-exponential times vector.

Read more…
krylov_exptA_cdp LightKrylov_ExpmLib Subroutine
krylov_exptA_csp LightKrylov_ExpmLib Subroutine
krylov_exptA_rdp LightKrylov_ExpmLib Subroutine
krylov_exptA_rsp LightKrylov_ExpmLib Subroutine
krylov_schur LightKrylov_BaseKrylov Interface

Given a partial Krylov decomposition

Read more…
lanczos LightKrylov_BaseKrylov Interface

Given a symmetric or Hermitian linear operator , find matrices and such that

Read more…
linear_combination LightKrylov_AbstractVectors Interface

Given a set of extended abstract_vectors and coefficients, return the corresponding linear combinations.

Read more…
linop_cdp LightKrylov_TestUtils Interface
linop_csp LightKrylov_TestUtils Interface
linop_rdp LightKrylov_TestUtils Interface
linop_rsp LightKrylov_TestUtils Interface
log2 LightKrylov_Utils Interface

Utility function to compute the base-2 logarithm of a real number.

log_debug LightKrylov_Logger Subroutine
log_error LightKrylov_Logger Subroutine
log_information LightKrylov_Logger Subroutine
log_message LightKrylov_Logger Subroutine
log_warning LightKrylov_Logger Subroutine
logger_setup LightKrylov_Logger Subroutine

Wrapper to set up MPI if needed and initialize log files

newton LightKrylov_NewtonKrylov Interface

Implements the simple Newton-Krylov method for finding roots (fixed points) of a nonlinear vector-valued function , i.e. solutions such that starting from an initial guess via successive solution increments based on local linearization (the Jacobian) of the nonlinear function in the vicinity of the current solution.

Read more…
ordschur LightKrylov_Utils Interface

Given the Schur factorization and basis of a matrix, reorders it to have the selected eigenvalues in the upper left block.

Read more…
orthogonalize_against_basis LightKrylov_BaseKrylov Interface
orthonormalize_basis LightKrylov_BaseKrylov Interface

Given an array of vectors, it computes an orthonormal basis for its column-span using the double_gram_schmidt process. All computations are done in-place.

Read more…
permcols LightKrylov_BaseKrylov Interface

Given an array and a permutation vector , this function computes in-place the column-permuted matrix

Read more…
put_data LightKrylov_TestUtils Interface
qr LightKrylov_BaseKrylov Interface

Given an array of types derived from abstract_vector, it computes the in-place QR factorization of , i.e.

Read more…
rand_basis LightKrylov_AbstractVectors Interface

This interface provides methods to create an array X of random abstract_vector. It is a simple wrapper around X(i)%rand(ifnorm).

Read more…
roessler_analytical_fp_rdp LightKrylov_TestUtils Subroutine
roessler_analytical_fp_rsp LightKrylov_TestUtils Subroutine
save_eigenspectrum LightKrylov_IterativeSolvers Interface

Utility function to save the eigenspectrum computed from the Arnoldi factorization. It outpost a .npy file.

Read more…
set_comm_size LightKrylov_Constants Subroutine

Utility function to inform LightKrylov of the MPI-communicator's dimension.

set_io_rank LightKrylov_Constants Subroutine

Utility function to set the rank of the process doing I/O.

set_rank LightKrylov_Constants Subroutine

Utility function to set the rank of an MPI process.

solve_triangular LightKrylov_Utils Interface
spd_linop_rdp LightKrylov_TestUtils Interface
spd_linop_rsp LightKrylov_TestUtils Interface
sqrtm LightKrylov_Utils Interface

Computes the non-negative square root of a symmetric positive definite matrix using its singular value decomposition.

Read more…
stop_error LightKrylov_Logger Subroutine
svds LightKrylov_IterativeSolvers Interface

Computes the leading singular triplets of an arbitrary linear operator using the Lanczos iterative process. Given a linear operator , it finds the leading singular values and singular vectors such that:

Read more…
time_lightkrylov LightKrylov_Timing Function
type_error LightKrylov_Logger Subroutine
write_results_cdp LightKrylov_IterativeSolvers Subroutine

Prints the intermediate results of iterative eigenvalue/singular value decompositions

write_results_csp LightKrylov_IterativeSolvers Subroutine

Prints the intermediate results of iterative eigenvalue/singular value decompositions

write_results_rdp LightKrylov_IterativeSolvers Subroutine

Prints the intermediate results of iterative eigenvalue/singular value decompositions

write_results_rsp LightKrylov_IterativeSolvers Subroutine

Prints the intermediate results of iterative eigenvalue/singular value decompositions

zero_basis LightKrylov_AbstractVectors Interface

This interface provides methods to zero-out a collection of abstract_vector X. It is a simple wrapper around X(i)%zero().

Read more…