Algorithm classification

Jump to navigation Jump to search
Main page

Problems, methods, algorithms and implementations are grouped by subject. Click a triangle to expand a branch; a linked name opens its article.

P ProblemM MethodA AlgorithmI ImplementationAbout classification levelsAn architecture with * occurs in a descendant; without * it is assigned directly. A dash means no data.
ContentsGPUMPPSMPVEC
Linear algebra problems————
Matrix and vector operations————
Vector operations————
Matrix-vector operations————
Multiplying a nonsingular matrix by a vector————
Multiplying a matrix of special form by a vector————
Fourier transform————
Fast Fourier transform for composite dimension————
Fast Fourier transform for composite dimension with small prime divisors (2,3,5,7)————
MFast Fourier transform for powers-of-two————
Fast Fourier transform for even powers-of-two————
ACooley–Tukey Fast Fourier Transform, radix-2 case————
Fast Fourier transform for prime dimension————
Matrix operations————
Matrix decompositions————
Available triangular decompositions for matrices of special form————
Unitary non-similarity reductions to compact forms————
Unitary reduction to bidiagonal form————
Singular value decomposition————
PSingular value decomposition (finding singular values and singular vectors)————
Methods for calculating singular values of bidiagonal matrices————
The dqds algorithm for calculating singular values of bidiagonal matrices————
QR algorithm as applied to singular value decomposition алгоритм————
MJacobi (rotations) method for finding singular values————
Serial Jacobi (rotations) method for finding singular values————
Jacobi method with a special choice of rotations for finding singular values————
PTriangular decompositions————
PUnitary-triangular factorizations————
PReducing matrices to compact forms————
PUnitary reductions to Hessenberg form————
Givens (rotations) method for reducing a matrix to Hessenberg form————
Classical point-wise Givens (rotations) method for reducing a matrix to Hessenberg form————
MHouseholder (reflections) method for reducing of a matrix to Hessenberg form————
PUnitary reductions to tridiagonal form————
PEigenvalue decomposition (finding eigenvalues and eigenvectors)————
Lanczos algorithm————
MQR algorithm————
MThe Jacobi (rotations) method for solving the symmetric eigenvalue problem————
Solving systems of linear algebraic equations————
Direct methods————
Matrices of a special form————
Triangular matrices————
Bidiagonal matrices————
Forward and backward substitution for bidiagonal matrices————
Serial-parallel variant of the backward substitution————
AForward substitution————
ABackward substitution————
Methods for solving block triangular matrices————
Block forward substitution (real version)————
Block backward substitution (real version)————
Methods for solving block bidiagonal matrices————
Forward and backward substitution for block bidiagonal matrices————
Stone doubling algorithm for solving block bidiagonal matrices————
Serial-parallel variant of the block backward substitution for solving block bidiagonal matrices————
Methods for solving block tridiagonal matrices————
Methods based on the conventional LU decomposition————
Serial-parallel method for solving block systems of linear algebraic equations based on the LU decomposition and backward substitutions————
ABlock Thomas algorithm————
Other methods————
Block cyclic reduction————
Block bordering method————
PMethods for solving tridiagonal SLAEs————
Methods based on the conventional LU decomposition————
Other methods————
Reduction method————
Complete reduction method————
Reduction method repeated for a new right-hand side————
Two-sided Thomas algorithm————
Cyclic reduction————
Cyclic reduction repeated for a new right-hand side————
AComplete cyclic reduction————
Bordering method————
Solving systems of linear algebraic equations with coefficient matrices of special form whose inverses are known————
ALinpack benchmark————
ILinpack, locality————
ILinpack, HPL————
Iterative methods for solving systems of linear algebraic equations————
Solving eigenvalue problems————
Partial eigenvalue problem————
Method of bisection————
PEigenvalue decomposition (finding eigenvalues and eigenvectors)————
Lanczos algorithm————
MQR algorithm————
MThe Jacobi (rotations) method for solving the symmetric eigenvalue problem————
PSingular value decomposition (finding singular values and singular vectors)————
Methods for calculating singular values of bidiagonal matrices————
The dqds algorithm for calculating singular values of bidiagonal matrices————
QR algorithm as applied to singular value decomposition алгоритм————
MJacobi (rotations) method for finding singular values————
Serial Jacobi (rotations) method for finding singular values————
Jacobi method with a special choice of rotations for finding singular values————
Algebra of polynomials————
AHorners method————
IHorners, locality————
Algorithms on lists and arraysGPU*MPP*SMP*—
Search algorithms————
Sorting algorithms————
Binary tree sort————
Bubble sort————
Merge sort (serial and parallel variants)————
Graph algorithmsGPU*MPP*SMP*—
Graph traversalGPU*MPP*SMP*—
ABreadth-first search (BFS)GPUMPPSMP—
IBFS, MPI, Graph500————
IBFS, RCC for CPU————
IBFS, RCC for GPU————
IBFS, GAP————
IBFS, Java, WebGraph————
IBFS, Ligra————
IBFS, Python, NetworkX————
IBFS, VGL————
ADepth-first search (DFS)————
Betweenness centrality algorithm————
PSingle Source Shortest Path (SSSP)GPU*MPP*SMP*—
PAll Pairs Shortest Path (APSP)————
PTransitive closure of a directed graph————
PConstruction of the minimum spanning tree (MST)————
PSearch for isomorphic subgraphs————
PGraph connectivity————
PFinding maximal flow in a transportation network————
PAssignment problem————
AHungarian algorithm————
AAuction algorithm————
AHopcroft–Karp algorithm————
ALongest shortest path————
Computational geometry————
Finding the diameter of a point set————
Finding the convex hull of a point set————
Delaunay triangulation————
Voronoi diagram————
Point-in-polygon problem————
Convex polygon intersection————
Star-shaped polygon intersection————
Computer graphics————
Line drawing algorithms: Approximating a line segment on discrete graphical media————
Determining visible parts of a three-dimensional scene————
Ray tracing: Rendering realistic images————
Global illumination: Regarding direct illumination and reflection from other objects————
Computer analysis and modeling————
Computer benchmarks————
ALinpack benchmark————
ILinpack, locality————
ILinpack, HPL————
AHigh Performance Conjugate Gradient (HPCG) benchmark————
IHPCG, locality————
IHPCG, scalability————
Algorithms of quantum system simulation————
Algorithms of quantum computation simulation————
Machine learning algorithms————
Neural networks————
Pattern recognition————
Text recognition————
Speech recognition————
AFace recognition————
Game theory algorithms————
Ak-means clustering————
Miscellaneous applied problems————
Optimization algorithms————
Linear programming————
Simplex algorithm————
Branch and bound method————
Genetic algorithms————
Ant colony algorithms————
Hybrid algorithms————
AStochastic dual dynamic programming (SDDP)————
ISDDP, scalability————
Solving systems of nonlinear equations————
Numerical quadrature————
Algorithms for solving equations of mathematical physics————
PAlgorithms on Internet pages————
PRanking of web pages————
AHITS (Hyperlink Induced Topic Search)————
IHITS, VGL————
APageRank————
IPageRank, VGL————
Cryptographic algorithms————
Other algorithms————