Source: tests/dense/QRSolver.cpp
24 #include <tests/myratest.h> 28 ADD_TEST(
"dQRSolver",
"[dense][solver]")
41 myra::out() <<
"A = " << A << std::endl;
42 myra::out() <<
"b = " << b << std::endl;
45 auto x = solver.
solve(b);
46 myra::out() <<
"x = " << x << std::endl;
49 double error = euclidean(r-x);
50 myra::out() <<
"error = " << error << std::endl;
51 REQUIRE(error < 1.0e-12);
static Vector< Number > fill(int N, Number c)
Generates a Vector of specified size filled with constant c.
Definition: Vector.cpp:288
Routines for computing euclidean norm of a Vector/VectorRange, or normalizing a Vector/VectorRange to...
Factors a square matrix A into Q*R, presents solve methods.
Definition: QRSolver.h:31
Solves full-rank least squares problems, argmin x |A*x-b|, where A.I >= A.J (tall/skinny).
Tabulates an IxJ matrix. Allows random access, has column major layout to be compatible with BLAS/LAP...
Definition: bdsqr.h:20
Various utility functions/classes related to scalar Number types.
General purpose dense matrix container, O(i*j) storage.
Container for either a column vector or row vector (depends upon the usage context) ...
MatrixRange< Number > solve(const MatrixRange< Number > &B) const
Solves A*X=B in the least squares sense, each column independently.
Definition: QRSolver.cpp:66
Variety of routines all for dense Matrix*Matrix multiplies. Delegates to the BLAS.
Results: [PASS]
A = size 4 by 3 Matrix of double:
[ 1 1 1 ]
[ 1 2 4 ]
[ 1 3 9 ]
[ 1 4 16 ]
b = size 4 Vector of double:
[ 1 1.5 3 6 ]
x = size 3 Vector of double:
[ 1.875 -1.475 0.625 ]
error = 5.6436e-15
Go back to Summary of /test programs.