//================================================================================================== /* ROTGEN - Runtime Overlay for Eigen Copyright : CODE RECKONS SPDX-License-Identifier: BSL-1.0 */ //================================================================================================== #include "unit/tests.hpp" #include TTS_CASE_TPL("System solver using QR", rotgen::tests::types)( tts::type>) { rotgen::matrix a{{2.3, -1, 0.1}, {-1.6, 2.6, -1}, {0.3, -1, 2}}; rotgen::matrix b(3, 1); b(0) = b(2) = 1; b(1) = 0; rotgen::matrix r(3, 1), error; auto x = rotgen::extract(r, 0, 0, 3, 1); rotgen::solver::qr(x, a, b); error = a * r - b; auto eps = std::numeric_limits::epsilon(); TTS_LESS(rotgen::maxCoeff(rotgen::abs(error)) / eps, 5) << "Result:\n" << r << "\n" << "Residuals:\n" << error << "\n"; };