Comments (7)
I have done some investigation of a few methods.
- Using blocks of vectors for the Lanczos method, instead of a single vector. This is useful if we want to calculate offdiagonal elements in the Greens function. Numerically, this increases stability a bit as well.
- Partial reorthogonalization is probably the best compromise between computational cost and numerical accuracy, link to old paper
- Full reorthogonalization is easy to implement, but veeeery computationally expensive.
In general, all methods that adds some orthogonalization-step to the method will require that we save all the Krylov vectors we generate. This increases the memory footprint of the calculation quite a bit. In my experience, the Greens function does not converge faster when we add orthogonalization. I have not actually looked at the numerical accuracy of the resulting Greens function though.
from impuritymodel.
Restarting the algorithm after a certain number of iterations seems to be a popular approach, e.g. Thick-Restart Lanczos method: https://zenodo.org/records/1236144
from impuritymodel.
Not sure how big this issue is.
from impuritymodel.
No, I am not sure that this will actually help with calculating the Greens function. The restarted methods work by focusing on certain eigenvalues/eigenvectors. If what you want is just certain eigenvalues/eigenvectors this is great, but for the Greens function to converge quickly, what eigenvalues should we focus on?
from impuritymodel.
I don't know. Perhaps it's not suitable for calculating Green's functions.
from impuritymodel.
The way we calculate Greens functions relies on the tridiagonalization of the Hamiltonian. With restarted methods I think we replace the tridiagonal structure with something different, but maybe there is a clever way to calculate the Greens function (we only need one element of the inverse of the Hamiltonian).
from impuritymodel.
When I quickly read about restarted methods I agree it does seem the matrix is not tridiagonal. So probably the three implementation ideas you outlined above are more promising.
from impuritymodel.
Related Issues (11)
- Magnetic field issue HOT 1
- Add unit-testing with github actions HOT 1
- Add strict flake8 in github action HOT 2
- Provide input parameters to python scripts more in terms of files HOT 1
- Speedup by using Cython or Numba when calculating matrix elements HOT 1
- choose verbosity and use default verbose flag to be zero
- update python packages in requirements.in HOT 1
- Fix sphinx warnings HOT 1
- create and remove using integer representation do not need to go through string representation HOT 2
- Suggestion: Use the int representation of a product state in the calculations instead of the bytes/bitarray representation HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from impuritymodel.