33 throw std::runtime_error(
"Differernt number of rows in basis functions that in data points in LinearFit.");
37 for (
int j = 0; j < M; j++)
38 for (
int k = 0; k < M; k++)
39 for (
int i = 0; i <
N; i++)
40 alpha(k, j) +=
A(i, j) *
A(i, k);
42 std::vector<T> beta(M, 0.0);
43 for (
int k = 0; k < M; k++)
44 for (
int i = 0; i <
N; i++)
45 beta[k] += y[i] *
A(i, k);
48 for (
int i = 0; i < M; i++)
49 for (
int j = 0; j < M; j++)
50 coefs[i] += alpha(i, j) * beta[j];
MatrixA::value_type invert_matrix(MatrixA &M, bool getdet=true)
invert a matrix
helper functions for EinsplineSetBuilder
Define determinant operators.
void LinearFit(std::vector< T > &y, Matrix< T > &A, std::vector< T > &coefs)