felipez / eigenvalues Goto Github PK
View Code? Open in Web Editor NEWsymmetric matrices algorithms to compute eigenvalue/eigenvector pairs
License: Apache License 2.0
symmetric matrices algorithms to compute eigenvalue/eigenvector pairs
License: Apache License 2.0
Implement the Hermitian Lanczos algorithm
The search space matrix V
is doubled in each iteration, forcing a restart after just a few steps. Instead, if we add to the search space just the number of eigenpairs nvalues
we speedup the algorithm at the cos of some small precision in each iteration.
Once a given eigenvalue/eigenvector has converged it should be deflect to improve the convergence of the to other eigenvalues/eigenvectors see this paper
Use PyO3 to provide a Python interface for the library.
Use the residues computed during the convergency checking to compute the new correction
When I build and cargo run, I met the case that the computed is not equal to expected. I can repeat it once in several runs.
Computed eigenvalues:
┌ ┐
│ 265.16850862887065 │
│ 231.55356256737628 │
│ 200.46232307251603 │
└ ┘
Expected eigenvalues:
┌ ┐
│ 231.5535625673764 │
│ 199.51034256887814 │
│ 198.36444600986013 │
└ ┘
TODO:
Tell us what would be a nice feature to make the eigenvalues library even better!
Implement the solution for the general eigenvalue problem
Generate the orthonormal subspace different from the identity matrix when the diagonal values are not sorted.
Replace the call to the QR method by a modified Gram-Schmidt orthogonalization.
TODO:
The eigenvalues/eigenvectors pairs computed by nalgebra::linalg::SymmetricEigen
are not sorted
Allow the user to decide for the Davidson method if compute the lowest, highest or somewhere in the middle (close to a given value) eigenvalues.
Currently, only the lowest eigenvalues are computed.
TODO:
Generalized the algorithm to other numerical types
Call directly the nalgebra-lapack interface
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.