fmmtl is a structured dense matrix algorithms library which aids in the research, development, and use of advanced methods for systems of equations of the form:
where
is the kernel generating the elements of the matrix,
are the sources of the kernel,
are the charges of the sources,
are the targets of the kernel (which may be equivalent to the sources),
are the results.
This is a kernel-matrix equation. Matrices of this form can be found in a wide variety of fields include physics, statistics, and machine learning. Methods for accelerating matrix-vector products and direct solutions of systems of this form often take advantage of a (often heirarchically) low-rank representation of the kernel, K.
This library intends to collect kernels and their low-rank expansions and provide fast, abstracted algorithms for working with any of them.
Primary Authors:
- Cris Cecka (ccecka@seas.harvard.edu)
- Simon Layton
Contributors:
- Christopher Cooper
- Aparna Chandramowlishwaran
- Esmail Fadae, Brian Bresnahan
Dependencies:
- g++ 4.7 or higher.
- Thrust Header Library. (Tested with version 1.8)
- Experimental: FLENS Header Library. (Extended with CUBLAS/CUSOLVER support)
Optional:
- CUDA 5.5+ for GPU acceleration.
Building:
- Edit Makefile.inc to edit paths
- Enter unit_tests/ or examples/
- 'make'