```Back to [[Stream Computing]]

* Introduction to KPM [#m3a92dbc]
-Performing simulations on [http://en.wikipedia.org/wiki/Lattice_model_(physics) lattice model system] is one of important methods to study the [http://en.wikipedia.org/wiki/Introduction_to_quantum_mechanics quantum] properties of matter for physicists. To perform the simulation, the physical lattice model firstly has to be converted to a matrix called [http://en.wikipedia.org/wiki/Hamiltonian_matrix Hamiltonian matrix] within which the quantum properties of the physical system is contained. Next, The Hamiltonian matrix has to be [http://en.wikipedia.org/wiki/Diagonalizable_matrix diagonalized] for studying the quantum properties like [http://en.wikipedia.org/wiki/Density_of_states density of states]. Actually, diagonalizing a matrix is the toughest part in the whole simulation because usually Hamiltonian matrix is extremely large. Kernel Polynomail Method(KPM) is one of approximation methods for this diagonalization problem.
-Performing simulations on [http://en.wikipedia.org/wiki/Lattice_model_(physics) lattice model system] is one of important methods to study the [http://en.wikipedia.org/wiki/Introduction_to_quantum_mechanics quantum] properties of matter for physicists. To perform the simulation, the physical lattice model firstly has to be converted to a matrix called [http://en.wikipedia.org/wiki/Hamiltonian_matrix Hamiltonian matrix] within which the quantum properties of the physical system is contained. Next, The Hamiltonian matrix has to be [http://en.wikipedia.org/wiki/Diagonalizable_matrix diagonalized] for studying the quantum properties like [http://en.wikipedia.org/wiki/Density_of_states density of states]. Actually, diagonalizing a matrix is the toughest part in the whole simulation because usually Hamiltonian matrix is extremely large.COLOR(red){Kernel Polynomail Method(KPM)} is one of approximation methods for this diagonalization problem.
* Program resources [#h528c229]

- CPU version

- GPU version
-- Full map method

-- Sliding window method

- Parallel Versions
-- GPU cluster
-- CPU cluster

#analog
```