The object-oriented framework **Rts** contains a “plug and play” collection of models and methods, meaning you can introduce new models and methods without changing the existing framework. This page discusses the algorithms, and you find the corresponding C++ code under **Rts**. It is perhaps fun to observe how algorithms play an increasingly large role in our moden society. Elon Musk suggests that artificial intelligence algorithms could become a danger to the public. Yuval Noah Hari discusses the role of algorithms, including the ones in your brain, in the book Homo Deus. The joke that the word “algorithm” stems from Al Gore is not true, although he promoted the public use of ARPANET, which is now the Internet. Rather, the word algorithm stems from the Persian mathematician Muhammad bin Musa al-Khwarizmi who was born in 780 and worked at the House of Wisdom in Baghdad. Euclid’s Algorithm, probably the earliest known algorithm, is from before that time and attributed to Euclid, born in 335 BC. He devised an algorithm, i.e., systematic approach, for determining the greatest common divisor of two integers. Nowadays algorithms are implemented on the computer. In our research group we use the C++ language together with the cross-platform tool called Qt. In addition to the material posted below and the C++ classes posted under **Rts**, here is some rudimentary information on getting started with C++ and Qt and a brief note on C++ programming.

- OPTIMIZATION ALGORITHMS
- Note: Downhill Simplex Algorithm
- Note: Directional Line Search Algorithm
- Code: RDownhillSimplexOptimizationAlgorithm.cpp
- Code: RDirectionalLineSearchOptimizationAlgorithm.cpp
- Code: RSteepestDescentSearchDirection.cpp
- Code: RConjugateGradientSearchDirection.cpp
- Code: RQuasiNewtonSearchDirection.cpp
- Code: RHLRFSearchDirection.cpp

- LINE SEARCH ALGORITHMS
- Note: Bisection Algorithm
- Note: 1D Newton-Raphson Algorithm
- Note: Secant Algorithm
- Note: Golden Section Algorithm
- Code: RBisectionLineSearchAlgorithm.cpp
- Code: RNewtonLineSearchAlgorithm.cpp
- Code: RSecantLineSearchAlgorithm.cpp
- Code: RGoldenSectionLineSearchAlgorithm.cpp

- DECOMPOSITIONS
- Note: Cholesky Decomposition
- Note: LU Decomposition
- Code: RBasicCholeskyDecomposition.cpp

- LINEAR SOLVERS
- Note: Determinant and Matrix Inversion
- Note: Decomposition and Substitution
- Base class: RLinearSolver.h / RLinearSolver.cpp
- Code: RMatrixInverseLinearSolver.h / RMatrixInverseLinearSolver.cpp
- Code: RCholeskyLinearSolver.h / RCholeskyLinearSolver.cpp
- Code: RGaussJordanLinearSolver.h / RGaussJordanLinearSolver.cpp
- Code: RLULinearSolver.h / RLULinearSolver.cpp
- Code: RQRLinearSolver.h / RQRLinearSolver.cpp

- AUXILIARY ALGORITHMS
- Matrix operations
- Probability distributions
- Spherical geometry