Procedures

ProcedureLocationProcedure TypeDescription
apply_inverse_permutation_matrix LightKrylov_BaseKrylov Interface

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

Read more…
apply_permutation_matrix LightKrylov_BaseKrylov Interface

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

Read more…
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 that the shape of its input vector or matrix is the expected shape. 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…
cg_cdp LightKrylov_IterativeSolvers Subroutine
cg_csp LightKrylov_IterativeSolvers Subroutine
cg_rdp LightKrylov_IterativeSolvers Subroutine
cg_rsp LightKrylov_IterativeSolvers Subroutine
constant_atol_dp LightKrylov_NewtonKrylov Subroutine

Abstract interface to define tolerance scheduler for the Newton iteration

constant_atol_sp LightKrylov_NewtonKrylov Subroutine

Abstract interface to define 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…
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

Abstract interface to define tolerance scheduler for the Newton iteration

dynamic_tol_sp LightKrylov_NewtonKrylov Subroutine

Abstract interface to define tolerance scheduler for the Newton iteration

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_ExpmLib Interface

Evaluate the exponential of a dense matrix using Pade approximations.

Read more…
get_comm_size LightKrylov_Constants Function

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

get_rank LightKrylov_Constants Function

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

gmres LightKrylov_IterativeSolvers Interface

Solve a square linear system of equations

Read more…
gmres_cdp LightKrylov_IterativeSolvers Subroutine
gmres_csp LightKrylov_IterativeSolvers Subroutine
gmres_rdp LightKrylov_IterativeSolvers Subroutine
gmres_rsp LightKrylov_IterativeSolvers Subroutine
greetings LightKrylov Subroutine
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…
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…
k_exptA LightKrylov_ExpmLib Interface

Utility function to evaluate the matrix-exponential times vector.

Read more…
kexpm LightKrylov_ExpmLib Interface

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

Read more…
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…
log2 LightKrylov_utils Interface

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

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…
norml LightKrylov_utils Interface

This interface provides methods to compute the infinity norm of a matrix. Note that it'll eventually be superseeded by the stdlib implementation.

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…
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…
save_eigenspectrum LightKrylov_IterativeSolvers Interface

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

Read more…
schur LightKrylov_utils Interface

Computes the Schur factorization of a general square matrix.

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.

sqrtm LightKrylov_utils Interface

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

Read more…
sqrtm_eig LightKrylov_utils Interface

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

Read more…
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…
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…