|
Doxygen
1.9.1
|

Files | |
| file | tsgLinearSolvers.hpp |
| Linear solvers. | |
Classes | |
| class | TasGrid::TasSparse::WaveletBasisMatrix |
| Used to manipulate the wavelet values and solve for the wavelet coefficients. More... | |
Functions | |
| void | TasGrid::TasmanianDenseSolver::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 | TasGrid::TasmanianFourierTransform::fast_fourier_transform (std::vector< std::vector< std::complex< double >>> &data, std::vector< int > &num_points) |
| Transfrom the data for a multi-dimensional tensor. More... | |
| void | TasGrid::TasmanianFourierTransform::fast_fourier_transform1D (std::vector< std::vector< std::complex< double >>> &data, std::vector< int > &indexes) |
| Perform one dimensional fast-fourier-transform (using radix-3). More... | |
| void TasGrid::TasmanianDenseSolver::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.
Solves
where A is an n by m matrix (column major format), and b and x are vectors with sizes n and m. The assumption here is that n is larger than m (the problem is over-determined) and A has full column rank. The use case is for the rates of anisotropic decay which never exceed twice the number of dimensions and are hence not too large and expensive.
| void TasGrid::TasmanianFourierTransform::fast_fourier_transform | ( | std::vector< std::vector< std::complex< double >>> & | data, |
| std::vector< int > & | num_points | ||
| ) |
Transfrom the data for a multi-dimensional tensor.
The num_points vector defines the number of points used by the tensor in different directions. The data holds the values for each point in the tensor, each point has a vector of values with size equal to the number of model outputs.
The data is split into one-dimensional lines and each is tackled with fast_fourier_transform1D()
| void TasGrid::TasmanianFourierTransform::fast_fourier_transform1D | ( | std::vector< std::vector< std::complex< double >>> & | data, |
| std::vector< int > & | indexes | ||
| ) |
Perform one dimensional fast-fourier-transform (using radix-3).
Consider the line which is a subset of data defined by indexes and perform the radix-3 fast-fourier-transform. Called from fast_fourier_transform().