Doxygen
1.9.1
|
Methods for dense linear algebra. More...
Functions | |
void | solveLeastSquares (int n, int m, const double A[], double b[], double *x) |
Least squares solver, used to infer anisotropic coefficients and thus rarely exceeds 10 - 20. More... | |
void | solveLeastSquares (AccelerationContext const *acceleration, int n, int m, double A[], double b[], double *x) |
The same solver, but uses LAPACK dgels method (if enabled). | |
template<typename scalar_type > | |
void | solvesLeastSquares (AccelerationContext const *acceleration, int n, int m, scalar_type A[], int nrhs, scalar_type B[]) |
Least squares solver, operates on multiple right-hand sides and row-major matrices. More... | |
template<typename scalar_type > | |
void | solvesLeastSquaresGPU (AccelerationContext const *acceleration, int n, int m, scalar_type A[], int nrhs, scalar_type B[]) |
Overload that accepts arrays on the GPU device. | |
Methods for dense linear algebra.
Most of these build on BLAS and LAPACK, but some come with basic reference implementations. For example, the general least-squares is used with a single right-hand-size and size of x of 10 - 20, hence a reference solution is sufficient.
void TasGrid::TasmanianDenseSolver::solvesLeastSquares | ( | AccelerationContext const * | acceleration, |
int | n, | ||
int | m, | ||
scalar_type | A[], | ||
int | nrhs, | ||
scalar_type | B[] | ||
) |
Least squares solver, operates on multiple right-hand sides and row-major matrices.
Solves where A is an n by m matrix (row major format), B is n by nrhs. The main difference in this overload is that the matrices are row-major format.