lanczos 0.2.0

lanczos algorithm for eigen decomposition
Documentation

Eigen decomposition of Hermitian matrices using Lanczos algorithm

Overview

Using Lanczos algorithm to estimate the extremal Eigen values and Eigen vectors of an Symmetrics Hermitian matrix.

Supports both dense and sparse matrices via nalgebra_sparse.

Works well for large sparse matrices

cargo add lanczos

Examples

use nalgebra::DMatrix;
use lanczos::{Hermitian, Order};

// ...
let eigen = matrix.eigsh(50, Order::Smallest);

// Sorted by eigenvalue in ascending order
eprintln!("{}", eigen.eigenvalues);
// Columns sorted according to eigenvalues
eprintln!("{}", eigen.eigenvectors);

// Second smallest eigen value
eprintln!("{}", eigen.eigenvalues[1]);
// Eigen vector corresponding to the second smallest eigen value
eprintln!("{}", eigen.eigenvectors.column(1));