Eigs implementation + validated tests for real matrices.
svds implementation + tests validated for real matrices.
GMRES implementation + validated tests for all real/cmplx types.
SPD/Hermitian linop + Conjugate Gradient + tests.
Added basic operations on arrays of abstract_vectors.
Added Schur factorization.
Added schur / ordschur lapack wrappers.
Added adjoint of linear operator.
Added Id operator, alphaA operator and alphaA + beta*B operator.
Misc.
Changed the definition of abstract_spd_linop to abstract_sym_linop.
Added lanczos_tridiagonalization + tests.
Added eighs for symmetric/hermitian operators (+ some clean-up).
Fixed issue with linear_combination_matrix_*
Fixed missing allocation in schur for real types.
Krylov-Schur restarting procedure for arnoldi.
Tests for Krylov-Schur.
Added Krylov-Schur restart capability to eigs.
Fixed missing initialization for in .
.
Remove matrix output in test.
Fix residuals allocation in .
Updated the ginzburg-landau example to use complex types.
Implemented the dense matrix exponential.
Implementation of the Krylov exponential.
Changed to relative tolerance.
Added Simon as co-developper + version beta 0.1.0
Started to update documentation.
Made comments consistent with FORD.
Fixed missing definition in put_data_vec_basis.
Added permutation/inverse permutation for arrays.
Changes following stdlib update.
Added kexpm_mat (albeit not working).
made comments consistent with rest of toolbox (FORD style)
Changed intent in abstract_exptA_xxx interfaces to "inout" to allow the integration time to be set in an external propagator
fixed typo in fypp scripts.
add sqrtm function
add zero_basis function
added forgotten export of zero_basis
Fixed typo and added diag import from stdlib_linalg
Export abstract_preconditioner.
Export abstract_precond.
Made apply public in precond.
export zero_basis
added sqrtm for hermitian pos. def. matrices
eigh -> eig for complex sqrtm
Changed integer(int_size) to integer for sorting following stdlib update.
changed QR default verbosity to false
Added test for real/complex matrix sqrt
Streamlined fypp code for sqrtm (real/complex). Added sqrtm testsuites. Completed missing error handling and output for eig routines.
Add missing v = transpose(conjg(vt)) in Utils/svd
Implemented rudimentary logging via stdlib_logger
Resolved conflicts + regenerated .f90 files from .fypp ones.
successful exit only written to debug log
added module name parameter
add module name parameter
Revert "successful exit only written to debug log"
Revert "add module name parameter"
success logged only in debug mode
add module name as private variable for logging
set inout on linop argument for k_exptA
added innerprod_vector. Changed the interface for consistency. BREAKING CHANGE!
Added orthonormalisation routines for vectors and bases sp/dp/csp/cdp. Routines not yet deployed to QR etc.
Improved error handling for orthonormalization
moved one/zero defs to Constants
included EVP tests again
Corrected miscellaneous error message and added eighs
fixed typos and added one/zero
fixed typo in error string
typo
added zero/one, suggestion for eigvec tests
added zero/one
added one/zero (apart from TestVectors). Uniformization of fypp.
Added assert variation for vectors
Added error handling for orthogonalization routine
Refactoring of orthogonalization routines & deployment in QR, Arnoldi, Lanczos iterations.
Cleanup
deployed new orthogonalization routines
fixed typo
Homogenized code
Streamlined Tests to reduce the number of solves.
Added basis orthonormality test for QR
Added eigenvector checks for eigenvalue solvers and svd, including orthonormality checks where appropriate.
Logger.f90: added logging for orthonormality check within orthonormalize_against_basis and for double_gram_schmidt_step.
Basekrylov.f90: Added double_gram_schmidt_step and deployed it with logging. Replaces update_hessenberg_matrix. Added optional orthonormality check in orthogonalize_against_basis. Set this check to false in all performance-critical routines in the core. IterativeSolvers.f90: Deployed double_gram_schmidt_step. Deployed orthonormalize_against_basis.
Replaced in-house lapack wrapper for lstsq by stdlib implementation.
Make use of in for redibility sake.
Cleaned-up gmres implementation a bit.
Changed from intent(out) to intent(inout) in to allow for non-zero initial guess.
abstract_spd_linop
toabstract_sym_linop
.lanczos_tridiagonalization
+ tests.eighs
for symmetric/hermitian operators (+ some clean-up).linear_combination_matrix_*
schur
for real types.arnoldi
.eigs
.innerprod_vector
. Changed the interface for consistency. BREAKING CHANGE!